首页 文章

无效的Swift支持 - 缺少SwiftSupport文件夹

提问于
浏览
5

我已经更新了当前提交的Titanium应用程序,并使用swift添加了一个 Watch 扩展 .

如果我在sim上构建和测试并直接构建到设备,一切正常 . 当我将应用程序提交到Apple应用程序商店时(通过XCode Organizer),我只会遇到问题 .

二进制提交,通过验证,但我收到来自iTunes Connect的电子邮件如下:

亲爱的开发人员,我们发现您最近交付的“xxxxxxxxxxx”存在一个或多个问题 . 要处理您的交付,必须纠正以下问题:无效的Swift支持 - 缺少SwiftSupport文件夹 . 使用当前公共(GM)版本的Xcode重建您的应用程序并重新提交 . 一旦纠正了这些问题,您就可以重新更新已更正的二进制文件 .

似乎它可能与构建设置有关:嵌入式内容包含Swift代码 .

如果Titanium项目包含嵌入式Swift,则看起来需要将其设置为 Yes .

截至目前,我无法提交应用程序 . 这是一个Ti问题还是我应该遵循的另一个步骤?

XCode:7.3,SDK:5.2.2.GA - 仅使用Ti CLI创建和构建的项目 .

4 回答

  • 1

    首先,您应该检查您的.ipa文件

    unzip yourapp.ipa
    

    如果只有 Payload 存在,则Apple会拒绝您的应用 .

    您应该创建 SwiftSupport/iphoneos 目录并放入适当的swift库文件 .

    您可以通过选中 Payload/yourapp.app/Framesworks 来了解哪些库是必需的 . 但是这个库文件不能用作 SwiftSupport/iphoneos .

    您必须从mac的 /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/swift/iphoneos 目录中复制相应的库 . 文件名与上面的 Payload/yourapp.app/Frameworks 相同,但内容不同 .

    获得 PayloadSwiftSupport 目录后,请按以下方式打包这些目录

    $ zip -r yournewapp.ipa Payload SwiftSupport
    

    (备注:删除所有 .DS_Store 文件,如果存在)

    然后Apple访问 yournewapp.ipa .

  • 2

    供将来参考:我必须通过Xcode归档Titanium项目,因为我的一个第三方库要求在Build阶段执行脚本 .

    收到来自Apple的相同消息,幸运的是修复了它只是将 Embedded Content Contains Swift Code 更改为 No .

  • 0

    此问题现已得到解决,有一个新版本的Titanium SDK,6.0.1.GA专门针对此问题进行了修复 . 我现在已经创建,提交并拥有一个Titanium应用程序,该应用程序现已在应用程序商店中发布 .

  • 0

    您应该在导出ipa文件时选择"Save for iOS App Store Deployment"选项 .
    enter image description here

相关问题