Multipeer Connectivity:无效的服务类型

Vik*_*ngh 10 ios multipeer-connectivity swift ios8

我正在尝试使用Multipeer Connectivity框架,但在尝试使用serviceType实例化MCNeaarbyServiceBrowser时遇到了崩溃.

以下是代码:

    private func setUpSession() {
    self.session = MCSession(peer: self.peerId);
    self.session!.delegate = self;

    self.browser = MCNearbyServiceBrowser(peer: self.peerId, serviceType: "stc-classroom-vik");
    self.browser!.delegate =  self;

    self.advertiser = MCNearbyServiceAdvertiser(peer: self.peerId, discoveryInfo: nil, serviceType: "stc-classroom-vik");
    self.advertiser!.delegate = self;
}
Run Code Online (Sandbox Code Playgroud)

这是我得到的崩溃/错误:

2014-08-15 12:24:42.689 Xavier[614:254319] *** Terminating app due to uncaught exception     'NSInvalidArgumentException', reason: 'Invalid serviceType passed to MCNearbyServiceBrowser'
Run Code Online (Sandbox Code Playgroud)

我真的很感激任何帮助.

Nat*_*ook 25

我相信你只允许在serviceType参数字符串中使用一个连字符,并且它必须是15个字符或更少.你的有两个连字符和17个字符.

来自以下评论MCNearbyServiceBrowser():

serviceType参数是一个短文本字符串,用于描述应用程序的网络协议.它的格式应与Bonjour服务类型相同:最多15个字符,有效字符包括ASCII小写字母,数字和连字符.建议使用与不相关服务区别开来的简短名称; 例如,ABC公司制作的文本聊天应用程序可以使用服务类型"abc-txtchat".