前两天想将之前做的一个项目通过Archive生成ipa,之前生成ipa的方法是:将build出来的app拖进itunes,直接生成的ipa。编译没问题,但Archive却出问题了,生成的Archive跟其他项目生成的不一样的。没有Version和Identifier,也无法将Archive保存为ipa。
生成的Archive如下图:
由于该项目最初是创建项目时是使用storyboard的,后来因为不兼容低版本的ios所以改成传统的mainwindow的方式。以为问题是出在这里。但经过测试,使用storyboard生成的项目照样可以正常生成Archive的。
排除了storyboard的原因,想想是不是setting的问题呢?又通过比较,setting并没有什么不同。
百思不得其解,求助万能的google了,随知搞了半天,一个相关的内容都找不到。就这样陆陆续续的这么了两天,一个偶然机会,换了另一个关键字搜索,这次可好了,终于看到有人问同样的问题了。如饥似渴地浏览完,再左右捣弄了一段时间,终于可以见到幸福的曙光了。
总结一下解决办法如下:
在所有依赖的库的工程作如下三点处理:
1、将Build Settings->Deployment->Skip Install 设置为 YES,但项目的Skip Install却要保持为NO。
如下图:
2、将Build Phases->Copy Headers中的所有头文件拉到Project下,即Public和Private下不能有文件。
3、清空Build Settings->Deployment->Installation Directory选项的内容。
以上3点是综合搜索得到的信息归纳起来的解决方法,我只修改了第一个步骤就解决了,第二步骤项目的设置已经是这样,不需要改;第三步我清空和没清空都可以正常生成,所以我就保留原来的设置,没去清空。
xcode用archive生成ipa失败,只生成generic xcode archive的解决
1、点击主要工程,然后在右边分别点击PROJECT和TARGETS,在Building Settings中,
搜索skip,设置为NO;
2、项目中包含的其他辅助工程,点击,
然后在右边分别点击PROJECT和TARGETS,在Building Settings中,
搜索skip,设置为YES;对每个子工程做类似操作;
3、再次archive,就得到了ipa包;
参考网址:
http://stackoverflow.com/questions/10715211/cannot-generate-ios-app-archive-in-xcode-4-3
- Skip install is NO for the main project target
- Skip install is YES for framework (sub-projects) targets
-