fastlane: Unable to upload to testflight using Xcode 14 beta
New Issue Checklist
- Updated fastlane to the latest version
- I read the Contribution Guidelines
- I read docs.fastlane.tools
- I searched for existing GitHub issues
Issue Description
When trying to use upload_to_testflight
with XCode 14 BEta, fastlane reports the following error:
[!] Could not find transporter at /Applications/Xcode-beta.app/Contents/Developer/. Please make sure you set the correct path to your Xcode installation.
Command executed
bundle exec fastlane run upload_to_testflight
Relevant output when running fastlane, including the stack trace and command used
[15:58:37]: Ready to upload new build to TestFlight (App: xxxx)… Could not find transporter at /Applications/Xcode-beta.app/Contents/Developer/. Please make sure you set the correct path to your Xcode installation. [15:58:38]: Going to upload updated app to App Store Connect [15:58:38]: This might take a few minutes. Please don’t interrupt the script.
[!] Could not find transporter at /Applications/Xcode-beta.app/Contents/Developer/. Please make sure you set the correct path to your Xcode installation.
Environment
🚫 fastlane environment 🚫
Stack
Key | Value |
---|---|
OS | 13.0 |
Ruby | 3.1.1 |
Bundler? | true |
Git | git version 2.32.1 (Apple Git-133) |
Installation Source | ~/.rbenv/versions/3.1.1/bin/fastlane |
Host | macOS 13.0 (22A5266r) |
Ruby Lib Dir | ~/.rbenv/versions/3.1.1/lib |
OpenSSL Version | OpenSSL 1.1.1n 15 Mar 2022 |
Is contained | false |
Is homebrew | false |
Is installed via Fabric.app | false |
Xcode Path | /Applications/Xcode-beta.app/Contents/Developer/ |
Xcode Version | 14.0 |
Swift Version | 5.7 |
System Locale
Error |
---|
No Locale with UTF8 found 🚫 |
fastlane gems
Gem | Version | Update-Status |
---|---|---|
fastlane | 2.206.2 | ✅ Up-To-Date |
Loaded fastlane plugins:
No plugins Loaded
Loaded gems
Gem | Version |
---|---|
error_highlight | 0.3.0 |
did_you_mean | 1.6.1 |
bundler | 2.2.31 |
pathname | 0.2.0 |
rake | 13.0.6 |
rexml | 3.2.5 |
CFPropertyList | 3.0.5 |
public_suffix | 4.0.7 |
addressable | 2.8.0 |
artifactory | 3.0.15 |
atomos | 0.1.3 |
aws-eventstream | 1.2.0 |
aws-partitions | 1.598.0 |
aws-sigv4 | 1.5.0 |
jmespath | 1.6.1 |
aws-sdk-core | 3.131.1 |
aws-sdk-kms | 1.57.0 |
aws-sdk-s3 | 1.114.0 |
babosa | 1.0.4 |
claide | 1.1.0 |
colored | 1.2 |
colored2 | 3.1.2 |
highline | 2.0.3 |
commander | 4.6.0 |
declarative | 0.0.20 |
digest-crc | 0.6.4 |
unf_ext | 0.0.8.2 |
unf | 0.1.4 |
domain_name | 0.5.20190701 |
dotenv | 2.7.6 |
emoji_regex | 3.2.3 |
excon | 0.92.3 |
faraday-em_http | 1.0.0 |
faraday-em_synchrony | 1.0.0 |
faraday-excon | 1.1.0 |
faraday-httpclient | 1.0.1 |
multipart-post | 2.0.0 |
faraday-multipart | 1.0.4 |
faraday-net_http | 1.0.1 |
faraday-net_http_persistent | 1.2.0 |
faraday-patron | 1.0.0 |
faraday-rack | 1.0.0 |
faraday-retry | 1.0.3 |
ruby2_keywords | 0.0.5 |
faraday | 1.10.0 |
http-cookie | 1.0.5 |
faraday-cookie_jar | 0.0.7 |
faraday_middleware | 1.2.0 |
fastimage | 2.2.6 |
gh_inspector | 1.1.3 |
jwt | 2.4.1 |
memoist | 0.16.2 |
multi_json | 1.15.0 |
os | 1.1.4 |
signet | 0.16.1 |
googleauth | 1.1.3 |
httpclient | 2.8.3 |
mini_mime | 1.1.2 |
trailblazer-option | 0.1.2 |
uber | 0.1.0 |
representable | 3.2.0 |
retriable | 3.1.2 |
webrick | 1.7.0 |
google-apis-core | 0.5.0 |
google-apis-androidpublisher_v3 | 0.21.0 |
google-apis-playcustomapp_v1 | 0.7.0 |
google-apis-iamcredentials_v1 | 0.10.0 |
google-apis-storage_v1 | 0.14.0 |
google-cloud-env | 1.6.0 |
google-cloud-errors | 1.2.0 |
google-cloud-core | 1.6.0 |
google-cloud-storage | 1.36.2 |
json | 2.6.2 |
mini_magick | 4.11.0 |
naturally | 2.2.1 |
optparse | 0.1.1 |
plist | 3.6.0 |
rubyzip | 2.3.2 |
security | 0.1.3 |
simctl | 1.6.8 |
terminal-notifier | 2.0.0 |
unicode-display_width | 1.8.0 |
terminal-table | 1.8.0 |
tty-screen | 0.8.1 |
tty-cursor | 0.7.1 |
tty-spinner | 0.9.3 |
word_wrap | 1.0.0 |
nanaimo | 0.3.0 |
xcodeproj | 1.21.0 |
rouge | 2.0.7 |
xcpretty | 0.3.0 |
xcpretty-travis-formatter | 1.0.1 |
generated on: 2022-06-09
About this issue
- Original URL
- State: closed
- Created 2 years ago
- Reactions: 40
- Comments: 150 (63 by maintainers)
Commits related to this issue
- Fastlane: switch back to Xcode 13 to find transporter See https://github.com/fastlane/fastlane/issues/20371 — committed to SRGSSR/playsrg-apple by pyby 2 years ago
- Fastlane: use Transporter.app See https://github.com/fastlane/fastlane/issues/20371 — committed to SRGSSR/playsrg-apple by pyby 2 years ago
- Fastlane: use Transporter.app See https://github.com/fastlane/fastlane/issues/20371 — committed to SRGSSR/playsrg-apple by pyby 2 years ago
- Update fastlane to temporary version For more info, please refer to https://github.com/fastlane/fastlane/issues/20371#issuecomment-1242768042 — committed to WeTransfer/WeTransfer-iOS-CI by peagasilva 2 years ago
- Update fastlane to temporary version Update fastlane to temporary version (freddi-kit, altool-upload) gem "fastlane", :git => "https://github.com/freddi-kit/fastlane.git", :branch => "altool-upload" ... — committed to WeTransfer/WeTransfer-iOS-CI by peagasilva 2 years ago
- Update fastlane to its master branch gem "fastlane", :git => "https://github.com/fastlane/fastlane.git", :branch => "master" For more info, please refer to https://github.com/fastlane/fastlane/issue... — committed to WeTransfer/WeTransfer-iOS-CI by peagasilva 2 years ago
- Update fastlane to fix https://github.com/fastlane/fastlane/issues/20371 — committed to davidsansome/tsurukame by davidsansome 2 years ago
I found
FASTLANE_ITUNES_TRANSPORTER_USE_SHELL_SCRIPT
to make success upload ipa to AppStore with Transporter.appPlease set FASTLANE_ITUNES_TRANSPORTER_USE_SHELL_SCRIPT as 1 if you want to use Transporter.app.
Dear all,
@freddi-kit PR https://github.com/fastlane/fastlane/pull/20631 looks good now…we have covered all the possible known scenarios. I am adding
status: workaround available
in this ticket because people are no longer blocked to start using Xcode14. Now Xcode14 users can switch the Fastlane version to PR https://github.com/fastlane/fastlane/pull/20631 in local and CI both and everything should work without any hack and without any change inside the Fastfile-scripts/pilot/deliver code.Switch your Fastlane version to PR
Gemfile
to 👇 and runbundle install
,bundle update fastlane
, orbundle update
Please let us know if we are still missing any edge-case or something! To me, PR https://github.com/fastlane/fastlane/pull/20631 is simply fire 🔥🔥🔥 good to go 🚀 Thank you again @freddi-kit 👏
Oh, I was not aware of this! I totally missed this issue 😱
Will add to my queue!
But I’m also working on replacing iTMSTransporter with altool for xcode14 beta user, please wait a moment
This worked with Xcode 14 production version and Fastlane 2.210.0.
One thing to note is that if you haven’t updated your Fastlane in a long time,
bundle update fastlane
might not actually update your Fastlane. I don’t know what random series of commands likegem update
andgem update bundler
andbundle update fastlane
got me there, but… make surefastlane --version
is reporting the version you actually need.You don’t need any other workarounds if you have the latest Fastlane. Thanks again.
Edit: Apparently with verify-only updating Fastlane isn’t enough. So there’s that 😉
Merged, let’s wait new release version. I still wanna your Feedback because there may be missed case, thanks 🙇
Dear all,
@freddi-kit made a good-progress in this PR https://github.com/fastlane/fastlane/pull/20631 I am adding here the testing steps to test this PR and provide valuable feedback.
Testing Steps
Gemfile
to 👇 and runbundle install
,bundle update fastlane
, orbundle update
Pilot
using AppStore-connect API key (i tested this and it is failing at the moment - see details)Pilot
using username-password (old fashion apple-id, password) (i tested this and works 🚀)Deliver
using AppStore-connect API keyDeliver
using username-password (old fashion apple-id, password)Hello. I’ve got answer from Apple via Feedback. ITMSTransporter is officially removed from Xcode 14 beta and now it is only available on Transporter.app. Or apple recommends to use atool instread.
Hi @stherold, we were having the same issue, by looking at Fastlane’s sources, I saw that if you have the
ITMSTRANSPORTER_FORCE_ITMS_PACKAGE_UPLOAD
environment variable set, even if Fastlane usesaltool
, it affects the resulting path as you can see here.After removing that env var,
altool
didn’t complain anymore. Check out if you are setting that, in case you are facing the same thing as we were.With the final version of Xcode14, I’m still having the issue despite the workaround, does anyone else?
I updated to fastlane 2.210.0, removed the two
FASTLANE_ITUNES_TRANSPORTER*
environment variables, and was able to runfastlane beta
and upload my app to TestFlight successfully.Thank you, @freddi-kit ❤️❤️❤️
I’m seeing the exact same issue with Xcode 14 beta and macOS Ventura.
not working for me either. xcode must have auto-updated today.
Any updates on an official fix?
Did anyone figure out how to setup specific version (2.210.0) on github actions? There is no option provided for it, and the error persists for
maierj/fastlane-action@v2.3.0
@ all who want to use 2.210.0
Please don’t forget to unset environment variable which mentioned in https://github.com/fastlane/fastlane/issues/20371#issuecomment-1239093663
Also, please check your Gemfile version and what fastlane you are calling.
If you ask the question which related to them, I may not reply because I wanna focus on actual bug as possible 🙇 (please write freely if you want to ask something)
So it looks like Transporter.app is no longer bundled with Xcode 14. I managed to make some pretty good progress with this by installing Transporter.app from the App Store and specifying:
Disappointingly this now means we hit another error:
Curiously https://github.com/fastlane/fastlane/pull/16689 looks like it actually tried to address this lack of support for
-Djava.ext.dirs=
in Transporter.app’s bundledjava
. That code is still inmaster
(see https://github.com/fastlane/fastlane/blob/master/fastlane_core/lib/fastlane_core/itunes_transporter.rb#L280), so I wonder if perhaps Xcode 14 and Ventura are causing it to fail to use this more up-to-date code path?Further thoughts:
xcrun iTMSTransporter
still happily works on Xcode 14 and Ventura so I have a theory that Fastlane is performing a check that it doesn’t actually need if it’s going to use thexcrun
mechanism and incorrectly failing early.It’s worked for me with Xcode 14.0 (Build version 14A309).
ah! yes thank you!
Thank you @freddi-kit, your workaround has saved me a big headache 🙌
@freddi-kit - Nice job, that worked for me using Xcode 14 RC on MacOS Ventura Beta 6.
I success to fix it when using iTMSTransporter.app. please wait a moment to open PR
Using Xcode 13 fallback or
altool
, mentioned by @ptxmac, we have an ITMS error with Xcode 14 beta 3. Apple does not allow to upload builds from the current iOS and tvOS beta versions.ERROR ITMS-90744: Unsupported Xcode or SDK Version. Your app was built with a version of Xcode or SDK that is not yet supported for upload to App Store Connect. For more information about supported versions of Xcode and SDK for Testflight or App Store submissions, view the App Store Connect What's New page (https://developer.apple.com/app-store-connect/whats-new/).
Using
FASTLANE_ITUNES_TRANSPORTER_PATH=/Applications/Transporter.app/Contents/itms
on macOS Monterey 12.4 has the same “Java Virtual Machine” issue, mentioned by @jbmorley .@AlexScharch-BO Thank you for reporting it. And I’m sorry, in this PR I focused only update part and verify is not implemented, as
itunes_transporter.rb
says so 🙇If you want to use verify, please consider to use https://github.com/fastlane/fastlane/issues/20371#issuecomment-1239093663. I will work the verify part soon as possible so please wait a moment.
To track issue easy, could you create new issue for it?
While following your last suggestion I found the culprit 🤦
I had this in my Fastfile:
which I must’ve added months ago when first trying to solve the original issue!
edit: thanks again for your help @freddi-kit!
I’ve switched over to the master branch but still seem to be getting this error
[!] Could not find transporter at /Applications/Xcode.app/Contents/Developer/. Please make sure you set the correct path to your Xcode installation.
my gemfile looks like this
and i ran
bundle update fastlane
and that updated correctly@asincole
Please call
bundle update fastlane
after my PR merged to fetch new version 😄@freddi-kit sounds like that problem could also be this
Hello, I did some workaround and investigation. I wrote about them
Workaround
pilot
action, I calledxcode-select("/Application/Xcode13.4.1.app")
and it works.Investigation
It looks like ITMSTransporter has problem in Xcode 14 beta and now I sent feed back to apple, please wait for answer
shell An error (-10814) occurred. The operation couldn’t be completed. (OSStatus error -10814.) (null)
, you looks select xcode version correctly. But please consider to do xcode-select if you got another error message, it should be other issue which I’m not mention.The fastlane bahavior with
FASTLANE_ITUNES_TRANSPORTER_PATH
may be bug. I’m not sure why fastlane calls to java runtime directly which is contained in itsm. This should be done by frontend part of ITMSTransporter. I’m checking how to improve it.Perhaps it would make sense to look at
altool
instead of iTMS. It seems to be apples preferred way to do uplaods from scripts / cli: https://help.apple.com/asc/appsaltool/I am still seeing this issue with xcode14.2 using pilot
you save my life, bro @freddi-kit
YES !
@willokyes @niyaoyao I’m not sure why you are still using old fastlane, but you don’t need to do them in newest fastlane version with Xcode 14
Thanks, it worked 👍🏼
First of all, thanks very much for putting this fix in place and addressing this issue so quickly, @freddi-kit! Really appreciate it. 🙂
It looks like the changes do not make any updates to validation, as I just tried the latest Fastlane version (2.210.0) and validation still fails with the
Could not find transporter at /Applications/Xcode.app/Contents/Developer/.
error.I also see this addition in
itunes_transporter.rb
:I’m wondering if there is any intention to expand this solution to fix validation as well. My team and I sometimes use App Store Connect validation to make sure that our CI deployment pipeline continues to function properly (without having to actually upload the .ipa file).
@freddi-kit the upload to TF was successful thank you for the help. My ENV variables were never set so that wasn’t the issue By my previous comment I wanted to confirm whether the Transporter.app uninstallation is mandatory or not
yes, and now you can uninstall Transporter.app
You also can try to check by adding below code in Fastfile @alfavata
fastlane never loads Transporter.app if FASTLANE_ITUNES_TRANSPORTER_PATH is not set. so … i would like you to do other way like opening new terminal.app and try. Could you try? (And please check your environment variable settings in
.zshrc
or other CI settings)hm…
@alfavata You may still set FASTLANE_ITUNES_TRANSPORTER_PATH, please unset itsorry please wait, I missed you said you unset them
@freddi-kit Yep managed to build and deploy using
bundle exec fastlane {your_lane}
not sure what changed between tries but all working now.Thanks for the help 😃
@freddi-kit thanks a lot. 😃
Curious though, when your PR is merged, I can update my gemfile to look like this
@freddi-kit thanks a lot, it works fine now. I can’t remember why I was getting an error yesterday. You are a lifesaver, thanks a lot. So moving forward, I always need to prefix with
bundle exec
before running my Fastlane command?Same in CI yeah?
thanks @peagasilva
@asincole Good job 👍
@freddi-kit oh shit, sorry lol. I deleted my keys from the file because I wanted to paste them here.
I’ve restored the keys and I’m rerunning the command. I unset those env variables and so far, I do not have a problem. I will update you when it finishes running if it works this time. thanks
@freddi-kit just to make sure: is your api key correct?
invalid curve name
happened to me, but it turned out my key was incorrect - empty in my case.I hope this can help pointing you to the right direction.
hey @freddi-kit no worries, I can see you have your hands full. Thanks for all the work you are doing.
if I unset FASTLANE_ITUNES_TRANSPORTER_USE_SHELL_SCRIPT and FASTLANE_ITUNES_TRANSPORTER_PATH then I get this when I try to push a beta with pilot
Thanks for all the work here - eager to see the final release with the aitool branch merged, hopefully after the API hanging thing was fixed. This looks like a frustrating little tangle of issues.
Posting what worked for me just now, since I use fastlane but without using bundler so installing from a git repo/branch is more difficult, but “specific_install” makes it possible:
Then I altered my
upload_to_testflight
to have parameterskip_waiting_for_build_processing: true
, and 💥 it worked. Kudos!@hervenivon I investigated and it should be other issue due to API issue, let me check after the this issue and PR is merged, please consider to use
skip_waiting_for_build_processing
until itMe too, and AppStore Connect still show app is in processing so I think it is app store connect side issue
@hervenivon that was the first thing I tried, didn’t work. I’m currently unpacking XCode 13 to see if that works. Meantime I was able to use xcode to upload the archive to testflight.
@Roberdan @rmdvector this workaround https://github.com/fastlane/fastlane/issues/20371#issuecomment-1242768042 worked for me except for the end of processing.
faslane
has never been able to get the update “signal” to finish.@freddi-kit, confirmed working, thanks!
@IanHoar I fixed my code, please try it again
@crazymanish I think you are seeing the same issue as me. I just attempted a deploy with your instructions using Pilot+APIKey and got this:
'build_upload_command': \e[31m[!] undefined method 'shellescape' for nil:NilClass\e[0m (NoMethodError)
Submission is open since September 7: https://developer.apple.com/news/releases/?id=09072022h
After reading all the great answers here, one way that worked for us until a new method is default:
export FASTLANE_ITUNES_TRANSPORTER_USE_SHELL_SCRIPT=1
andexport FASTLANE_ITUNES_TRANSPORTER_PATH=/path/to/unzipped/itms
Yes. After few rejected builds when the new Xcode beta was available, now, it works like a charm.
Sorry for hijacking this thread, but does Apple already accepts Xcode 14/iOS 16 builds for TestFlight? I can’t seem to find any information here.
Thanks for @ptxmac 's idea , I was able to upload my app using
altool
and here is the azure task for itBut you must ensure that you have installed the API key
P8
file at~/private_keys
on your machine. and clean it after finishing the buildA workaround is to keep XCode 13 installed and use either
xcode-select
to change the default xcode, or overwrite it in the fastlane file (the method is also calledxcode-select
in fastlane).Xcode 13 won’t open on macOS 13, but the cli tools still work perfectly.
Also note that Apple won’t even approve Xcode 14 ipa’s for the appstore, so having a Xcode 13 install is a must for anyone wishing to release.