fastlane icon indicating copy to clipboard operation
fastlane copied to clipboard

[spaceship] add visionOS support for Connect API

Open yanniks opened this issue 11 months ago β€’ 6 comments

Checklist

  • [x] I've run bundle exec rspec from the root directory to see all new and existing tests pass
  • [x] I've followed the fastlane code style and run bundle exec rubocop -a to ensure the code style is valid
  • [x] I see several green ci/circleci builds in the "All checks have passed" section of my PR (connect CircleCI to GitHub if not)
  • [x] I've read the Contribution Guidelines
  • [x] I've updated the documentation if necessary.
  • [ ] I've added or updated relevant unit tests.

Motivation and Context

While #21574 already introduced basic support for visionOS, we noticed that running pilot currently fails with the following output:

[00:36:41]: ---------------------------------------
[00:36:41]: --- Step: app_store_connect_api_key ---
[00:36:41]: ---------------------------------------
[00:36:41]: ----------------------------------
[00:36:41]: --- Step: upload_to_testflight ---
[00:36:41]: ----------------------------------
[00:36:41]: Creating authorization token for App Store Connect API
[00:36:41]: Ready to upload new build to TestFlight (App: xxxxxxxxxx)...
[00:36:42]: Going to upload updated app to App Store Connect
[00:36:42]: This might take a few minutes. Please don't interrupt the script.
[00:39:35]: --------------------------------------------------------------------
[00:39:35]: Successfully uploaded package to App Store Connect. It might take a few minutes until it's visible online.
[00:39:35]: --------------------------------------------------------------------
[00:39:35]: Successfully uploaded the new binary to App Store Connect
[00:39:35]: Creating authorization token for App Store Connect API
+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|                                                                                                  Lane Context                                                                                                  |
+------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| DEFAULT_PLATFORM                   | ios                                                                                                                                                                       |
| PLATFORM_NAME                      | ios                                                                                                                                                                       |
| LANE_NAME                          | ios sync_codesigning                                                                                                                                                      |
…
+------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
[00:39:36]: Cannot find a matching platform for 'xros' - valid values are IOS, MAC_OS, TV_OS, WATCH_OS

Description

While investigating the issue, we noticed that the platforms that are supported by the Connect API have not been updated back then. This PR adds VISION_OS as a supported platform, as documented by the Apple documentation. Adding VISION_OS to this list fixes the issue mentioned above.

I could not find any tests yet that validate the map function of Spaceship::ConnectAPI::Platform. If you'd like me to add tests for that, please give me a hint whether there is already something that should be extended.

Testing Steps

Create a visionOS application and try to upload it to the App Store, e.g. with pilot.

yanniks avatar Mar 15 '24 20:03 yanniks

Hello all, do you have any idea when this commit could be merged ? Once it will be done I should be able upload to test flight as with ios and mac through ' upload_to_testflight ', right ?

radim93 avatar Apr 08 '24 18:04 radim93

@radim93 yes, upload_to_testflight works. As I'm no maintainer of fastlane, I unfortunately can't tell when this will be merged.

yanniks avatar Apr 08 '24 19:04 yanniks

@rogerluan would be great if this could be merged! πŸ™ This further completes visionOS support that was started in #21574.

I’ve tested this branch by using deliver to upload our visionOS app to App Store Connect and it works great.

I would vote for merging this PR in favor of #21864, which only implements a subset of the changes.

triplef avatar Apr 15 '24 11:04 triplef

@yanniks Thanks for this contribution :) This looks good to me πŸ”₯ Could you resolve the conflict in one file? @triplef Thanks for testing :)

lucgrabowski avatar Apr 15 '24 19:04 lucgrabowski

Would love to see this merged and released!

zsbee avatar Apr 22 '24 09:04 zsbee

@yanniks any chance you could resolve the merge conflict so this can be merged? πŸ™πŸš€

#21871 already added the changes for visionOS in spaceship/connect_api.rb, so I believe you just need to rebase and take the upstream version.

triplef avatar Apr 29 '24 07:04 triplef

I’ve opened a new PR #22032 with the rebased commit so we can get this integrated – hope that’s ok! πŸ™

triplef avatar May 16 '24 19:05 triplef