来源:http://blog.csdn.net/wuzehai02/article/details/12305001
今天在archive应用时,发现只能生成Generic Xcode Archive,而不是iOS App Archive。
导致无法生成测试adhoc文件。
最后发现是由于项目中引用了子项目的原因导致
在一番功夫之下发现如下两个说法
- Check Build Settings:
- Skip install is NO for the main project target
- Skip install is YES for framework (sub-projects) targets
- Sub-projects need to have Copy Headers in Project not Public
- Installation Directory under Deployment is valid (/Applications for example)”
- 如果工程引用了外部类库,默认生成的archive是 Generic Xcode Archive 格式的 无法发布和生成ipa文件。
这个时候需要更改工程设置在build setting里面把 skip install 的标记位修改为yes。注意 要把所有外部第三方静态库的工程设置都修改完。
不然无法成功
总结一下解决办法如下:
在所有依赖的库的工程作如下三点处理:
- 将
Build Settings
->Deployment
->Skip Install
设置为YES
,但项目的Skip Install
却要保持为NO
。 - 将
Build Phases
->Copy Headers
中的所有头文件拉到Project
下,即Public
和Private
下不能有文件。 - 清空
Build Settings
->Deployment
->Installation Directory
选项的内容。”
这两种说法差不多,重点是都有这一项“将Build Phases
->Copy Headers
中的所有头文件拉到Project
下,即Public
和Private
下不能有文件”,但是这样会导致我的一个子工程archive不成功(但是调试运行问题)。因此我还是将我这个子工程的文件放入了“Build Phases
->Copy Headers
->Public
”,最终成功了。并成功生成iOS App Archive
Q:Xcode Archive后无法导出ipa包,Archive Type为Generic Xcode Archive
A: 在所有依赖的库的工程作如下三点处理:
- 将
Build Settings
→Deployment
→Skip Install
设置为YES
,但项目的Skip Install
却要保持为NO
。 - 将
Build Phases
→Copy Headers
中的所有头文件拉到Project
下,即Public
和Private
下不能有文件。 - 清空
Build Settings
→Deployment
→Installation Directory
选项的内容。再Archive后,Archive Type为iOS App Archive。
Build Settings
→Deploymentt
→Installation Directory
库的
/usr/local/lib
项目的
$(LOCAL_APPS_DIR)
网友评论