Xcode已经开始制作档案,而不是应用程序。 我该如何改变它?
我'写在Xcode 4.2的手机应用程序。 在最近几天的某个时候,我改变了一些东西 – 我不知道是什么,在git历史上没有任何明显的东西 – 尽pipe我仍然可以在我的设备和模拟器上运行它,使一个档案,而不是一个应用程序。 我不能将这些档案作为IPA文件共享; 如果我尝试,我会被告知“这种types的存档没有包装员”。
我做了什么? 我如何改变它,所以我可以再次生产IPA?
确保任何中间目标您select“跳过安装”的构build设置。
我做了以下工作为我工作:
- 对于three20静态库,我用cocoapods包含主要项目中的文件..它只是摆脱了所有麻烦three20给我(他们是很多..)顺便说一句我试图用Nimbusreplacethree20 ..但是Nimbus缺乏我的项目使用three20的一些function..所以Nimbus没有帮助。
- 在所有其他子项目/静态库的构build设置下将skip install设置为yes,并在构build阶段将副本标题从公共项目切换到项目
- 最重要的是:在子库下面..build立阶段我确保复制文件的目的地从
Absolute path
更改为products directory
。
就是这样!
提示:要了解导致档案创build归档文件而不是ipa的有问题的文件,请执行以下操作:
- select存档,然后单击分发button。
- select“保存build筑产品”选项。
- 点击下一步并保存。
- 在Finder中浏览创build的目录。
- “库”子目录将标识您需要将“跳过安装”设置为“是”的库。
- 在某些情况下,
usr/local/include
将识别您需要从Public移动到Project的罪魁祸首头文件,或者您必须从绝对path更改为products目录的文件。 但该目录(即usr / local / include)取决于您的子库目录结构
点击Xcode窗口右上angular的build下拉菜单,select“edit scheme”,看看有没有错。
如果看不到任何东西,可以尝试select“pipe理scheme”,然后删除旧的scheme,然后按“现在自动创buildscheme”来创build一个新scheme。
你只需要一个scheme,为你的应用程序构build(如果有多个目标,则为每个目标)。 如果还有其他scheme(例如,用于创build项目使用的静态库的embedded式子项目),请删除它们。
此外,正如jrtc27所说,如果你有任何产生静态库的子项目,你需要在构build设置中将它们标记为“跳过安装”。 这里还有一个问题 ,特别涉及到这个问题,并有更详细的解释如何解决这个问题:
- 无法将’NSNull’(0x10aa1b600)类型的值转换为’NSString’(0x10b4dab48)
- 我可以在UIScrollView中使用UIRefreshControl吗?
- 通过移动Safari中的input字段进行选项卡使浏览器跳转
- 在Swift中将参数传递给选择器
- 如何在iOS8中使用Swift点击时隐藏/显示tabBar
- 我应该在Objective-C中使用ivars吗?
- UIScrollView添加UIViewController作为子视图? 与UIPageControl
- 使用AVCaptureVideoDataOutput和AVCaptureAudioDataOutput时的性能问题
- 在iOS7上播放videostream