Skip to content
This repository has been archived by the owner on Jun 20, 2021. It is now read-only.

Fix bug when uploading builds to iTunesConnect #159

Merged
merged 2 commits into from Nov 17, 2014

Conversation

joemasilotti
Copy link
Contributor

The Validation tool's -online and -upload options were removed causing all iTunesConnect uploads to fail (see issue #147). 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

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
@maxgoedjen
Copy link

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).

@KrauseFx
Copy link
Contributor

KrauseFx commented Nov 4, 2014

@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?

@maxgoedjen
Copy link

@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.

@maxgoedjen
Copy link

@KrauseFx more to the point it's a problem with the IPA itself.
The itmsp file will upload successfully and pass the initial checks iTunes runs against it, but will move to "Invalid Binary" within a few minutes, citing "Invalid Swift Support."

mattt added a commit that referenced this pull request Nov 17, 2014
Fix bug when uploading builds to iTunesConnect
@mattt mattt merged commit 9f9e48c into nomad:master Nov 17, 2014
@mattt
Copy link
Contributor

mattt commented Nov 17, 2014

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,

@harlanhaskins
Copy link

Any idea if/when the Invalid Swift issue will be fixed?

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Development

Successfully merging this pull request may close these issues.

None yet

5 participants