User Assigned Device Name entitlement still not working with NSExtension - ios

Good day,
Previously, I have requested entitlement at User-Assigned Device Name Entitlement for my app ID.
After Apple approve, I do the follow steps: Tick the User-Assigned Device Name checkbox under Additional Capabilities tab in apple developer website for the identifier. Regenerate the Profile. Add the following value in Entitlements-Release.plist file: com.apple.developer.device-information.user-assigned-device-name
I able to generate the IOS app to testflight with the username device name enable, without NSExtension. Now the app can show the device name that define by user, instead of "Iphone".
However, my app needs to generate together with NSExtension, I am hitting error like follow in my Xcode:
"profile doesn't include the com.apple.developer.device-information.user-assigned-device-name entitlement."
Hence, I request entitlement for the NSExtension as well, after get approved from apple, I repeat the step 1 and step 2 for NSExtension. (No step 3 for NSExtension because no plist for this)
I expected the error will gone because my NSExtension profile already contains the entitlement. However, it's still the same.
May I know which steps I missing and how to fix this?
And I can see the following value under app profile download: com.apple.developer.device-information.user-assigned-device-name
But not NSExtension profile.
Please help on this, thanks.

Related

XCode/iOS: Signed With Invalid Entitlements

Xcode is building my app successfully, but it gives me this error immediately after the build is completed:
The executable was signed with invalid entitlements.
The entitlements specified in your application’s Code Signing
Entitlements file are invalid, not permitted, or do not match those
specified in your provisioning profile. (0xE8008016).
I have read through a few other stack overflow threads on here, which lead me the try the following, all of which ended up unsuccessfully:
Ensured the same bundle identifier was provided in both the .plist file and the under "Packaging" in "Build Settings".
Restarted Xcode.
Ensured my Device ID was properly linked in my developer account.
Deleted my .entitlements file and allowed Xcode to automatically regenerate it after clicking "Fix Issue" in "Capabilities".
One thing that I think might be causing it is that my provisioning profile contains the following list of items:
Get-task-allow,
Aps-environment,
com.apple.developer.team-identifier,
Application-identifier,
Keychain-access-groups
But my entitlements file, even when automatically generated, only includes the aps-environmentkey.
I would gladly enter all the aforementioned keys manually, but I am not sure what kind of values they can take--I am willing to try a list of different values, but I can't seem to find this information on Apple's docs.
If anyone knows of such a guide, I would be grateful. If anyone also has any other suggestions to try, I am open to that as well.
EDIT: I followed Apple's Entitlement Troubleshooting guide, dowloaded my provisioning profile, obtained the dict of entitlements from it (with the exact values), and pasted it into my .entitlements file--and somehow, I am still getting the same error...
EDIT #2: If it is relevant, I am code signing manually, by downloading my provisioning profile directly from my dev account.
EDIT #3: I am only using three entitlements: Push notifications and the default Game Center and In-App Purchases. I have made sure that the push notifications are configured properly--development, but I am not sure what to do with the other two (I am not actually using them, they are just set by default).

iTunes Connect - entitlement error

Apps that use the entitlements [com.apple.developer.homekit] must have a privacy policy URL for [English, Turkish]. If your app doesn’t use these entitlements, remove them from your app and upload a new binary.
I didn't choose home kit entitlement in App ID. Where will I remove from this entitlement ?
First check that HomeKit is off in your app's capabilities pane in Xcode:
Then remove HomeKit.framework from link step in the Build Phases pane:
Then in the developer portal, in Certificates, Identifiers and Profiles, make sure HomeKit is disabled in your App's Identifier:
Clean your project and remove derived data.
I exactly have done all of this. But still it gives me same error. Im sure the app doesn't include anything about homekit. Maybe it can be different solution for this, can't be ?

Apple Store submit fails with Error ITMS-90046, but Associated Domains is not among entitlements

