Xcode 8.3.2 切换设备时崩溃

Xcode 8.3.2 Crashes when switching devices

当我从通用设备切换到 iphone 时,xcode 意外退出。我试过打开其他项目(旧的和新的),但我得到了同样的错误。我在更新到8.3.2

之前完全没有这个错误

堆栈跟踪:

Application Specific Information:
MainQueue: -[IDEProvisioningManager _performStateUpdateOnMainThreadForRepairable:updateBlock:]_block_invoke_2
ProductBuildVersion: 8E2002
ASSERTION FAILURE in /Library/Caches/com.apple.xbs/Sources/IDEFrameworks/IDEFrameworks-12175/IDEFoundation/Provisioning/Mechanic/UserActions/IDEProvisioningUserAction.m:125
Details:  method -[IDEProvisioningUserAction userActionName] is a responsibility of subclasses of IDEProvisioningPermissionsFailureUserAction
Object:   <IDEProvisioningPermissionsFailureUserAction: 0x7fed55a409d0>
Method:   -userActionName
Thread:   <NSThread: 0x7fed4f516d60>{number = 1, name = main}
Hints:   

Backtrace:
  0   -[IDEAssertionHandler handleFailureInMethod:object:fileName:lineNumber:assertionSignature:messageFormat:arguments:] (in IDEKit)
  1   _DVTAssertionHandler (in DVTFoundation)
  2   _DVTAssertionFailureHandler (in DVTFoundation)
  3   -[IDEProvisioningUserAction userActionName] (in IDEFoundation)
  4   -[IDEProvisioningRepairStateInfo setWaitingForUserAction:] (in IDEFoundation)
  5   ___DVTAsyncPerformBlockOnMainRunLoop_block_invoke (in DVTFoundation)
  6   __CFRUNLOOP_IS_CALLING_OUT_TO_A_BLOCK__ (in CoreFoundation)
  7   __CFRunLoopDoBlocks (in CoreFoundation)
  8   __CFRunLoopRun (in CoreFoundation)
  9   CFRunLoopRunSpecific (in CoreFoundation)
 10   RunCurrentEventLoopInMode (in HIToolbox)
 11   ReceiveNextEventCommon (in HIToolbox)
 12   _BlockUntilNextEventMatchingListInModeWithFilter (in HIToolbox)
 13   _DPSNextEvent (in AppKit)
 14   -[NSApplication(NSEvent) _nextEventMatchingEventMask:untilDate:inMode:dequeue:] (in AppKit)
 15   -[DVTApplication nextEventMatchingMask:untilDate:inMode:dequeue:] (in DVTKit)
 16   -[NSApplication run] (in AppKit)
 17   NSApplicationMain (in AppKit)
 18   start (in libdyld.dylib)

abort() called

Xcode 由于 Apple 证书中的权限不足而无法将设备的 UDID 添加到证书本身(它并没有简单地说)而崩溃。 如果你有苹果证书的管理员权限或者苹果设备的UDID已经添加到苹果证书中,就不会发生这个错误。我仍然不知道为什么我的个人开发人员 "Team" 仍然导致 Xcode 崩溃,因为它与苹果证书无关。

这个问题的两种解决方案:

  1. 只需给自己(开发者帐户)管理员权限到苹果证书(它会自动将您的 UDID 添加到证书中)
  2. 请苹果证书管理员将苹果设备的UDID简单添加到证书中

获取设备的 UDID 或标识符: 在 Xcode 菜单栏中,单击 Window > 设备,然后单击 select 您的苹果设备,您应该会看到 "Identifier: XXXXXXXXXXXXX" 或 UDID