Xcode 11.2和11.2.1 GM SEED-无法安装到设备

时间:2019-11-11 18:10:38

标签: xcode macos-catalina maccatalyst

我有一个在 Xcode 11.1 下开发的 Xcode Catalyst / SwiftUI 项目。在11.1下,一切正常。

当我升级到 Xcode 11.2 时,我开始收到错误消息:

Unable to Install "App_Name"

(其中“ App_Name”是我的实际应用的名称。)

如果我单击详细信息,则会显示以下内容:

Details

Unable to install "APP_Name"
Domain: com.apple.dtdevicekit
Code: -402620394
--
The executable was signed with invalid entitlements.
Domain: com.apple.dtdevicekit
Code: -402620394
Failure Reason: The entitlements specified in your application’s Code Signing Entitlements file are invalid, not permitted, or do not match those specified in your provisioning profile. (0xE8008016).
User Info: {
DVTRadarComponentKey = 487927;
"com.apple.dtdevicekit.stacktrace" = (
0 DTDeviceKitBase 0x000000011f0e46e7 DTDKCreateNSError + 109
1 DTDeviceKitBase 0x000000011f0e4de9 DTDK_AMDErrorToNSError + 792
2 DTDeviceKitBase 0x000000011f12456a __90-[DTDKMobileDeviceToken installApplicationBundleAtPath:withOptions:andError:withCallback:]_block_invoke + 164
3 DVTFoundation 0x0000000105db9156 DVTInvokeWithStrongOwnership + 73
4 DTDeviceKitBase 0x000000011f124301 -[DTDKMobileDeviceToken installApplicationBundleAtPath:withOptions:andError:withCallback:] + 1589
5 IDEiOSSupportCore 0x000000011efaca25 __118-[DVTiOSDevice(DVTiPhoneApplicationInstallation) processAppInstallSet:appUninstallSet:installOptions:completionBlock:]_block_invoke.352 + 4523
6 DVTFoundation 0x0000000105eea3ba __DVT_CALLING_CLIENT_BLOCK__ + 7
7 DVTFoundation 0x0000000105eeba92 __DVTDispatchAsync_block_invoke + 809
8 libdispatch.dylib 0x00007fff6431a583 _dispatch_call_block_and_release + 12
9 libdispatch.dylib 0x00007fff6431b50e _dispatch_client_callout + 8
10 libdispatch.dylib 0x00007fff64320ace _dispatch_lane_serial_drain + 597
11 libdispatch.dylib 0x00007fff64321452 _dispatch_lane_invoke + 363
12 libdispatch.dylib 0x00007fff6432aa9e _dispatch_workloop_worker_thread + 598
13 libsystem_pthread.dylib 0x00007fff6457471b _pthread_wqthread + 290
14 libsystem_pthread.dylib 0x00007fff6457457b start_wqthread + 15
);
}

11.2.1 GM SEED(19B88 )下的结果相同。

如果我回到 11.1 ,它可以正常运行并在设备上运行。

如果我尝试使用其他iOS设备,它仍然会失败。

如果我从Xcode模板创建新的 Catalyst / SwiftUI 项目,则该项目将在设备上正常运行。

请注意,我也确实看过这篇文章:Xcode 11.2 - Unable to install App file to device?。我将其作为一个单独的问题发布,因为给出的实际失败原因非常不同,因此,它们很可能是两个不相关的问题。

构建设备:2018 MacBook Pro 15”,运行 macOS Catalina版本10.15.1(19B88

Xcode 11.2 11.2.1 GM SEED(11B53)

iPhone 11 Pro Max上的iOS 13.2.2 (也已在iPhone XS Max和iPhone X以及其他早期版本的 iOS 13 上进行了测试。)

我尝试在“自动管理签名” 和手动选择之间进行切换,但是我所做的任何更改都无济于事。

很明显, Xcode 11.2 在代码签名方面做了不同的事情,打破了这一点,但是我不确定是什么。

当然也尝试删除DerivedData。

谢谢!

2 个答案:

答案 0 :(得分:1)

我在Ted Jucevic @ Apple的帮助下(感谢Ted!)找到了解决方案。

问题在于权利文件已损坏。

此处为xml:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key></key>
    <array>
        <string></string>
    </array>
    <key>com.apple.security.files.user-selected.read-write</key>
    <true/>
    <key>com.apple.security.network.server</key>
    <true/>
    <key>com.apple.security.personal-information.location</key>
    <true/>
    <key>com.apple.security.app-sandbox</key>
    <true/>
    <key>com.apple.security.network.client</key>
    <true/>
</dict>
</plist>

这是 Xcode 中的样子:

App_Name.entitlements

如您所见,在顶部,有一个空项目:

<key></key>
<array>
    <string></string>
</array>

这可能应该是一种 keychain-access-groups 权利,如here所述。

无论如何,删除上面的虚假条目即可解决该问题,现在我可以再次在设备上构建并运行。我不知道它最初是如何损坏的,但是我认为它与 Xcode 11.2 有关。

希望此信息对其他人也有帮助!

答案 1 :(得分:0)

我从设备上卸载了旧版本的应用程序,并且运行正常。