Adding Associated Domains Entitlement For a Flutter App - ios

I need to add Associated Domains Entitlement to my Flutter app, so I can implement App Links.
I use the uni_links plugin which works well for Android. I've added a ios/Runner/Runner.entitlements file as described, but it doesn't work. Apple official docs imply that I need to add something to the app via xcode. Problem is, I don't use xcode, rather Android Studio. I believe I need to manually add an entry to info.plist or project.pbxproj which is what I believe xcode does, however I am not sure what.

Open the Runner.entitlements file from this path :
ios/Runner/Runner.entitlements
And add the applink you want
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<!-- ... other keys -->
<key>com.apple.developer.associated-domains</key>
<array>
<string>applinks:[YOUR_HOST]</string>
</array>
<!-- ... other keys -->
</dict>
</plist>
For more information, read Apple's guide for Universal Links.

Log in to Apple Developer Account.
Check your bundle Id. Edit your App ID. Add Associated Domain Entitlement from there. Update Provisioning profile and Use it in your Flutter project.

Related

Issue with Data Protection on Capabilities tab

I have enabled Data Protection for my iOS application and set Protected Until First User Authentication mode. Here is screenshot from my App ID:
I also set this in my entitlements file:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>com.apple.developer.default-data-protection</key>
<string>NSFileProtectionCompleteUntilFirstUserAuthentication</string>
</dict>
</plist>
However, xcode constantly shows issue on Capabilities tab:
When I click Fix Issue it modifies my entitlements file and sets: NSFileProtectionComplete which is different than App ID setting, so then I get errors on General tab under each provisioning profile (I have disabled Automatically manage signing).
I can't get rid off this issue. However everything seems to work, I can build it without any issues. Any ideas how to fix it?
Bundle identifier is correct and provisioning profiles are set properly. I'm using Xcode 10.2.

How to add a credential provider app extension for iOS 12 in xamarin

I’m trying to leverage the new extension to work with a password management app, and I’m running into a road block setting it up. It could be my googling skills but there is almost no documentation on how to do this with xamarin.
What I have so far:
Added com.apple.developer.authentication-services.autofill-credential-provider as a custom property into my iOS project Entitlements.plist
Created an ActivionView extension since there is no credential provider option when creating a iOS extension project.
Changed the ActionViewController to a CredentialProviderViewController
Updated the MainInterface.storyboard to use the CredentialProviderViewController
Added com.apple.developer.authentication-services.autofill-credential-provider as a custom property to the autofill Entitlements.plist
I don’t see the option under Settings>Passwords & Accounts to use my app for the autofill. I must be missing some key pieces. Does anyone know what I should be doing instead?
Here is my Entitlements.plist
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>keychain-access-groups</key>
<array>
<string>$(AppIdentifierPrefix)com.orginization.appname</string>
</array>
<key>com.apple.security.application-groups</key>
<array>
<string>group.com.orginization.appname</string>
</array>
<key>com.apple.developer.authentication-services.autofill-credential-provider</key>
<true/>
</dict>
</plist>
I have confirmed that this is a bug with Xamarin.iOS. Specifically, there is an enumeration of and validation against a list of known Extension Points. The credential provider point introduced in iOS 12, and any others after iOS 10 are not present.
I've forked the Xamarin.iOS code and made the necessary patches and confirmed that I am now able to successfully deploy a credential provider that shows up in the AutoFill Passwords provider list in iOS settings. I will file a bug and submit a pull request as soon as I can, but I may go through and make sure all the other extension points are present first.
Edit: All of my pull requests have been merged into the main development branch and will hopefully be part of an official release soon.

how can i resolve keychain access group issue without removing entitlements.plist file?

