解决Xcode 11可以编译项目,但是无法运行的BUG

针对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

解决Xcode 11可以编译项目,但是无法运行的BUG_第1张图片
问题截图


原因

因为项目比较老旧,之前一些细节也未处理得当,导入第三方SDK的时候选择了直接拖入,更新到Xcode 11之后出现该问题。直到修复之后才发现是Carthage导入第三方在Xcode 11上不可以在使用之前的拖入方式导致。


解决方案

1、把之前导入的SDK全部移除,注意只是删除引用就好,不要移动到废纸篓;然后在项目的Build Phases中添加New Run Script Phase
解决Xcode 11可以编译项目,但是无法运行的BUG_第2张图片
image-20191015170841177.png


2、然后输入以下内容
/usr/local/bin/Carthage copy-frameworks


3、然后分别在Input FilesOutput 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文件路径
解决Xcode 11可以编译项目,但是无法运行的BUG_第3张图片
image-20191015171601819.png

如果没有,就填写上

$(PROJECT_DIR)/Carthage/Build/iOS


总结

至此,这个问题得到了解决,期间团队没少上外网查阅资料,在这里做一个记录,如果有人和犯了一样的错误,希望可以帮到你。

团队大佬: TdbT

你可能感兴趣的:(解决Xcode 11可以编译项目,但是无法运行的BUG)