Fix bug when uploading builds to iTunesConnect #159
Conversation
The Validation tool's -online and -upload options were removed causing all iTunesConnect uploads to fail. This uses iTMSTransporter instead. * Create a Package.itmsp - Application Loader's spec for uploading files * Write metadata.xml explaining what is contained in the upload * Add the size and MD5 sha of the IPA to the XML * Use iTMSTransporter's -upload option to upload the package * Clean up the created directory Note: This requires passing in the Apple ID with the -i or --apple-id option. This can be found in iTunesConnect under: My Apps -> [App Name] -> More -> About This App -> Apple ID
|
Potentially worth noting that this method will result in an invalid binary if the app contains any Swift code (to my knowledge,there's no known workaround). Basically only the Xcode organizer knows how to properly bundle Swift resources that it needs (not even application loader can do it from a straight IPA). |
4669a45
to
a92f7f9
Compare
a92f7f9
to
757e44f
Compare
|
@maxgoedjen Is this true? The transporter should only upload the ipa to iTC, not modify it in any way. Why should there be a difference if it's Swift code or Objective-C? |
|
@KrauseFx basically the gist is basically nothing besides Xcode.app knows how to properly bundle Swift apps (including Application Loader). Currently (this is as of 6.1) the only supported way to submit is via Xcode. Basically it just doesn't copy/sign the Swift libraries properly. |
|
@KrauseFx more to the point it's a problem with the IPA itself. |
Fix bug when uploading builds to iTunesConnect
|
Thanks so much for this, @joemasilotti, and apologies for not getting this in sooner. A new release with this included is forthcoming. As for lack of Swift support, 0a56240 adds a note about this in the README. Thanks, @maxgoedjen, |
|
Any idea if/when the Invalid Swift issue will be fixed? |
The
Validationtool's-onlineand-uploadoptions were removed causing all iTunesConnect uploads to fail (see issue #147). This usesiTMSTransporterinstead.iTMSTransporter's-uploadoption to upload the packageNote: This requires passing in the Apple ID with the -i or --apple-id option. This can be found in iTunesConnect under:
My Apps -> [App Name] -> More -> About This App -> Apple ID