我有一个iOS应用程序(我的第一个)我准备通过TestFlight进行beta测试。我按照TestFlight教程中的步骤创建了一个IPA,然后TestFlight桌面上传者抱怨“未找到dSYM”。在研究了这个,在这里,我看到了几个不同的问题,有关目标仍然设置为在Xcode 4.5下构建armv6。我检查了我的Xcode设置,对于产品和我的一个编译目标(我有3或4个脚本目标),“Valid Architectures”设置为“armv7,armv7s”。当我升级到Xcode 4.5时,我记得不得不搞砸了,我认为我改变了它。我正在构建Cocos2d作为子项目,我也检查了它。我唯一拥有的其他档案是libTestFlight.a,它当然是预先构建的。我解压缩了我的IPA,查看了Info.plist,并且CFBundleExecutable实际上已经丢失了,尽管Bundle Name,Bundle Display Name和Executable File都是正确的。还有什么可能导致这个?代码签名或我的Ad Hoc Provisioning Profile会出现问题吗?我做了一些更改,使我的软件包标识符与iTunes Connect上的App ID一致(区分大小写的问题)。
编辑:我确实有一个正确的CFBundleExecutable。我使用PListEdit Pro来查看Info.plist,它报告的“可执行文件”实际上是CFBundleExecutable。我还采用了我的ad-hoc签名IPA并使用Xcode组织器将其安装在我的设备上,它运行得很好,因此IPA没有问题,除了TestFlight桌面应用程序无法在其中找到dSYM。我解压缩了IPA,似乎dSYM似乎丢失了。我查看了.xcarchive,我构建了IPA,并且dSYM存在于那里,所以它似乎被代码签名步骤剥离了,也许?我从xcarchive中提取了dSYM,并试图将我的IPA上传到TestFlight。 IPA已正确上传,但似乎没有上传dSYM。
答案 0 :(得分:4)
这似乎是TestFlight桌面应用的Beta版本的一个问题。我可以使用Web界面上传相同的IPA而没有错误,但我必须单独上传dSYM文件。如果来自TestFlight的人可以对这种方式发表评论,那就太好了。