Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Invalid Swift Support - The SwiftSupport folder is missing

I have updated a currently submitted Titanium app and added a watch extension using swift.

Everything works fine if I build and test on sim and build directly to device. I only get an issue when I submit the app to the Apple app store (via XCode Organizer).

The binary submits, passing validation but I get am email from iTunes Connect as follows:

Dear developer,

We have discovered one or more issues with your recent delivery for "xxxxxxxxxxx". To process your delivery, the following issues must be corrected:

Invalid Swift Support - The SwiftSupport folder is missing. Rebuild your app using the current public (GM) version of Xcode and resubmit it.

Once these issues have been corrected, you can then redeliver the corrected binary.

It seems as though it may be related to a build setting: Embedded Content Contains Swift Code.

It looks like this needs to be set to Yes if the Titanium project contains embedded Swift.

As of now I am stuck as I cannot submit the app. Is this a Ti problem or is there another step I should follow?

XCode: 7.3, SDK: 5.2.2.GA - Project created and built using only the Ti CLI.

like image 659
Steve Avatar asked Apr 25 '16 06:04

Steve


1 Answers

First you should check your .ipa file by

unzip yourapp.ipa

If the only Payload exists, the Apple reject your app.

You should create SwiftSupport/iphoneos directory and put the appropriate swift library files.

You can know which libraries are necessary by checking Payload/yourapp.app/Framesworks. But this library files can not be used as SwiftSupport/iphoneos.

You must copy the appropriate libraries from your mac's /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/swift/iphoneos directory. The file names are same as the above Payload/yourapp.app/Frameworks but the contents are different.

After you get the Payload and SwiftSupport directory, do package these directories by

$ zip -r yournewapp.ipa Payload SwiftSupport

(Remark: remove all .DS_Store files if exist)

Then Apple accespt yournewapp.ipa.

like image 195
KNaito Avatar answered Oct 06 '22 20:10

KNaito