Here is the screenshot of the error
I have enabled keychain access group in capabilities and its added in Entitlements.plist
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>keychain-access-groups</key>
<array>
<string>L23874DF.com.your.appid</string>
</array>
</dict>
</plist>
I signed the archive with development provisioning profile and certificate and given it to the team that pushes it for appstore.
But I got the above error and I don't understand it has right appid prefix and bundle identifier and member center has no options to enable Keychain access group then in my eyes there should not be a problem.
the appstore certificate that they're using is from same appstore account so there shouldn't be a problem with app id.
App id is same for whole account irrespective of whether its development build or adhoc build or release build or appstore build
P.S
I had to remove my entitlements.plist and resign the app with same dev cert and provision to make archive and send to them and it got published to appstore without any problem
somebody explain me whats wrong with this behaviour ? I am still confused

ERROR ITMS-9000 iTunes Connect

I am trying to upload a phonegap build iOS app to the app store and I keep getting this error
ERROR-ITMS-9000:: "Missing Code Signing Entitlements. No entitlements found in the bundle 'com.fitness.challenges' for executable 'Payload/30DayFitness.app/30DayFitness'." at SoftwareAssets/SoftwareAsset (MZItmspSoftwareAssetPackage)
I have set up my development and distribution provisioning profiles and certificates, and uploaded the cerificate.12 and provision profile to build.phonegap.com
any help be great thanks!
i fixed this by adding -538h to the iphone5 splash screen png file name!
so it was - splash-iphone5-538h.png
that was all that was breaking the upload!
According to this topic on phonegap build support forum there's an error in documentation.
In config.xml as id you should put just your app name and not the reverse style domain id as used in provisioning profile.
EDIT: (16.10.2013, 17:33)
I just discovered that it is rather temporary workaround because to upload APK in play store you'd still need the reverse style domain id.
check your Bundle Identifier.
The bundle id supposed to same with App ID.
I had the same problem and fixed it by making sure all the required icons where there.
I had the same problem in a RE-SIGNED APP, using iResign as the re-signing tool.
Here's an example of an Entitlements.plist file that helped me get my build through to Apple.
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>application-identifier</key>
<string>B123RP1C12.com.startup.killerapp</string>
<key>keychain-access-groups</key>
<array>
<string>B123RP1C12.com.startup.killerapp </string>
</array>
<key>get-task-allow</key>
<true/>
</dict>
</plist>

has no valid com.apple.developer.ubiquity-kvstore-identifier entitlement AD HOC iCloud

I'm having trouble with iCloud key value store.
I currently have a core data synced by iCloud working, but I cannot get K-V Store to work
I'm getting:
com.domain.appname has no valid com.apple.developer.ubiquity-kvstore-identifier entitlement
com.domain.appname is the format of my appid, masked for privacy.
This has been around for a while, and I've seen people having this issue and when reinstalling the app the issue is gone, but that won't apply to me. Don't know why.
My entitlements:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>com.apple.developer.ubiquity-container-identifiers</key>
<array>
<string>$(TeamIdentifierPrefix)com.domain.appname</string>
</array>
<key>com.apple.developer.ubiquity-kvstore-identifier</key>
<string>$(TeamIdentifierPrefix)com.domain.appname</string>
<key>keychain-access-groups</key>
<array>
<string>$(TeamIdentifierPrefix)com.domain.appname</string>
</array>
</dict>
</plist>
If you need anything else just ask, Thank you!
this link worked for me. Try this.
Reinstall the app as well as quit the xcode and restart the device.
It will work fine.
Simply, the error is saying that the com.apple.developer.ubiquity-kvstore-identifier "Key" is missing from the entitlement file which had generated when you enabled iCloud in capabilities. Follow the steps in the screenshot I attached:
or 1. just go to the entitlement file and right click on any row and choose Show Raw Keys/Values
When you hover over Entitlement File row (at the top), a plus button will appear.
Click it and drop down list will appear, choose com.apple.developer.ubiquity-kvstore-identifier and for the value just copy and paste this $(AppIdentifierPrefix)YOUR_BUNDLE_ID
Clean. Build. And Enjoy.

Resources