fastlane / fastlane

🚀 The easiest way to automate building and releasing your iOS and Android apps

Home Page:https://fastlane.tools

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Unable to upload to testflight using Xcode 14 beta

ptxmac opened this issue · comments

New Issue Checklist

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

I'm seeing the exact same issue with Xcode 14 beta and macOS Ventura.

I'm seeing the exact same issue with Xcode 14 beta and macOS Ventura.

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:

FASTLANE_ITUNES_TRANSPORTER_PATH=/Applications/Transporter.app/Contents/itms

Disappointingly this now means we hit another error:

[13:37:14]: [iTMSTransporter] -Djava.ext.dirs=/Applications/Transporter.app/Contents/itms/java/lib/ext is not supported.  Use -classpath instead.
[13:37:14]: [iTMSTransporter] Error: Could not create the Java Virtual Machine.
[13:37:14]: [iTMSTransporter] Error: A fatal exception has occurred. Program will exit.

Curiously #16689 looks like it actually tried to address this lack of support for -Djava.ext.dirs= in Transporter.app's bundled java. That code is still in master (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 the xcrun mechanism and incorrectly failing early.

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/

Im facing the same problem. Any news how to solve or we need to downgrade macOS for using v13 xcode version

A 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 called xcode-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.

Thanks for @ptxmac 's idea , I was able to upload my app using altool and here is the azure task for it

- task: Bash@3
  displayName: 'Release to App store'
  inputs:
    targetType: inline
    script: |
      xcrun altool --validate-app -f my-app.ipa --apiKey $apiKeyId --apiIssuer $apiIssuer --output-format json --type ios
      xcrun altool --upload-app -f my-app.ipa --primary-bundle-id $bundleId --apiKey $apiKeyId --apiIssuer $apiIssuer --type ios

But you must ensure that you have installed the API key P8 file at ~/private_keys on your machine. and clean it after finishing the build

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 .

ezoic increase your site revenue