当我尝试传递设备 udid + 设备名称时,我收到以下崩溃
由于未捕获的异常“NSInvalidArgumentException”而终止应用程序,原因:“传递给 MCPeerID 的 displayName 无效”
当我尝试传递设备 udid + 设备名称时,我收到以下崩溃
由于未捕获的异常“NSInvalidArgumentException”而终止应用程序,原因:“传递给 MCPeerID 的 displayName 无效”
init(displayName myDisplayName: String)
来自苹果文档:
UTF-8 编码中允许的最大长度为63 个字节。
displayName 参数不能为nil或空字符串。
如果displayName值太长、为空或 nil,此方法将引发异常。
在您的情况下,您通过udid + device name
的超出了允许的限制,即63 个字节(63 个字符)
并会抛出一个异常说:
由于未捕获的异常“NSInvalidArgumentException”而终止应用程序,原因:“传递给 MCPeerID 的 displayName 无效
只是为了调试:
在传递之前lengthOfBytes
为您打印肯定会超过允许的限制。udid + device name
init(displayName myDisplayName: String)
print((UIDevice.current.name+udid).lengthOfBytes(using: String.Encoding.utf8))