fastlane / fastlane

🚀 The easiest way to automate building and releasing your iOS and Android apps
https://fastlane.tools
MIT License
39.61k stars 5.71k forks source link

Can't make spaceship work #20233

Closed matart15 closed 2 years ago

matart15 commented 2 years ago

New Issue Checklist

Issue Description

I installed fastlane with brew

appstore_app_version = app.live_version.version

this code throws error. looks like there is no live_version property for app

if I use bundler to install fastlane

spaceship won't even login. [!] undefined methodlogin' for Spaceship::Tunes:Module`

already tried require 'spaceship' from https://github.com/fastlane/fastlane/issues/11528. same result.

even cli playground gives same result

Screen Shot 2022-04-29 at 23 37 24

Command executed
Complete output when running fastlane, including the stack trace and command used
 [REPLACE THIS WITH YOUR INFORMATION] 

Environment

🚫 fastlane environment 🚫 installed with bundler ### Stack | Key | Value | | --------------------------- | -------------------------------------------------------------- | | OS | 12.2.1 | | Ruby | 2.6.8 | | Bundler? | true | | Git | git version 2.34.0 | | Installation Source | /usr/local/Cellar/tmuxinator/3.0.1/libexec/bin/fastlane | | Host | macOS 12.2.1 (21D62) | | Ruby Lib Dir | /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib | | OpenSSL Version | LibreSSL 2.8.3 | | Is contained | false | | Is homebrew | false | | Is installed via Fabric.app | false | | Xcode Path | /Applications/Xcode.app/Contents/Developer/ | | Xcode Version | 13.3.1 | | Swift Version | 5.6 | ### System Locale | Variable | Value | | | -------- | ----------- | - | | LANG | en_US.UTF-8 | ✅ | | LC_ALL | | | | LANGUAGE | | | ### fastlane files:
`./fastlane/Fastfile` ```ruby require 'Spaceship' project_name = 'myapp' xcodeproj = "./ios/#{project_name}.xcodeproj" # since react native app default_platform(:ios) workspace = "./ios/#{project_name}.xcworkspace" # since using pod version_number_base = "1.5" app_identifier = CredentialsManager::AppfileConfig.try_fetch_value(:app_identifier) itc_team_id = CredentialsManager::AppfileConfig.try_fetch_value(:itc_team_id) platform :ios do # desc 'Fetch certificates and provisioning profiles' # lane :certificates do |options| ## match try to create new distribution certificate ## but app store have limited numbers of distribution certificates ## look at here and check if this problem resolved ## https://github.com/fastlane/fastlane/search?q=No%20code%20signing%20identity%20found%20and%20can%20not%20create%20a%20new%20one%20because%20you%20enabled%20%60readonly%60&type=Issues&utf8=%E2%9C%93 # match( # git_branch: options[:git_branch], # app_identifier: app_identifier, # type: 'appstore' # ) # end desc ‘Checks live version and asks to update if needed’ lane :check_version do Spaceship::Tunes.login("*****@****.com") # app = Spaceship::Tunes::Application.find(app_identifier) # Spaceship::Tunes.login() app = Spaceship::Tunes::Application.find(app_identifier) appstore_app_version = app.live_version.version # project_app_version = get_version_number(xcodeproj: project_name, target: "release") # if appstore_app_version == project_app_version # increment_version_number(xcodeproj: PROJECT_NAME, bump_type: "minor") # sh "git add -A && git commit -m 'Increment app version'" # end # asdf = app.get_live_app_store_version puts "==================== CCCCCCCCCCCCCC =============" puts app puts app.version_sets # puts app.version_sets.application puts app.latest_version # puts app.get_live_app_store_version # the version that's currently available in the App Store # puts app.get_edit_app_store_version # the version that's in `Prepare for Submission`, `Metadata Rejected`, `Rejected`, `Developer Rejcted`, `Waiting for Review`, `Invalid Binary` mode # puts app.get_latest_app_store_version # the version that's the latest one # puts app.get_pending_release_app_store_version # the version that's in `Pending Developer Release` or `Pending Apple Release` mode # puts app.get_in_review_app_store_version # the version that is in `In Review` mode puts "==================== DDDDDDDDDDDDDD =============" # live_version = app.live_version.version # if app_version == live_version; # raise “Update version! #{live_version} is released already.” # end end end ```
`./fastlane/Appfile` ```ruby apple_id("****************") # Your Apple Developer email address app_identifier "****************" # prod bundle identifier itc_team_id "*********" # App Store Connect Team ID. https://appstoreconnect.apple.com/WebObjects/iTunesConnect.woa/ra/user/detail -> associatedAccounts -> contentProviderId team_id "**********" # Developer Portal Team ID # For more information about the Appfile, see: # https://docs.fastlane.tools/advanced/#appfile ```
### fastlane gems | Gem | Version | Update-Status | | --------- | ------- | ------------------ | | fastlane | 2.205.2 | ✅ Up-To-Date | | spaceship | 0.0.1 | 🚫 Update available | ### Loaded fastlane plugins: **No plugins Loaded**
Loaded gems | Gem | Version | | ------------------------------- | ------------ | | did_you_mean | 1.3.0 | | bundler | 2.3.12 | | 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.581.0 | | aws-sigv4 | 1.5.0 | | jmespath | 1.6.1 | | aws-sdk-core | 3.130.2 | | aws-sdk-kms | 1.56.0 | | aws-sdk-s3 | 1.113.2 | | babosa | 1.0.4 | | claide | 1.1.0 | | coderay | 1.1.3 | | 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.1 | | 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.3 | | 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.4 | | faraday-cookie_jar | 0.0.7 | | faraday_middleware | 1.2.0 | | fastimage | 2.2.6 | | gh_inspector | 1.1.3 | | jwt | 2.3.0 | | 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.1.1 | | retriable | 3.1.2 | | webrick | 1.7.0 | | google-apis-core | 0.4.2 | | google-apis-androidpublisher_v3 | 0.19.0 | | google-apis-playcustomapp_v1 | 0.7.0 | | google-apis-iamcredentials_v1 | 0.10.0 | | google-apis-storage_v1 | 0.13.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.1 | | 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 | | method_source | 1.0.0 | | pry | 0.14.1 |
*generated on:* **2022-04-29**
✅ fastlane environment ✅ : brew installed ### Stack | Key | Value | | --------------------------- | ------------------------------------------------------- | | OS | 12.2.1 | | Ruby | 3.1.2 | | Bundler? | false | | Git | git version 2.34.0 | | Installation Source | /usr/local/Cellar/fastlane/2.205.2/libexec/bin/fastlane | | Host | macOS 12.2.1 (21D62) | | Ruby Lib Dir | /usr/local/Cellar/ruby/3.1.2/lib | | OpenSSL Version | OpenSSL 1.1.1n 15 Mar 2022 | | Is contained | false | | Is homebrew | true | | Is installed via Fabric.app | false | | Xcode Path | /Applications/Xcode.app/Contents/Developer/ | | Xcode Version | 13.3.1 | | Swift Version | 5.6 | ### System Locale | Variable | Value | | | -------- | ----------- | - | | LANG | en_US.UTF-8 | ✅ | | LC_ALL | | | | LANGUAGE | | | ### fastlane files:
`./fastlane/Fastfile` ```ruby require 'Spaceship' project_name = '************' xcodeproj = "./ios/#{project_name}.xcodeproj" # since react native app default_platform(:ios) workspace = "./ios/#{project_name}.xcworkspace" # since using pod version_number_base = "1.5" app_identifier = CredentialsManager::AppfileConfig.try_fetch_value(:app_identifier) itc_team_id = CredentialsManager::AppfileConfig.try_fetch_value(:itc_team_id) platform :ios do # desc 'Fetch certificates and provisioning profiles' # lane :certificates do |options| ## match try to create new distribution certificate ## but app store have limited numbers of distribution certificates ## look at here and check if this problem resolved ## https://github.com/fastlane/fastlane/search?q=No%20code%20signing%20identity%20found%20and%20can%20not%20create%20a%20new%20one%20because%20you%20enabled%20%60readonly%60&type=Issues&utf8=%E2%9C%93 # match( # git_branch: options[:git_branch], # app_identifier: app_identifier, # type: 'appstore' # ) # end desc ‘Checks live version and asks to update if needed’ lane :check_version do Spaceship::Tunes.login("****************") # app = Spaceship::Tunes::Application.find(app_identifier) # Spaceship::Tunes.login() app = Spaceship::Tunes::Application.find(app_identifier) # appstore_app_version = app.live_version.version # project_app_version = get_version_number(xcodeproj: project_name, target: "release") # if appstore_app_version == project_app_version # increment_version_number(xcodeproj: PROJECT_NAME, bump_type: "minor") # sh "git add -A && git commit -m 'Increment app version'" # end # asdf = app.get_live_app_store_version puts "==================== CCCCCCCCCCCCCC =============" puts app puts app.version_sets # puts app.version_sets.application puts app.latest_version # puts app.get_live_app_store_version # the version that's currently available in the App Store # puts app.get_edit_app_store_version # the version that's in `Prepare for Submission`, `Metadata Rejected`, `Rejected`, `Developer Rejcted`, `Waiting for Review`, `Invalid Binary` mode # puts app.get_latest_app_store_version # the version that's the latest one # puts app.get_pending_release_app_store_version # the version that's in `Pending Developer Release` or `Pending Apple Release` mode # puts app.get_in_review_app_store_version # the version that is in `In Review` mode puts "==================== DDDDDDDDDDDDDD =============" # live_version = app.live_version.version # if app_version == live_version; # raise “Update version! #{live_version} is released already.” # end end end ```
`./fastlane/Appfile` ```ruby apple_id("****************") # Your Apple Developer email address app_identifier "****************" # prod bundle identifier itc_team_id "*********" # App Store Connect Team ID. https://appstoreconnect.apple.com/WebObjects/iTunesConnect.woa/ra/user/detail -> associatedAccounts -> contentProviderId team_id "**********" # Developer Portal Team ID # For more information about the Appfile, see: # https://docs.fastlane.tools/advanced/#appfile ```
### fastlane gems | Gem | Version | Update-Status | | -------- | ------- | ------------- | | fastlane | 2.205.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 | | atomos | 0.1.3 | | rexml | 3.2.5 | | CFPropertyList | 3.0.5 | | claide | 1.1.0 | | colored2 | 3.1.2 | | nanaimo | 0.3.0 | | xcodeproj | 1.21.0 | | rouge | 2.0.7 | | xcpretty | 0.3.0 | | terminal-notifier | 2.0.0 | | unicode-display_width | 1.8.0 | | terminal-table | 1.8.0 | | plist | 3.6.0 | | public_suffix | 4.0.7 | | addressable | 2.8.0 | | multipart-post | 2.0.0 | | word_wrap | 1.0.0 | | optparse | 0.1.1 | | tty-screen | 0.8.1 | | tty-cursor | 0.7.1 | | tty-spinner | 0.9.3 | | artifactory | 3.0.15 | | babosa | 1.0.4 | | colored | 1.2 | | highline | 2.0.3 | | commander | 4.6.0 | | excon | 0.92.2 | | faraday-em_http | 1.0.0 | | faraday-em_synchrony | 1.0.0 | | faraday-excon | 1.1.0 | | faraday-httpclient | 1.0.1 | | faraday-multipart | 1.0.3 | | 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 | | unf_ext | 0.0.8.1 | | unf | 0.1.4 | | domain_name | 0.5.20190701 | | http-cookie | 1.0.4 | | faraday-cookie_jar | 0.0.7 | | faraday_middleware | 1.2.0 | | fastimage | 2.2.6 | | gh_inspector | 1.1.3 | | json | 2.6.1 | | mini_magick | 4.11.0 | | naturally | 2.2.1 | | rubyzip | 2.3.2 | | security | 0.1.3 | | xcpretty-travis-formatter | 1.0.1 | | dotenv | 2.7.6 | | bundler | 2.3.11 | | simctl | 1.6.8 | | jwt | 2.3.0 | | uber | 0.1.0 | | declarative | 0.0.20 | | trailblazer-option | 0.1.2 | | representable | 3.1.1 | | retriable | 3.1.2 | | mini_mime | 1.1.2 | | 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 | | webrick | 1.7.0 | | google-apis-core | 0.4.2 | | google-apis-playcustomapp_v1 | 0.7.0 | | google-apis-androidpublisher_v3 | 0.19.0 | | google-cloud-env | 1.6.0 | | google-cloud-errors | 1.2.0 | | google-cloud-core | 1.6.0 | | google-apis-iamcredentials_v1 | 0.10.0 | | google-apis-storage_v1 | 0.13.0 | | rake | 13.0.6 | | digest-crc | 0.6.4 | | google-cloud-storage | 1.36.2 | | emoji_regex | 3.2.3 | | jmespath | 1.6.1 | | aws-partitions | 1.579.0 | | aws-eventstream | 1.2.0 | | aws-sigv4 | 1.5.0 | | aws-sdk-core | 3.130.1 | | aws-sdk-kms | 1.56.0 | | aws-sdk-s3 | 1.113.0 | | set | 1.0.2 | | forwardable | 1.3.2 | | logger | 1.5.0 | | pathname | 0.2.0 | | shellwords | 0.1.0 | | cgi | 0.3.1 | | date | 3.2.2 | | timeout | 0.2.0 | | stringio | 3.0.1 | | securerandom | 0.1.1 | | uri | 0.11.0 | | openssl | 3.0.0 | | digest | 3.1.0 | | io-nonblock | 0.1.0 | | ipaddr | 1.2.4 | | io-wait | 0.2.1 | | zlib | 2.1.1 | | resolv | 0.2.1 | | time | 0.2.0 | | open-uri | 0.2.0 | | mutex_m | 0.1.1 | | net-protocol | 0.1.2 | | net-http | 0.2.0 | | ostruct | 0.5.2 | | english | 0.7.1 | | erb | 2.2.3 | | strscan | 3.0.1 | | abbrev | 0.1.0 | | io-console | 0.5.11 | | tempfile | 0.1.2 | | delegate | 0.2.0 | | fileutils | 1.6.0 | | tmpdir | 0.1.2 | | base64 | 0.1.1 | | singleton | 0.1.1 | | open3 | 0.1.1 | | nkf | 0.1.1 | | prettyprint | 0.1.1 | | pp | 0.3.0 | | find | 0.1.1 | | yaml | 0.2.0 | | psych | 4.0.3 |
*generated on:* **2022-04-29**
lucgrabowski commented 2 years ago

Hi, I don't think that this is fastlane's issue ;), those calls work fine for me. Take a look at https://github.com/fastlane/fastlane/blob/master/spaceship/docs/AppStoreConnect.md and try to use Spaceship::ConnectAPI :) Let's see if that helps. On the screenshot attached, when you opened spaceship playground, you can see that you're not logged in neither to App Store Connect nor to Developer Portal. Proper logging in should look like on https://github.com/fastlane/fastlane/blob/master/spaceship/README.md#playground page. Requiring spaceship in playground is not needed, but it's fine. If you used IRB, you would have to require spaceship. And I'm not really sure why Spaceship::Tunes.login doesn't work for you..., but still if you write new code, use Spaceship::ConnectAPI, as Spaceship::Tunes can be considered deprecated. If there is no live version for a released app, try to fetch app first as in the docs above. Good luck.

matart15 commented 2 years ago

Thank you.

I gave up and returned back to fastlane without spaceship.