-
Notifications
You must be signed in to change notification settings - Fork 5.9k
[sigh][match] fix issue where unknown attribute template_name
is being sent when creating provisioning profiles
#29591
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
I am not too familiar with fastlane and |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM but I'm also not familiar with this part of fastlane, and don't have enough time to invest in debugging this 😥 I'll leave my approval but I'd like a 2nd pair of eyes from a team member here 🙏
I did a little bit of digging and this fastlane/fastlane/lib/fastlane/actions/docs/sync_code_signing.md Lines 409 to 417 in d7f1ca8
And the docs of the options for match and sigh say:
Now, I poked around in ASC dashboard and couldn't find such thing. Idk if it can still be used as intended by match |
template_name
is being sent when creating provisioning profiles
Anyone support merging this PR soon? Thanks guys! |
+1 |
+1 , Whats the solution for this. |
This is a fairly pressing issue. Would love to see this merged and a release cut soon 🤞🏻 |
Quick update: |
Thanks for the update, When can we expect the fix to be in Live @jonaswaigel |
Basically this PR is the fix and our tests are successful. We are now using our own fork repo of fastlane including this fix until the fastlane contributors merged this PR and released a new version. Unfortunately, I cannot merge as I am no contributor here :D @Monish-Graphy |
This is not working for me. What should I do in case I need to set a template for the profile but can't do it through the additional capabilities setting? |
I don't get it. i went through the changelog list and couldn't find anything related to the /profiles call and the ProfileCreateRequest.Data.Attributes. So either I missed something or apple does a bad job documenting the changes of their public api: https://developer.apple.com/documentation/appstoreconnectapi/app-store-connect-api-release-notes https://developer.apple.com/documentation/appstoreconnectapi/post-v1-profiles |
cc @rogerluan
New intended way is likely through the Capabilities - In App Provisioning. Testing now |
@rasberik any updates on this? |
In the issue that's linked to the PR which first added support for I suspect the |
Correct, this is also our thought about it - maybe this was done by special requirements from development teams to Apple to be able to add templates with additional capabilities which did not officially exist. |
Someone has some guidance how this fix can be used until it is merged, and an updated version is released? |
You can clone the repo locally, make the change in a different branch and run "gem build fastlane.gemspec". To install it afterwards, you can use e.g. "gem install fastlane -v 2.227.3" which includes your change. To be sure, that you're running the right version, you can run "fastlane --version" - same approach is working in github actions |
@rasberik Where would this be located? "In App Provisioning" is not present in the "Add a capability" window in Xcode 16.4 nor as a capability listed for any of our app identifiers. |
@rogerluan @joshdholtz @AliSoftware can we get this merged in? Do we need more people to test to get this in and released? |
@blaemmle you can also temporarily add this into your Gemfile:
This way you are pointing to the fixed version of fastlane. Just make sure to switch back to official repo once the issue is fixed and merged. |
Removing this is problematic, but not sure what else can be done if it's been removed from the API. It's a breaking change though and should be documented as such. At $dayjob we use this parameter to apply custom entitlements Apple has granted in our account. I still see the custom entitlements drop-down when creating a provisioning profile via Edit: The developer web site is creating the profile by doing a POST to Edit 2: Looks like Apple expects anyone using additional entitlements to migrate to managed capabilities by submitting a form (as the account owner) here: https://developer.apple.com/contact/request/entitlement-migration-requests/ |
@visuallization Sorry for late. The build itself works (can be installed and ran on device), which is a good news already. @nasahapps Its in the setting of the generated provisioning profiles in Apple Developer portal. So for certain Apple Pay features, having Entitlements configured as Now, however, since they removed it - its unclear if its still functional. Clearly some migration & deprecation in progress from Apple, but its not documented at all. |
+1 Please merge 🙏 |
If you are unsure whether Apple will revert support for this field, could Fastlane send it only if an actual value is provided? Then for those who need it, it will still be supported on the Fastlane side and could wait for Apple response. |
same issue here :( |
This Pr #29581 does exactly that but it breaks fastlane when template_name is provided. I don't think we should ship code that breaks. If we are gonna merge this PR we need to update docs as well to remove mentions of template_name and let users know of the new way @rasberik is currently testing. |
@visuallization cc @rogerluan Those blocked can update fastlane, and those who need template_name will need to wait until further incremental updates. I think this would be most efficient way if maintainers agree |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Tested these changes with our CI. Works as expected.
To set the In-App Provisioning capability we had been using the App Store Connect API directly: The IN_APP_PASS_PROVISIONING capability type is not documented but you can see the capability types set on a bundle ID when getting the bundle ID capabilities: After manually setting the In-App Provisioning capability via the Apple Developer portal you will see the new capabilityType: The problem now is Apple has recently (within the last week) removed support for setting the IN_APP_PASS_PROVISIONING capability type via the bundleIdCapabilities API endpoint. I have opened a support ticket with App Developer as well as Apple Wallet Entitlements. So at this moment the only way we can find to set the In-App Provisioning capability is manually via the Apple Developer Portal. I don't think this In-App Provisioning issue should not prevent removal of the template_name property from fastlane. That change is needed ASAP. I just provided this info for anyone looking for a solution/alternative to set Entitlement capabilities. |
Hi folks! Thanks for looking into this. Can this be moved forward, please? We are catering to a large open source community that relies on fastlane builds. We realize this is not an issue fastlane maintainers have introduced, but we have dozens of issue reports coming in daily due to this Apple regression in their profile API handling, and this PR looks to solve it. We would like to avoid any temporary forking of fastlane. @rogerluan or anyone else, any insights or status updates? |
This PR unblocks a critical issue. Our release is currently stuck waiting on this fix. Requesting immediate review and merge to avoid further delays. cc @reviewer-team 🙏 |
I whole heartedly agree here with @rasberik . Currently we can get a lot of people unblocked by merging this. The few who used to use custom entitlements with template_name can be handled in another PR. (If even necessary since there seem to be Capabilities) |
I'm taking a look and will post an update here later today! 🙏 Sorry for the delay and thanks for your patience! |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thank you everyone for testing the changes and confirming everything works as expected!
I agree with @visuallization and @rasberik — a lot of people would benefit from merging this.
However, let’s please follow up with 👇 if needed, thanks!
The few who used to use custom entitlements with template_name can be handled in another PR’ if needed.
Could someone please merge the PR? It has been reviewed. Thank you! |
Thanks @rogerluan for updating the docs! ❤️ |
Aside from that, I learned a thing or two while debugging this issue, so I summarized everything in a new blog post of mine (not affiliated with fastlane): https://www.roger.ml/p/apple-deprecates-template-name — just thought of sharing in case you were also lost when first hearing about this 'template name' thing 😅 |
@rogerluan Thank you so much! |
Checklist
bundle exec rspec
from the root directory to see all new and existing tests passbundle exec rubocop -a
to ensure the code style is validci/circleci
builds in the "All checks have passed" section of my PR (connect CircleCI to GitHub if not)Motivation and Context
Apple Deployment is currently broken because they removed the property
attribtues.templateName
in the profiles call.See documentation: https://developer.apple.com/documentation/appstoreconnectapi/profilecreaterequest/data-data.dictionary/attributes-data.dictionary
Description
Removed
template_name
, since apple seemed to have dropped support for it in the profiles call.Testing Steps
Notes
I am not too familiar with fastlane and
template_name
so not sure if any other changes are needed but tests are passing for now. Not sure if apple supportstemplateName
now in a different way - if so some additional changes might still be needed.Related PRs: