Justin Vallely
Justin Vallely

Reputation: 6089

How do I make Fastlane Deliver work for tvOS?

Upload to iTunesConnect fails with the following error:

"Invalid Provisioning Profile. This provisioning profile is not compatible with iOS apps."

+-----------------------+---------------------------------------+
|                    deliver 2.26.1 Summary                     |
+-----------------------+---------------------------------------+
| username              | [email protected]                  |
| ipa                   | /Users/vagrant/deploy/InspiratoTV.ipa |
| skip_screenshots      | true                                  |
| skip_metadata         | true                                  |
| force                 | true                                  |
| app_identifier        | com.inspirato.travel.InspiratoTV      |
| screenshots_path      | ./screenshots                         |
| metadata_path         | ./metadata                            |
| app_version           | 1.0                                   |
| edit_live             | false                                 |
| platform              | ios                                   |
| skip_binary_upload    | false                                 |
| submit_for_review     | false                                 |
| automatic_release     | false                                 |
| overwrite_screenshots | false                                 |
+-----------------------+---------------------------------------+

It appears that the platform is stuck on "ios" even though I don't have an iOS related app for this bundle ID. I've tried adding "--platform tvOS" to the end of the $ fastlane deliver ... command with no luck.

Upvotes: 1

Views: 1575

Answers (2)

Vladimir Vlasov
Vladimir Vlasov

Reputation: 2090

If you use upload_to_testflight, please, specify appletvos as an app platform

upload_to_testflight(app_platform: "appletvos")

And don't forget to set build(include_bitcode: true) during the build.

If you use match for signing specify a platform parameter:

match(platform: "tvos")

If you use a repository for match add a _tvos suffix to your provisioning profile name. For example, file

profiles/appstore/AppStore_com.yourcompany.youproject.mobileprovision

must be renamed to

 profiles/appstore/AppStore_com.yourcompany.youproject_tvos.mobileprovision

This is necessary to avoid an error with match/sigh.

Upvotes: 0

Justin Vallely
Justin Vallely

Reputation: 6089

Deliver uses the notation "appletvos" for the tvOS platform.


Add that to the end of the $ fastlane deliver command:

$ fastlane deliver ... ... "--platform" "appletvos"

Or add it to your .Deliver file like so:

deliver(platform: "appletvos")

Upvotes: 8

Related Questions