Xcode 7 GM创build了通用存档,而不是iOS应用程序存档
我最近开始使用Xcode 7 GM。 当我存档我的项目时,我得到一个通用的Xcode存档,而不是一个iOS存档。
我已经尝试了几乎所有以下内容:
- xcode正在创build通用的xcode存档,而不是iOS应用程序存档
- 无法在xcode中生成iOS应用程序存档
我比较了以前成功存档的内容和一些组件的不同文件夹结构:
- Swift库在一个子文件夹中
- 应用程序扩展名在.app包之外
- info.plist缺less密钥
有其他人遇到这个问题吗? 如果是这样,你解决了,怎么样?
编辑
我们正在使用Cocoapods 0.38.2
我添加了相同的问题:一个旧的Xcode项目,Xcode 7(不是通用汽车,App Store版本)和Cocoapods。 我一直在修补,尝试Cocoapds 0.39 B3和B4没有成功,改变了构build设置的参数,但最后 – 对我来说 – 这个问题是由https://github.com/CocoaPods/CocoaPods/issues/4021 :
Info.plist中缺lessApplicationProperties
由于我不习惯用Info.plist和这些键来修饰,我在Apple Dev论坛中发现了一个非常有用的答案: https : //forums.developer.apple.com/thread/17063
总之,对于像我这样的info.plist新手;):
- 归档您的项目
- 组织者将显示一个通用的Xcode档案
- 右键单击,在查找器中显示
- 右键单击,显示包装内容
- 在XML编辑器中打开Info.plist文件
- 如mochs所示,请在以下部分添加这些行:
<键> ApplicationProperties </键> <字典> <键> ApplicationPath </键> <string>应用程序/ << APP_NAME >>。应用</string> <键> CFBundleIdentifier </键> <string> << BUNDLE_IDENTIFIER >> </string> <键> CFBundleShortVersionString </键> <string> << YOUR_MARKETING_NUMBER >> </string> <键> CFBundleVersion </键> <string> << YOUR_BUILD_NUMBER >> </string> <键> SigningIdentity </键> <string> iPhone分发:<< CERTIFICATE_NAME >>(<< CERTIFICATE_ID >>)</ string> </字典>
并用您自己的值replace标签。
保存,closuresXcode,双击存档:它应该在pipe理器中作为iOStypes存档打开。
感谢mrezk和mochs的解决scheme。
OP在这里。 我的团队成员都尝试了Cocoapods的testing版,并为我们解决了这个问题。 所以我要接受我自己的答案。
虽然可以解决这个问题,但是我相信Christian Navelot的回答是不可扩展的,当然也不能在团队中pipe理。
另外,我们所有人都尝试使用cp beta,而不删除Copy Pod Resources
构build阶段。 这意味着我也不会接受托德·安德森的答案。
我们还没有使用静态库,我们正在使用框架(也就是在Podfile中use frameworks!
)。
感谢所有人对这个问题的贡献。 看起来我们都被Xcode 7放到了同一条船上! 干杯!
在我的情况下清除所有静态库中的“安装目录”构build设置解决了这个问题。 它被设置为“/ usr / local / lib”之前。
当使用“Save Built Product”作为导出方法时,Products文件夹获得这些子目录。 这就是在这个方向指向我。
我正在使用cocoapods 0.38.2。
这里提到的其他答案是临时修复,但是每个需要手动的工作,无论是在每个存档之后还是在每个pod install
。
新的更好的解决scheme是将cocoapods更新到最新版本,并从每个应用程序扩展中删除“Copy Pod Resources”构build阶段。
有关更多信息,请参见https://github.com/CocoaPods/CocoaPods/issues/4021 。
我和XCode7.1.1以及WatchKit Extension的一个应用程序项目有类似的问题。 我通过以下步骤解决了这个问题
-
打开我的应用程序目标的生成设置,并将NO设置为“跳过安装”。
-
打开我的WatchKit扩展目标的生成设置,并将YES设置为“跳过安装”
-
打开我的WatchKit应用程序目标的生成设置,并将YES设置为“跳过安装”
然后,我可以使iOS存档。