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

时间:2016-04-25 06:33:02

标签: swift itunesconnect appcelerator apple-watch appcelerator-titanium

我已更新当前提交的Titanium应用,并使用swift添加了手表扩展程序。

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

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

  

亲爱的开发人员,

     

我们发现您最近交付的“xxxxxxxxxxx”存在一个或多个问题。要处理您的交付,必须纠正以下问题:

     

无效的Swift支持 - 缺少SwiftSupport文件夹。使用当前公共(GM)版本的Xcode重建您的应用程序并重新提交。

     

一旦纠正了这些问题,您就可以重新更新已更正的二进制文件。

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

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

截至目前,由于无法提交应用,我陷入困境。这是一个Ti问题还是我应该遵循的另一个步骤?

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

4 个答案:

答案 0 :(得分:3)

首先,您应该通过

检查.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

答案 1 :(得分:1)

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

收到来自Apple的相同消息,幸运的是修复了它只是将嵌入式内容包含Swift代码更改为

答案 2 :(得分:0)

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

答案 3 :(得分:0)

在导出ipa文件时,您应该选择“保存iOS App Store部署”选项。enter image description here