无效的displayName传递给MCPeerID
问题描述:
当我试图传递器件UDID +设备名称,我收到下面碰撞无效的displayName传递给MCPeerID
终止应用程序由于未捕获的异常“NSInvalidArgumentException”,原因:“无效的displayName传递给MCPeerID”
答
init(displayName myDisplayName: String)
的最大人使用UTF-8编码的可下载长度为63字节。
displayName参数可能不是无或空字符串。
此方法,如果的displayName值太长, 空,或零抛出异常。
在你的情况,你是路过udid + device name
这是超过最大允许即63个字节(63个字符)
极限,将抛出一个异常说:
终止应用程序由于未捕获的异常 'NSInvalidArgumentException',原因:'无效的displayName传递给 MCPeerID
只是为了调试:
打印lengthOfBytes
您udid + device name
通过它在init(displayName myDisplayName: String)
之前肯定会超过允许的极限。
print((UIDevice.current.name+udid).lengthOfBytes(using: String.Encoding.utf8))
哪里是代码? – Bilal