在我将我的应用程序发送到应用程序商店以供批准后,我在 iTunes Connect 中收到消息“无效的二进制文件”。然后我在 Apple 的电子邮件中收到以下消息:
无效的 Swift 支持 - 该包包含无效的 Swift 实现。该应用程序可能是使用不合规或预发布工具构建或签名的。访问 developer.apple.com 了解更多信息。
我的应用只是一个简单的游戏应用。没有调用外部程序。我研究了这条消息并仔细检查了以下内容:
- xcode 是最新的 - 在应用商店中检查过
- EMBEDDED_CONTENT_CONTAINS_SWIFT 为是或否
- 使用 xcode 应用程序发送,而不是应用程序加载器
- 没有使用命令行构建
- (Xcode 菜单 -> 首选项 -> 位置选项卡 - 验证命令行工具是否与 Xcode 版本匹配。
- “清理”应用程序,重建并重新存档,然后重新发送相同的消息
- 应用通过组织者验证
- 查看存档内容显示 SwiftSupport 文件夹
- 我只使用一个开发者帐户,从未登录过任何其他开发者帐户 我在网上找不到任何有助于解决此问题的信息。
- 我运行的是 OS X Yosemite 10.10.1。
- xcode 版本是 6.1.1 版本 6A2008a - 使用此版本构建、清理和发送
- 我还按下了 Option 键和“Cleaned Build Folder”并重新发送了相同的消息
我无法在网上或任何论坛中找到任何其他原因。任何帮助是极大的赞赏。感谢您的宝贵时间。
我找到的解决方案
编辑:
(1)
如果您联系 Apple,您会等待很长时间……因为 Apple 会出现此问题,所以需要重置 iTunes 连接。 (苹果要求发送这个问题的日志)
(2)
另一个解决方案,您在 iTunes 连接上创建另一个项目应用程序并上传您的作品,这个解决方案工作正常,是我的解决方案。
(3)
另一个解决方案,您在 Xcode 上创建一个新项目,将您的项目复制并粘贴到另一个项目中....(创建新的配置文件等)并在 Itunes Connect 上的同一项目应用程序中上传您的工作。
(4)
第(2)步+第(3)步,在Xcode和Itunes Connect中新建工程。
(5)
创建一个具有相同名称包标识符的新项目,它完美地工作!
最佳答案
参见:Technical Q&A QA1881在 Objective-C 中使用 Swift 嵌入内容。
似乎您只需要将 EMBEDDED_CONTENT_CONTAINS_SWIFT 设置为 YES“如果您正在构建一个不使用 Swift 但嵌入内容的应用程序,例如使用的框架”。
您的应用程序是用什么语言编写的?如果 Swift 你不需要 EMBEDDED_CONTENT_CONTAINS_SWIFT。
关于objective-c - 无效的二进制文件或无效的 Swift 支持,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28011095/