Xcode报错-Unable to install "xxx_xxx(App项目名)"

1,025 阅读3分钟

前情摘要:

最近在搞一个之前搁置的加解密项目。代码都是以前在真机上跑通没问题的。

结果今天从gitlab上一拉取下来,XcodeiPhone真机一跑,铛铛,弹窗你值得拥有。

Snipaste_2022-03-31_16-37-59.png


解决方案

又拿了一台测试机,完美无瑕跑通程序。

总结

因为编译是不存在问题的。

所以,这很大概率上,是一个 XCode 自身存在的 bug,而不是工程本身的代码或者设置问题。

大家都是常用Xcode优秀iOS开发,🌚 懂得都懂,Xcode抽风型的报错,都不是头一回见。见怪不怪了都。


他山之玉 No.1

顾名思义,别的解决方法

1. 拔掉Mac设备连接的iPhone设备,将之前 Build 的内容,轻轻得丢进废纸篓;
2. 退出 Xcode,快捷键Command+Q;
3. 将该路径下 / Users/xxxx(你的用户名)/Library/Developer/Xcode/DerivedData/xxxx-xxzlxxxoppxxcdcxxxjwxxx 的文件夹及其中的所有内容,轻轻得丢进废纸篓;

进入该目录下的快捷键,回到桌面,点击空白区域,快捷键Command+Shift+G,输入上述路径/ Users/xxxx(你的用户名)/Library/Developer/Xcode/DerivedData/,回车,即可打开,找到对应的编译文件夹名,扔进废纸篓,即可;

Snipaste_2022-03-31_17-00-28.png

4. 重新用 XCode 打开项目,连接设备,跑起来程序,有可能就解决问题了,也有可能,依然是那个弹窗再现你的视野中;(毕竟,我的解决方案,在开头就已经写着了。🌚 )

他山之玉 No.2

没想到吧!还有解决方案。

看到有说是,第三方库的嵌入方式不对头。

于是,我查了查我的项目。

image.png

它居然,一直都是Do Not Embed(不嵌入)的方式。

看来,这个山头的玉石,也不太行。


此山之石

得嘞,咱自己上。看看弹窗里,那个Detail里面写的什么吧。

Details

Unable to install "encryption_decryption_oc"
Domain: com.apple.dt.MobileDeviceErrorDomain
Code: -402652994
--
This applications application-identifier entitlement does not match that of the installed application. These values must match for an upgrade to be allowed.
Domain: com.apple.dt.MobileDeviceErrorDomain
Code: -402652994
User Info: {
    DVTRadarComponentKey = 261622;
    MobileDeviceErrorCode = "(0xE80000BE)";
    "com.apple.dtdevicekit.stacktrace" = (
0   DTDeviceKitBase                     0x000000011a3993b8 DTDKCreateNSErrorFromAMDErrorCode + 220
1   DTDeviceKitBase                     0x000000011a3d7ae1 __90-[DTDKMobileDeviceToken installApplicationBundleAtPath:withOptions:andError:withCallback:]_block_invoke + 155
2   DVTFoundation                       0x00000001042bbbac DVTInvokeWithStrongOwnership + 71
3   DTDeviceKitBase                     0x000000011a3d7822 -[DTDKMobileDeviceToken installApplicationBundleAtPath:withOptions:andError:withCallback:] + 1440
4   IDEiOSSupportCore                   0x000000011a290999 __118-[DVTiOSDevice(DVTiPhoneApplicationInstallation) processAppInstallSet:appUninstallSet:installOptions:completionBlock:]_block_invoke.294 + 3534
5   DVTFoundation                       0x00000001043ee921 __DVT_CALLING_CLIENT_BLOCK__ + 7
6   DVTFoundation                       0x00000001043f054b __DVTDispatchAsync_block_invoke + 1191
7   libdispatch.dylib                   0x00007fff201b0623 _dispatch_call_block_and_release + 12
8   libdispatch.dylib                   0x00007fff201b1806 _dispatch_client_callout + 8
9   libdispatch.dylib                   0x00007fff201b75ea _dispatch_lane_serial_drain + 606
10  libdispatch.dylib                   0x00007fff201b80ad _dispatch_lane_invoke + 366
11  libdispatch.dylib                   0x00007fff201c1c0d _dispatch_workloop_worker_thread + 811
12  libsystem_pthread.dylib             0x00007fff2035845d _pthread_wqthread + 314
13  libsystem_pthread.dylib             0x00007fff2035742f start_wqthread + 15
);
}
--


System Information

macOS Version 11.6.1 (Build 20G224)
Xcode 12.5.1 (18212) (Build 12E507)
Timestamp: 2022-03-31T17:17:57+08:00

重点内容

This application’s application-identifier entitlement does not match that of the installed application. These values must match for an upgrade to be allowed.

翻译一下:

此应用程序的应用程序标识符授权与已安装的应用程序不匹配。这些值必须匹配才能允许升级。

解决方案

根据 Detail 内容,懂了。

删掉iPhoneApp,重新跑一遍,完美解决之前iPhone连接Xcode跑项目的报错。


全文,完。