Xcode中的存档显示在“其他项目”下

时间:2017-11-03 19:49:16

标签: ios iphone xcode

我正在尝试使用存档选项向iTunes Connect提交应用。构建通用iOS设备时,它通常显示在管理器中的iOS应用程序下。但是,现在它显示在“其他项目”下没有版本和想法更整洁。

我最后一次构建是10月28日,除了添加ADAL Xcode项目(作为项目)和我执行的小错误修复之外,我不知道有什么可能导致这种情况。

我将ADAL Xcode项目添加到我的应用程序项目的原因是,当仅包含Framework时,它在模拟器中不起作用。添加框架可以正确构建它。

但即使是现在,当删除ADAL项目并添加旧的预构建框架时,它仍然会在其他项目下结束。什么可能导致这个?我正在使用Xcode 9.1。

11 个答案:

答案 0 :(得分:3)

我们的iOS应用程序存在相同的问题。在浪费一些时间进行随机操作之后,我们将损坏的存档与较旧的存档之一进行了比较。 所有这些通常都在这里:

~/Library⁩/Developer⁩/Xcode⁩/Archives⁩

原来,较新的归档文件在Products中包含两个额外的子文件夹,而较旧的归档文件仅在Applications中存在。

这是构建配置中另一项更改的副作用,因此我们对其进行了修复。

答案 1 :(得分:3)

为便于理解,只需跟随图像并从选定的方案中删除重复的目标即可。

  

点击左上角的目标(>   通用iOS设备/模拟器列表),然后转到编辑方案>构建>删除   从那里重复目标,只留下一个。

Remove Duplicate Target

我希望有帮助。

谢谢

答案 2 :(得分:1)

我在使用Xcode 11.4时遇到了另一个问题,我的应用程序存档也最终出现在“其他项目”中。在git历史记录中来回擦洗之后,我发现了问题(虽然很奇怪)和解决方案。

Info.plist的捆绑软件版本字符串设置为$(MARKETING_VERSION),但是将其更改为原始版本号1.0.7后,该应用程序已正确存档到iOS应用程序列表中。

答案 3 :(得分:0)

就我而言,我必须删除旧的归档文件,然后删除我的应用程序目标并再次创建它,运行pod install,此后,我可以将我的应用程序提交到AppStore,并将应用程序从“其他项目”中移出转到“ iOS应用”。

答案 4 :(得分:0)

在我的情况下,问题是我的发布设置的项目设置中没有Info.plist的路径。构建设置>打包> Info.plist文件。

错误 enter image description here

正确 enter image description here

答案 5 :(得分:0)

对于那些使用Google搜索的人,我们遇到了与上述相同的问题。每当档案的Products/文件夹中发生奇怪的事情时,XCode就会认为档案不是iOS应用程序。在我们的示例中,在同一归档方案中构建了2个目标,因此Products/中显示了2个应用。

解决此问题的方法是,单击左上角的目标(> Generic iOS Device旁边),然后转到Edit Scheme> Build>从那里删除重复的目标,仅保留目标一个。

解决此问题的另一种方法是将Skip Install设置为YES,以使目标不将其安装到存档中(请参见上面@RawMean的回答)。

希望这可以帮助某人减轻痛苦。

答案 6 :(得分:0)

对于所有框架项目(如果有),将Skip install设置为YES。然后,将主项目目标的Skip install设置为NO。最后,在Build Phases下任何框架项目的Headers下,将Public下的所有文件拖放到Project

所有这些步骤之后,请尝试再次存档。

答案 7 :(得分:0)

如果最近能够成功构建,但没有其他答案适用,则可能需要重新启动计算机。清理,pod安装,重新启动Xcode,检查方案和构建设置都没有影响。

没有其他更改,我的项目在Xcode11下重启后成功构建。

答案 8 :(得分:0)

我遇到了这个问题..每当我将其存档时,它就被列在aps中没有列出的其他项目中...并且我重新确定应用程序名称是否不同...我将schme名称编辑为orjinal one,并解决了问题

答案 9 :(得分:0)

对我来说,重新启动XCode是不够的。重新启动Apple Mac后将其修复。我的Mac确实打开了许多应用程序,并且内存受限制,我认为这与此有关。

答案 10 :(得分:0)

原因因情况而异,但最简单的找出方法是尝试将其上传到 App Store。

就我而言,App Store 报告丢失了 IMAGE_PREPROCESS_COMMAND_append = " symlink_lib64; symlink_lib64() { ln -s /lib ${IMAGE_ROOTFS}/lib64 } ,这是真的,因为我不小心从 CFBundleShortVersionString 构建中删除了它,但在 Release 构建中存在。