來源:http://blog.csdn.net/wuzehai02/article/details/12305001
今天在archive應(yīng)用時(shí),發(fā)現(xiàn)只能生成Generic Xcode Archive,而不是iOS App Archive。
導(dǎo)致無法生成測試adhoc文件。
最后發(fā)現(xiàn)是由于項(xiàng)目中引用了子項(xiàng)目的原因?qū)е?br>
在一番功夫之下發(fā)現(xiàn)如下兩個(gè)說法
- 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)”
- 如果工程引用了外部類庫,默認(rèn)生成的archive是 Generic Xcode Archive 格式的 無法發(fā)布和生成ipa文件。
這個(gè)時(shí)候需要更改工程設(shè)置在build setting里面把 skip install 的標(biāo)記位修改為yes。注意 要把所有外部第三方靜態(tài)庫的工程設(shè)置都修改完。
不然無法成功
總結(jié)一下解決辦法如下:
在所有依賴的庫的工程作如下三點(diǎn)處理:
- 將
Build Settings
->Deployment
->Skip Install
設(shè)置為YES
,但項(xiàng)目的Skip Install
卻要保持為NO
。 - 將
Build Phases
->Copy Headers
中的所有頭文件拉到Project
下,即Public
和Private
下不能有文件。 - 清空
Build Settings
->Deployment
->Installation Directory
選項(xiàng)的內(nèi)容。”
這兩種說法差不多,重點(diǎn)是都有這一項(xiàng)“將Build Phases
->Copy Headers
中的所有頭文件拉到Project
下,即Public
和Private
下不能有文件”,但是這樣會導(dǎo)致我的一個(gè)子工程archive不成功(但是調(diào)試運(yùn)行問題)。因此我還是將我這個(gè)子工程的文件放入了“Build Phases
->Copy Headers
->Public
”,最終成功了。并成功生成iOS App Archive
Q:Xcode Archive后無法導(dǎo)出ipa包,Archive Type為Generic Xcode Archive
A: 在所有依賴的庫的工程作如下三點(diǎn)處理:
- 將
Build Settings
→Deployment
→Skip Install
設(shè)置為YES
,但項(xiàng)目的Skip Install
卻要保持為NO
。 - 將
Build Phases
→Copy Headers
中的所有頭文件拉到Project
下,即Public
和Private
下不能有文件。 - 清空
Build Settings
→Deployment
→Installation Directory
選項(xiàng)的內(nèi)容。再Archive后,Archive Type為iOS App Archive。
Build Settings
→Deploymentt
→Installation Directory
庫的
/usr/local/lib
項(xiàng)目的
$(LOCAL_APPS_DIR)