LoginSignup
2
0

More than 5 years have passed since last update.

MultipeerConnectivityを使用した接続でserviceTypeに数値のみを設定するとクラッシュする

Posted at

結論

設定できる条件は以下

  • 1文字以上、15文字以内
  • 使えるのは英数字とハイフン('a'-'z','A'-'Z','0'-'9','-')
  • 少なくとも1つの文字を含まなければならない('a'-'z','A'-'Z')
  • ハイフンで始まり or 終わりは不可
  • 連続したハイフンは不可

なぜ?

RFCによって定められています

数字だけを使うとどうなる?

実行時にクラッシュします😱

受信側.swift
let peer = MCPeerID(displayName: "MyDisplayName")
// 以下でクラッシュ
let nearbyAdvertiser = MCNearbyServiceAdvertiser(peer: peer, discoveryInfo: nil, serviceType: "111111")
送信側
let peer = MCPeerID(displayName: "MyDisplayName")
// 以下でクラッシュ
let nearbyBrowser = MCNearbyServiceBrowser(peer: peer, serviceType: "11111")

このように送信側、送信側どちらもクラッシュしてしまいます

最後に

serviceTypeを設定する際には気をつけましょう

2
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
0