When I first built my app & Watchkit app, I had the "Associated Domains" capability enabled. I've disabled it in the "Capabilities" panel of both the watchkit extension and the companion app, and confirmed that the key is gone from each info.plist.
I have gone to Apples' "Certificates, Identifiers and Profiles" page, selected the App ID for each the Watchkit App, The Extension, and the App, unticked "Associated Domains", regenerated the provisioning profiles for each, downloaded and installed them.
I've done a Ctrl-Shift-Command-K complete clean, reboot, and rebuild. On sumbission to the appstore I get the error message below.
I have done a project search within xcode and cannot find a com.apple.developer.associated-domains key. I've searched the build directory, nada. I don't believe this key actually exists in my code, and yet iTunesConnect seems to think its there and set to '*'.
To fix this issue:
log into Apple Deveveloper Center
Go to Certificates, Identifiers & Profiles.
Go to Identifiers/App IDs.
Select your App ID and Edit
Uncheck Associated Domains
Save
You will have to regenerate any provisioning files associated with the App ID. For some reason the "Associated Domains" got checked for my app.
Deselecting it made the AppStore submission work.
I think this is a bug.
I managed a workaround by simply inserting a new Array item in the Entitlements.plist of both the companion app and the Watchkit extension: "com.developer.apple.associated-domains" and a valid domain for the webcredentials: string. While this will have no practical effect as neither my provisioning files nor the Capabilities tab of the app or extension are enabled for associated domains, it stopped whatever code scanner at itunesconnect was tripping over an invalid value of "*" for the non-existent key.
If you want to use associated-domains, make sure each entry in Entitlements.plist > com.developer.apple.associated-domains uses the following format:
<service>:<fully qualified domain>[:port number]
eg.
webcredentials:www.example.com
applinks:www.example.com
activitycontinuation:www.example.com
Keep in mind [:port number] is optional, but <service> and <fully qualified domain> are required!
From the App submission failed errors what I understand is possibly your provisioning profile still have the "associated-domains" enabled and its missing in your application "entitlements" file.
So obviously there will be two scenarios.
Scenario 1: Do you want to support "associated-domains". This should be enabled for features like "Universal Links".
Please refer the following link:
https://developer.apple.com/library/content/documentation/IDEs/Conceptual/AppDistributionGuide/AddingCapabilities/AddingCapabilities.html
In this case please don't manually edit your "entitlement" file. Instead follow the steps.
1. Select your project file in Xcode.
2. Select appropriate Target under "Targets"
3. Select "Capabilities" which is next to "General"
4. You can see an option for "Associated Domains" as given below.
5. Enable "Associated Domains". If you enable "Associated Domains" Xcode will ask you to login to the Developer account and it will be in sync with your AppId and Provisioning profile.
As mentioned in the above screenshot it will do two things while enabling "Associated Domains"
Add the Associated Domain entitlement to your entitlements file.
Add the associated Domain feature into your App ID.
If there is any issue in syncing your settings from Xcode and Developer account , please check the following checkbox is enabled.
Also make sure that your , In House and App Distributions provisioning profiles are properly updated and in sync.
Most the work will do by Xcode itself, we just needs to listen and understand.
Scenario 2: Your App don't need the "Associated-Domain" capability.
In this case , Please follow the Answer given by #Ciprian Rarau. Its well explained.
As other stated in ERROR ITMS-90164/90046: Invalid Code Signing Entitlements I was able to solve the issue by performing Clean build.
For the record, I was getting error code ITMS-90164.
Was getting: "The executable was signed with invalid entitlements"
messages
Searching with Google gave some useful hints, but the ^ message did
not stop
Went to: Xcode > Window > Devices
Then: At the lower left-hand corner of the Devices Window I selected
the "Show the device console" button
Starting from the button of the log I scanned the information and
found the problem and fixed it in a short amount of time
In my case it involved com.apple.developer.associated-domains
entitlements, and I needed to keep associated-domains
I will use the device console in the future whenever there are device error messages, what a time saver
Solved the problem in a short amount of time
BTW, THANK YOU all for your help

itunes connect - not contain the correct beta entitlement

I read that:
App "does not contain the correct beta entitlement"
I recreate production provisioning profile
I checking info.plist
Still the same bug. Last answer from topic above is recreate xcode entitlement "So the solution is to provide the entitlement in your plist 1) please turn on in-app purchase & game Center capabilities then turn it of again , this will add the missing entitlement AS Follow "
can you answer what .plist is generate (not info.plist?) and what data is changed after it (what section). Because I manualy edit info.plist (Marmalade SDK application), I can't edit entitlements from XCode.
The new itunes connect is buggy. Try:
Regenerate you iOS Provisioning Profiles (Distribution), then rebuild your binary with the new provisioning profile file and resubmit.
Actually you can still choose the uploaded build and submit for review. The status will be changed to "waiting for review".

Invalid Binary on Itunes in ios sdk

I just try to upload a new version of my app with some bugs fixed.
I check all the icon files & version history are set in plist file.
App is passed the Validation & shows me as submitted & also shows me Upload received.
But after 2 minutes it shows me Invalid Binary.
I can't able to find the problem.
Help me to solve this.
Thank you,
First Please Check Your Email Account (Developer ID) Email Address. In My Case i Got email form Apple with diagnose information.
Here is the All Details In the Email.
Invalid Code Signing Entitlements - The signature for your app bundle contains entitlement values that are not supported. For the com.apple.developer.ubiquity-container-identifiers entitlement, the first value in the array must consist of the prefix provided by Apple in the provisioning profile followed by a bundle identifier suffix. The bundle identifier must match the bundle identifier for one of your apps or another app that you are permitted to use as the iCloud container identifier.
Specifically, value "KD8JU7654H.*" for key "com.apple.developer.ubiquity-container-identifiers" in ProductName is not supported.
Invalid Code Signing Entitlements - The signature for your app bundle contains entitlement values that are not supported.
Specifically, value "KD8JU7654H.*" for key "com.apple.developer.ubiquity-kvstore-identifier" in ProductName is not supported.
In another option Revoked all of your certificates. then add new app id and provisioning then try to upload application.

Resources