ios 无效的捆绑包,“.app”处的捆绑包不包含捆绑包可执行文件

ua4mk5z4  于 2024-01-09  发布在  iOS
关注(0)|答案(5)|浏览(136)

我试图验证/提交我的应用程序,它给了我这个错误。我尝试了所有可能的建议,在前面的回答这个问题,他们都没有工作。
我删除了CFBundleKey,还在info. plist中将CFBundlePackageType键的值从APPL更改为BNDL。
我也附上了同样的截图。
请提供一个解决方案,提前感谢吨,因为我被严重卡住。
我的应用程序的捆绑包标识符有一个数值,它会导致问题吗??
x1c 0d1x的数据

eivnm1vs

eivnm1vs1#

对于来自Google的未来人:
我最近遇到了这个问题(第三方静态库+捆绑包分发给我们),并尝试了一切我可以和最后屈服,并能够通过苹果开发人员支持。原来的捆绑包的创建者把Info.plist放在错误的地方。引用苹果非常有知识和乐于助人的人:
Info.plist需要位于bundle的根目录下,而不是Resources文件夹中。由于在预期的位置没有找到Info.plist来描述bundle的预期内容,因此它继续寻找可执行代码,因为iOS支持的bundle类型APPL,FMWK和XPC都需要有bundle可执行代码。

将Info.plist文件移动到正确的位置是你的短期解决方案,但你也应该考虑从长远来看完全消除bundle。如果你在Xcode中打开新的项目窗口,你会看到提供通用bundle的模板只在macOS部分可用,但在iOS上没有。Xcode从来没有iOS的通用bundle起点,因此,大多数开发人员都在macOS基础上手工制作了近似iOS预期结构的捆绑包,但并不完全满足整个系统的预期,从而导致各种意想不到的问题,例如这个问题。如果您的捆绑包内容与框架相关,您可以直接将该内容嵌入框架捆绑包中,如果是针对应用程序的,则可以直接将内容部署到main .app包中。

Bundlehttps://developer.apple.com/library/archive/documentation/CoreFoundation/Conceptual/CFBundles/BundleTypes/BundleTypes.html#//apple_ref/doc/uid/10000123i-CH101-SW30
在iOS上使用BNDL作为不含. bundle代码的资源的容器是开发者社区中逐渐形成的一种惯例。在iOS上使用它们的方式,如应用中的几个bundle所示,实际上是出于组织原因而使用具有花哨文件名的文件夹。使用没有.bundle文件扩展名的文件夹将达到相同的组织目的,同时也避免陷入验证过程,试图确定它发现的是应用程序、框架还是应用程序扩展包。
因此,总结一下:避免在iOS中使用捆绑包。你可能最终会绊倒苹果有时不透明的验证过程,而获得的好处却微乎其微。

xnifntxz

xnifntxz2#

到info.plist文件的连接可能是导致问题的原因。尝试从target更改捆绑包ID,并检查它是否反映在plist文件中,反之亦然。如果这没有反映在其他位置复制plist文件,将其从应用程序中删除并再次拖放,它会有所帮助。这解决了我的问题,希望它有所帮助。
谢谢你的努力

ca1c2owp

ca1c2owp3#

如果您将得到此错误,然后检查您info.plist文件,

<key>CFBundleExecutable</key>
    <string>${EXECUTABLE_NAME}</string>

字符串
并添加此键。

qncylg1j

qncylg1j4#

您应该输入general以查找Embedded Binaries,并删除您的框架。

z31licg0

z31licg05#

我刚刚遇到了同样的问题。我通过取消选择信息列表右侧菜单中的任何“目标成员资格”来修复它

相关问题