Our company has enjoyed utilizing Expo and have been happy customers of the new “Priority Plan” - however, we’re facing a blocker that’s really impacting us and our customers. We are no longer able to utilize the expo client:ios
command that we’d been previously using to register our devices as well as installing the custom client built on Expo’s servers.
We rely on the release-channels
aspect across our company to switch between builds, so this is a high priority for us!
Expo Diagnostics:
Expo CLI 3.8.0 environment info:
System:
OS: macOS 10.15.1
Shell: 5.7.1 - /bin/zsh
Binaries:
Node: 10.16.3 - /usr/local/bin/node
Yarn: 1.17.3 - /usr/local/bin/yarn
npm: 6.9.0 - /usr/local/bin/npm
Watchman: 4.9.0 - /usr/local/bin/watchman
IDEs:
Xcode: 11.2/11B52 - /usr/bin/xcodebuild
npmGlobalPackages:
expo-cli: 3.8.0
Here’s the latest failed build log:
Using ad hoc provisioning profile id: X7U98Y988K
Error: Reason: Unknown reason, raw: {"type":"Spaceship::AppleTimeoutError","message":"Could not receive latest API key from App Store Connect, this might be a server issue.","backtrace":["/usr/local/turtle-js/node_modules/@expo/traveling-fastlane-darwin/traveling-fastlane-1.9.9-osx/lib/vendor/ruby/2.2.0/gems/fastlane-2.117.1/spaceship/lib/spaceship/client.rb:557:in `rescue in itc_service_key'","/usr/local/turtle-js/node_modules/@expo/traveling-fastlane-darwin/traveling-fastlane-1.9.9-osx/lib/vendor/ruby/2.2.0/gems/fastlane-2.117.1/spaceship/lib/spaceship/client.rb:537:in `itc_service_key'","/usr/local/turtle-js/node_modules/@expo/traveling-fastlane-darwin/traveling-fastlane-1.9.9-osx/lib/vendor/ruby/2.2.0/gems/fastlane-2.117.1/spaceship/lib/spaceship/client.rb:476:in `block in send_shared_login_request'","/usr/local/turtle-js/node_modules/@expo/traveling-fastlane-darwin/traveling-fastlane-1.9.9-osx/lib/vendor/ruby/2.2.0/gems/fastlane-2.117.1/spaceship/lib/spaceship/client.rb:835:in `extract_key_from_block'","/usr/local/turtle-js/node_modules/@expo/traveling-fastlane-darwin/traveling-fastlane-1.9.9-osx/lib/vendor/ruby/2.2.0/gems/fastlane-2.117.1/spaceship/lib/spaceship/client.rb:785:in `log_request'","/usr/local/turtle-js/node_modules/@expo/traveling-fastlane-darwin/traveling-fastlane-1.9.9-osx/lib/vendor/ruby/2.2.0/gems/fastlane-2.117.1/spaceship/lib/spaceship/client.rb:676:in `request'","/usr/local/turtle-js/node_modules/@expo/traveling-fastlane-darwin/traveling-fastlane-1.9.9-osx/lib/vendor/ruby/2.2.0/gems/fastlane-2.117.1/spaceship/lib/spaceship/client.rb:471:in `send_shared_login_request'","/usr/local/turtle-js/node_modules/@expo/traveling-fastlane-darwin/traveling-fastlane-1.9.9-osx/lib/vendor/ruby/2.2.0/gems/fastlane-2.117.1/spaceship/lib/spaceship/portal/portal_client.rb:28:in `send_login_request'","/usr/local/turtle-js/node_modules/@expo/traveling-fastlane-darwin/traveling-fastlane-1.9.9-osx/lib/vendor/ruby/2.2.0/gems/fastlane-2.117.1/spaceship/lib/spaceship/client.rb:769:in `do_login'","/usr/local/turtle-js/node_modules/@expo/traveling-fastlane-darwin/traveling-fastlane-1.9.9-osx/lib/vendor/ruby/2.2.0/gems/fastlane-2.117.1/spaceship/lib/spaceship/client.rb:384:in `login'","/usr/local/turtle-js/node_modules/@expo/traveling-fastlane-darwin/traveling-fastlane-1.9.9-osx/lib/vendor/ruby/2.2.0/gems/fastlane-2.117.1/spaceship/lib/spaceship/client.rb:346:in `login'","/usr/local/turtle-js/node_modules/@expo/traveling-fastlane-darwin/traveling-fastlane-1.9.9-osx/lib/vendor/ruby/2.2.0/gems/fastlane-2.117.1/spaceship/lib/spaceship/portal/spaceship.rb:25:in `login'","/usr/local/turtle-js/node_modules/@expo/traveling-fastlane-darwin/traveling-fastlane-1.9.9-osx/lib/app/manage_ad_hoc_provisioning_profile.rb:114:in `block in <main>'","/usr/local/turtle-js/node_modules/@expo/traveling-fastlane-darwin/traveling-fastlane-1.9.9-osx/lib/app/funcs.rb:13:in `with_captured_output'","/usr/local/turtle-js/node_modules/@expo/traveling-fastlane-darwin/traveling-fastlane-1.9.9-osx/lib/app/manage_ad_hoc_provisioning_profile.rb:108:in `<main>'"]}
at runFastlaneAction (/usr/local/turtle-js/build/builders/utils/ios/adhocBuild.js:85:19)
at <anonymous>
For additional context - we are only now facing this issue after a mistake was made on our end when we accidentally revoked the active Apple distribution certificate which was being used for our Expo Ad-Hoc Profile due to another team member needing to make room for creating a certificate for a non-Expo app’s ad-hoc distribution (This happens as our Apple Developer account limits us to a maximum of 2 distribution certs). Due to that certificate being revoked, all our devices that had the custom Expo client could no longer open it, as it would appear to crash.
After discovering this problem, we attempted to build the custom-client again after cleaning up all the Expo associated profiles and keys - and utilizing the expo-cli
to revoke an inactive certificate in order to have Expo create a new certificate and ad-hoc profile for us to use. Unfortunately, this didn’t seem to work, despite repeating this process.
Thanks in advance!
David