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

时间:2015-12-30 12:28:42

标签: ios xcode ionic hybrid

我正在使用离子构建混合应用程序,当我尝试将其上传到应用程序商店时,它会给我这个错误

  

无法在Info.plist CFBundleSupportedPlatforms中找到平台系列   或者用于phantomjs的Mach-O LC_VERSION_MIN

有没有人遇到过同样的问题并找到了解决方法?

我怀疑它来自我在项目中使用的插件或node_modules导致错误。

6 个答案:

答案 0 :(得分:15)

有同样的错误,在我的情况下问题是我的捆绑资源中有一些DSYM文件。

通过从Copy Bundle Resources构建阶段删除所有.DSYM文件来修复它。

此主题的更多信息:https://github.com/Alamofire/Alamofire/issues/823

答案 1 :(得分:2)

我在离子应用程序中遇到此问题,其中一个插件作为依赖项而不是作为插件添加到bower.json中。它的副本最终出现在www / lib文件夹中,一旦删除,我就停止了这个错误。

答案 2 :(得分: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或框架引起的,或者是完全不同的东西,因此上面提到的“解决方案”现在是一种解决方法。

答案 3 :(得分:1)

我通过删除项目中不需要的文件解决了这个问题。具体来说,我的项目中有一个CartfileCarthage文件夹参考,以便我可以轻松访问它。

我删除了文件夹引用,但我在项目中保留了Cartfile。我确保Cartfile不在Copy Bundle Resources构建阶段。其中一个解决了我的问题。

答案 4 :(得分:0)

另一种方法是删除Build Phases -> Copy bundle resources中的所有文件

答案 5 :(得分:-1)

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

而不是将其添加到:

项目目标 - >常规 - >链接的框架和库。 只需从Embedded Binaries删除框架并将其重新添加到Linked Frameworks and Libraries即可解决我的问题。