在 Info.plist 的 CFBundleSupportedPlatforms 或 Mach-O 的 LC_VERSION_MIN 中找不到 phantomjs 平台系列。

13
我正在使用ionic构建混合应用程序,但当我尝试将其上传到应用商店时,出现以下错误:
“在Info.plist CFBundleSupportedPlatforms或Mach-O LC_VERSION_MIN中找不到平台系列phantomjs”
是否有人遇到过相同的问题并找到了解决方法?
我怀疑这是由于我在项目中使用的插件或node_modules之一引起的错误。
5个回答

16

我遇到了相同的错误,在我的情况下问题是我在包资源中有一些DSYM文件。

通过从“复制Bundle资源”构建阶段中删除所有.DSYM文件来解决它。

更多信息请参见此线程:https://github.com/Alamofire/Alamofire/issues/823


1
你说得完全正确!这也会导致在使用xCode从项目中导出存档时出现错误。类似于“bitcode_strip失败”。查看错误日志也帮助我找到了解决方案。 - Al___

2
我解决了这个问题,方法是删除项目中不需要的文件。具体来说,我的项目中有一个名为Cartfile的文件和一个Carthage文件夹引用,以便我可以轻松访问它。
我删除了文件夹引用,但保留了Cartfile在我的项目中。我确保Cartfile不在Copy Bundle Resources构建阶段中。这两个步骤中的一个解决了我的问题。

其中一个Cocoapods中有一个动态库的dsym文件。删除后一切正常。 - Nike Kov

2

当一个插件被添加到bower.json作为依赖项而不是插件时,我在ionic应用程序中遇到了这个问题。它的一个副本最终出现在www/lib文件夹中,一旦将其删除,我就不再收到那个错误信息。


这对我也是一样的情况。每当我使用bower添加新的库时,它会重新将Facebook插件添加到lib文件夹中,并导致此错误。从lib文件夹中删除它,然后再次运行ionic build ios即可解决问题。 - Rob Evans

1

我在使用本地应用程序时也遇到了同样的问题。

我正在使用 Carthage (https://github.com/Carthage/Carthage v.0.15.2),其中我有一个依赖项 D1,它有一个嵌套依赖项 D2。

我不确定出了什么问题,但当归档这些依赖项时,D2 的一个 dSYM 文件混入到了 D1 的框架文件夹中的存档中。我从存档中删除了 dSYM 文件,然后就能提交了。

因此,请检查您的存档,看看是否有任何不应该存在的 .bundle、.dSYM 或类似的文件。

这是我找到问题根源的位置:

~/Library/Developer/Xcode/Archives/2016-04-14/ARCHIVENAME.xcarchive/Products/Applications/APPNAME.app/Frameworks/D1.framework

这个问题可能是由Carthage或框架引起的,也可能是完全不同的原因,所以上述的“解决方案”目前只是一个权宜之计。

同样使用Carthage,这个hack对我也起作用了。 - Paul Cantrell

-1

我知道回复晚了,但最近在创建应用程序的存档时遇到了这个问题。我发现我已经将一个创建错误的框架添加到了项目目标->常规->嵌入式二进制文件中。

而不是添加到:

项目目标->常规->链接的框架和库中。只需从嵌入式二进制文件中删除该框架,并将其重新添加到链接的框架和库中即可解决我的问题。


请不要请求点赞,Er. Vihar。我们希望投票在这里是有机的。一旦在帖子中进行了修改,请通知涉及的编辑,以便讨论更改,而不是简单地回滚。谢谢。 - halfer
@halfer,我明白你的意思并会考虑。但请指导我,我的回答不是有用的吗?如果不是,请告诉我你认为哪一点不有用,比如不帮助、不技术性、不相关、重复或其他任何方面。 - Er. Vihar
对我来说看起来很有用,但我不确定你为什么会问那个问题。这与我所提出的观点无关。我已经指出我们不喜欢明确要求点赞,并且我们真的不喜欢人们撤销另一个人的工作。希望这可以帮到你! - halfer
这是一个有效的答案,但在所有情况下都不起作用。它适用于我的同事,但对我没有用。因此我仍在寻找解决方案。 - Alok C

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接