初めてiosのアプリを開発しているのですが、
bluetoothを使って対戦機能をつけようと思いググったところgamekitのフレームワークを使うと簡単とのことで、サイトを参考にコードを書きました。object-cでの書き方しか見当たらず、自力でswiftに変換したところ、エラーが多数出てしまい。ググっても出てこないため困っています。
swift
1// VSViewController.swift 2import UIKit 3import GameKit 4 5class VSViewController: UIViewController{ 6 override func viewDidLoad() { 7 super.viewDidLoad() 8 } 9 10 override func didReceiveMemoryWarning() { 11 super.didReceiveMemoryWarning() 12 } 13 14 15 @IBAction func connect(sender: AnyObject) { 16 var picker = peerPickerController() 17 picker.delegate = self 18 picker.connectionTypesMask = GKPeerPickerConnectionTypeNearby 19 picker.show() 20 } 21 22 func peerPickerController(picker: GKPeerPickerController, didConnectPeer peerID: String, toSession session: GKSession) { 23 self.peerID = peerID 24 self.session = session 25 session.delegate = self 26 session.setDataReceiveHandler(self, withContext: nil) 27 picker.delegate = nil 28 picker.dismiss() 29 picker 30 } 31 32 @IBAction func sendText(sender: AnyObject) { 33 var data = self.sendText.text?.data(using: String.Encoding.utf8) 34 var error = nil 35 self.session.sendData(data, toPeers: NSArray.arrayWithObject(self.peerID), withDataMode: GKSendDataReliable, error: &error) 36 if error { 37 print("\(error)") 38 } 39 self.sendText.text = "" 40 } 41 42 func receiveData(data: NSData, fromPeer peer: String, inSession session: GKSession, context: Void) { 43 var msg = NSString(data: data as Data, encoding: String.Encoding.utf8.rawValue) 44 var text = self.textView.text.appendingFormat("%@\n", msg!) 45 self.textView.text = text 46 } 47 48 @IBOutlet weak var sendText: UITextField! 49 @IBOutlet weak var textView: UITextView! 50 51}
エラー
- Use of unresolved identifier 'GKPeerPickerConnectionTypeNearby' - 'GKPeerPickerController' is unavailable: Use MCBrowserViewController from the MultipeerConnectivity framework - 'GKSession' is unavailable: Use MCSession from the MultipeerConnectivity framework instead - Value of type 'VSViewController' has no member 'peerID' - 'nil' requires a contextual type - Use of unresolved identifier 'GKSendDataReliable' - 'GKSession' is unavailable: Use MCSession from the MultipeerConnectivity framework instead
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2016/11/26 08:27