使用Application Loader提交应用更新后,我收到了Apple的这封电子邮件:
我们发现您最近交付的一个或多个问题 “[App Name]”。要处理您的交付,必须满足以下问题 纠正:
无效的Swift支持 - 缺少SwiftSupport文件夹。重建 您的应用程序使用当前公共(GM)版本的Xcode并重新提交 它
一旦这些问题得到纠正,您就可以重新发送 纠正二进制。
我已经确认这个二进制文件是使用最新的Xcode GM(7.3.1)构建的,所以这不是问题。我已经在网上看到了针对这个问题的各种各样的潜在修复方法,但我希望通过提供更多详细信息,有人可以帮我找出具体的解决方案。
NO
。 My understanding如果我们有一个纯粹的Objective-C目标依赖于Swift或混合目标,那么这只应该是YES
。xcarchive
内,SwiftSupport
文件夹就在那里。它包含一个名为iphoneos
的子文件夹,其中包含多个Apple Swift库,如libswiftFoundation.dylib
。.ipa
文件重命名为.zip
并取消归档,则其应用包不包含SwiftSupport
文件夹,但包含Frameworks
文件夹Swift dylibs。答案 0 :(得分:10)
此处的解决方案位于this answer。我们需要将新-exportOptionsPlist
标记与xcodebuild
一起使用,而不是使用较旧的-exportFormat
和-exportWithOriginalSigningIdentity
标记。 plist只需要将method
键设置为app-store
。
答案 1 :(得分:2)
答案 2 :(得分:2)
在通过 Transporter 应用程序将is_sub = True
def on_message(msg):
print(msg)
if msg == "STOP":
unsubscribe(key)
is_sub = False
#continue to code
print("Start")
key = subscribe(on_message)
while is_sub:
print("on sub")
time.sleep(1)
#cotinue here
print("End")
文件上传到App Store Connect之后,我收到了同一封电子邮件。以下是我出错的地方:我使用临时分发应用程序。
以下步骤是解决我的错误的方法:
.ipa
。ExportOptions.plist
属性的值为method
。app-store
文件拖放到 Transporter 。就是这样!
答案 3 :(得分:1)
这样做的根本原因是供应配置文件是临时的,并且它不会在ipa中创建SwiftSupport
目录。该文件夹是使用app-store
作为导出方法创建的,因此当我将配置文件更新为app-store
时,它对我有用。
答案 4 :(得分:0)
在我的情况下,我只是将冗余的swift文件添加到项目中,它解决了问题。
答案 5 :(得分:0)
使用此https://github.com/ndpiparava/Swift_StripArm64e脚本文件从.app文件中删除arm64e
.. Nitin