1
當我試圖傳遞器件UDID +設備名稱,我收到下面碰撞無效的displayName傳遞給MCPeerID
終止應用程序由於未捕獲的異常「NSInvalidArgumentException」,原因:「無效的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