针对Carthage
问题描述
Could not locate installed application
Install claimed to have succeeded, but application could not be found on device. bundleId = xxx.xxx.xxx
问题截图
Install claimed to have succeeded, but application could not be found on device. bundleId = xxx.xxx.xxx
原因
因为项目比较老旧,之前一些细节也未处理得当,导入第三方SDK
的时候选择了直接拖入,更新到Xcode 11
之后出现该问题。直到修复之后才发现是Carthage
导入第三方在Xcode 11
上不可以在使用之前的拖入方式导致。
解决方案
1、把之前导入的SDK全部移除,注意只是删除引用就好,不要移动到废纸篓;然后在项目的Build Phases
中添加New Run Script Phase
image-20191015170841177.png
2、然后输入以下内容
/usr/local/bin/Carthage copy-frameworks
3、然后分别在Input Files
、Output Files
中把SDK
的路径写入,格式为
Input files
$(SRCROOT)/Carthage/Build/iOS/xxxx.framework
Output Files
$(BUILT_PRODUCTS_DIR)/$(FRAMEWORKS_FOLDER_PATH)/xxxx.framework
备注,上面
xxxx
表示SDK
的名称,自行替换
4、在Build Settings
中检查是否有填写SDK
文件路径
image-20191015171601819.png
如果没有,就填写上
$(PROJECT_DIR)/Carthage/Build/iOS
总结
至此,这个问题得到了解决,期间团队没少上外网查阅资料,在这里做一个记录,如果有人和犯了一样的错误,希望可以帮到你。
网友评论