Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

iTMSTransporter: Unable to perform software analysis on Linux. #14349

Closed
frederikbosch opened this issue Mar 6, 2019 · 19 comments
Closed

iTMSTransporter: Unable to perform software analysis on Linux. #14349

frederikbosch opened this issue Mar 6, 2019 · 19 comments

Comments

@frederikbosch
Copy link

While uploading the app with the iTMSTransporter for Linux I receive the following error.

Unable to perform software analysis on Linux. Export an AppStoreInfo.plist from Xcode, and use the -assetDescription option.

What step am I missing? My .itmsp directory looks good. It contains an ipa and a metadata.xml. By the way, I am executing the command /usr/local/itms/bin/iTMSTransporter -m upload directly because I am using the -apiIssuer and -apiKey.

@frederikbosch
Copy link
Author

Apparently, one needs to pass -assetDescription with a .plist as argument. This .plist has to be generated with swinfo, which is an osx application.

@frederikbosch
Copy link
Author

If such a file could be generated without swinfo, that could make fastlane compatible with Linux.

@janpio janpio changed the title Unable to perform software analysis on Linux. iTMSTransporter: Unable to perform software analysis on Linux. Mar 6, 2019
@janpio
Copy link
Member

janpio commented Mar 6, 2019

Can you share what this file should look like? Maybe it isn't that big of a deal to manually generate.

@frederikbosch
Copy link
Author

frederikbosch commented Mar 6, 2019

It's a plist of 10000+ lines, containing metadata about every file in the IPA. That includes specific meta data around images., splash screens etc. Not something you would generate easily.

@frederikbosch frederikbosch reopened this Mar 6, 2019
@frederikbosch
Copy link
Author

frederikbosch commented Mar 6, 2019

The solution for Fastlane to this problem would be that the user should include the AppStoreInfo.plist in the IPA, and then it can be extracted by Fastlane in order to pass it to the Linux version of iTMSTransporter.

When building the app with xcode it is possible to generate this AppStoreInfo.plist by passing -exportOptionsPlist exportOptions.plist to xcodebuild and in the exportOptions.plist one should include option <key>generateAppStoreInformation</key><true/>.

The latter is what I got from the documentation, haven't tried that myself.

@janpio
Copy link
Member

janpio commented Mar 6, 2019

It's a plist of 10000+ lines, containing metadata about every file in the IPA. That includes specific meta data around images., splash screens etc. Not something you would generate easily.

Is it equally complicated for a barebones iOS app?

How does the upload on macOS work when you do not trigger xcodebuild/Xcode to create this file?

Adding <key>generateAppStoreInformation</key><true/> to the exportOptions.plist should not be that hard - look at the gym sourcecode to find out how fastlane builds iOS projects. Also extracting the .ipa before uploading and extracting this file also seems very doable (it's just a rename .zip).

(Did I understand correctly that you build your ipa on a Mac but want to upload it on Linux?)

@frederikbosch
Copy link
Author

@janpio On macOS one does not need the AppStoreInfo.plist because the iTMSTransporter is able to to inspect the IPA and lookup the metadata directly. You are correct that I am building on a MAC, uploading on Linux.

@janpio
Copy link
Member

janpio commented Mar 6, 2019

So to recap: There is an newer version of iTMSTransporter that wants to have additional information about the IPA. On macOS it does that on the fly, but for Linux it requires an additional file included in the IPA to be created during the app build, which can be triggered via an additional entry in exportOptions.plist. Correct?

@frederikbosch
Copy link
Author

100%. See also.

@janpio
Copy link
Member

janpio commented Mar 6, 2019

Ok, so what is the problem then? What do you need fastlane to change here for this to work for you?

Does iTMSTransporter for Linux work when you build the app in a way so that it includes the file?

@frederikbosch
Copy link
Author

Well, I already closed the issue, because I recognized that I had to make sure that the AppStoreInfo.plist was generated. The issue is that deliver does not work on Linux, with support/solution for the -assetDescription here in the itunes_transporter.rb, it could also support deliveries on Linux.

@janpio
Copy link
Member

janpio commented Mar 6, 2019

Ok, I missed that bit: You can supply -assetDescription with a path to iTMSTransporter so uploads work on Windows and Linux (in current versions of iTMSTransporter, 1.13.0 and similar).

Is the .plist generated as an external file or part of the .ipa that has to be extracted first? Implementing a new optional parameter for anything using iTMSTransporter under the hood should not be that hard. But if we have to extract the file first it might be a bit more work (and logic).

@frederikbosch
Copy link
Author

@janpio The .plist can be generated during the build with Xcode, through the exportOptions, or you generate it afterwards with swinfo which is an Apple application (located in the same dir as altool).

@TPXP
Copy link

TPXP commented Mar 7, 2019

Just in case, this is the issue I stumbled on when trying to run the OSX bundle on Linux (it's the final part of #14256 (comment))

@frederikbosch
Copy link
Author

@TPXP It's the same issue as this one. I was in the unfortunate position to read your experiences after I experienced the same thing. Took hours. You probably know how that goes...

@fastlane-bot
Copy link

There hasn't been any activity on this issue recently. Due to the high number of incoming GitHub notifications, we have to clean some of the old issues, as many of them have already been resolved with the latest updates.

Please make sure to update to the latest fastlane version and check if that solves the issue. Let us know if that works for you by adding a comment 👍

@TPXP
Copy link

TPXP commented Apr 7, 2019

This issue has not been resolved with latest updates, don't close this bug please 🙏

@fastlane-bot
Copy link

There hasn't been any activity on this issue recently. Due to the high number of incoming GitHub notifications, we have to clean some of the old issues, as many of them have already been resolved with the latest updates.

Please make sure to update to the latest fastlane version and check if that solves the issue. Let us know if that works for you by adding a comment 👍

@fastlane-bot
Copy link

This issue will be auto-closed because there hasn't been any activity for a few months. Feel free to open a new one if you still experience this problem 👍

@fastlane fastlane locked and limited conversation to collaborators Aug 1, 2019
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests

4 participants