Flutter XCode wrong Signing Certificate - ios

I just started my app today but it failed with:
Building a deployable iOS app requires a selected Development Team with a
Provisioning Profile. Please ensure that a Development Team is selected by:
1- Open the Flutter project's Xcode target with
open ios/Runner.xcworkspace
...
I checked my XCode and I saw that:
On the bottom you can see that my Identifier starts with SX9. But that is wrong or at least diffrent to my Apple Developer Profile Certificate on the Apple Developer site:
As you can see it starts with SN2.
My Flutter App also has the other ID:
DEVELOPMENT_TEAM = SN2...
How come that my Signing Certificate changed in my XCode and how can I revert that?

Related

Create provisioning profile for apple built in flutter

Im trying to deploy an IOS app developed on flutter but im with this error and I can't find any solution that solve this problem. Can someone help me?
The error that appears on flutter is this, when I try to build:
"Error (Xcode): No profiles for 'com.example.cfca' were found: Xcode couldn't find any iOS App
Development provisioning profiles matching 'com.example.cfca'. Automatic signing is disabled and
unable to generate a profile. To enable automatic signing, pass -allowProvisioningUpdates to
xcodebuild.
It appears that there was a problem signing your application prior to installation on the device.
Verify that the Bundle Identifier in your project is your signing id in Xcode
open ios/Runner.xcworkspace
Also try selecting 'Product > Build' to fix the problem.
Encountered error while building for device."
enter image description here
The solution is adding a device on "Certificates, Identifiers & Profiles". This is only for those that didn't test the app on real device, throw XCode. In my case, since I don't have an IPhone, I asked someone with IPhone to send me the Device ID (UDID) from that phone and added on Apple Development portal. This is the solution that I recommend for those that don't want to by an IPhone.

Xcode 10.1 signing problems for the iOS Qt kit [duplicate]

This post relates to a rapidly changing event.
I've tried all the other questions and searched everything on this that I could already, a lot of the other questions involved existing apps that were being updated or people with developer accounts but this is like my second time using Xcode and it has worked before.
This just happened out of nowhere. I keep getting these two errors and it allows me to run simulators but not build onto my iPhone:
Automatic signing is unable to resolve an issue with the "LearningSpriteKit" target's entitlements.
Automatic signing can't add the application-identifier and keychain-access-groups entitlements to your provisioning profile. Switch to manual signing and resolve the issue by downloading a matching provisioning profile from the developer website. Alternatively, to continue using automatic signing, remove these entitlements from your entitlements file and their associated functionality from your code.
Provisioning profile "iOS Team Provisioning Profile: #####.LearningSpriteKit" doesn't include the application-identifier and keychain-access-groups entitlements.
This issue is related to Bug 1534145. SSL.com: P-384 curve / ecdsa-with-SHA256 certificates.
A representative from Apple estimated 558,000 certificates to become invalidated: Bug 1533655. DigiCert: Apple: Non-compliant Serial Numbers
GoDaddy, Google, Apple and Facebook (that would explain why Facebook was glitchy today) are affected.
They are working on resolving the issue right now.
That would explain our problems, folks!
Update: The issue has been resolved. Try to refresh your projects.
Workaround: change Bundle Identifier and/or Version.
I restored a profile from Time Machine when this was working and upon launch, Xcode immediately deletes and replaces it with a new one. The key difference seems to be the old profile has the get-task-allow entitlement while the new one has NO entitlements. This is definitely broken at Apple's end.
Edit: The entitlements should also include a keychain access group, but again, no entitlements at all. Should look like:
It seems Apple broke the automatic signing system.
I was playing around with a few projects and Xcode just fetches the incorrect profile.
This worked for me:
Turn off "Automatically manage signing" in project target
Go to ~/Library⁩/⁨MobileDevice⁩/⁨Provisioning Profiles⁩
Remove previously downloaded profiles
Turn on "Automatically manage signing" again
EDIT
As per latest update Apple successfully resolved Automatically Code
Sign with Free Account issue.
I tried it and I can confirm its resolved.
Please try at your end.
Update
Tested with Latest XCode 10.2 and it's working fine + they improved
performance of overall Xcode & codesign feature.
I am also facing the same issue while I am creating a new Profile from Xcode and if I go to other projects and check over there also I am facing the same issue as below.
Due to this issue, none of my projects can build with the old profile and certificate.
The strange issue, so I checked a newly created Profile and compared with the old one, and I found that App ID is unknown as well as there were no Entitlement details in the newly created profile.
Check the below screenshots of the old and new profile comparison:
Old Profile:
New Profile:
So it means it's not able to set App Id and Entitlements in the new profile. So the end result does not work all old profiles and giving the same error in all projects.
Issue Workaround:
Step1: Go to Provisioning Profile folder (path: ~⁨Library⁩ ▸ ⁨MobileDevice⁩ ▸ ⁨Provisioning Profiles⁩).
Or use a shortcut to jump directly into this folder like CMD + Shift + G and enter ~/Library/MobileDevice/Provisioning Profiles it will redirect your finder directly on the Provisioning Profiles folder.
Step2: Sort the files inside that folder by Date Modified.
Step3: Check profile with Unknown App Id and delete all unknown profiles.
Step4: Come back on Xcode and check all old projects will work as expected.
Note: Make sure none of your project open while doing above changes.
Otherwise, it will create a new profile with Unknown App Id.
I hope this will help and Apple will solve this bug soon!
UPDATE: This solution still works as on 2019/Mar/20 7:00 UTC+0
SOLUTION: no Xcode reinstallation is required. I used a brand new free AppleId, but later checked with my old AppleID and it also works.
In Xcode, under the General tab, untick the Automatically manage signing option
Close Xcode.
Erase old profiles in ~/Library/MobileDevice/Provisioning Profiles:
cd ~/Library/MobileDevice/Provisioning\ Profiles
rm -rf *
On MacOS, run Launchpad → Other → Keychain Access and remove all certificates related to iPhone development, like the following four on the picture:
Apple Worldwide Developer Relations Certification Authority
Developer ID Certification Authority
iPhone Developer: your_name_or_email
Uninstall the old app on iPhone. Restart both iPhone and Mac
Open Xcode and change the Bundle Identifier of your app, at least one character (later you may revert this change)
Enable the Automatically manage signing option in Xcode.
After this you should be able to run and debug your app on your device.
If you have a “iPhone has denied the launch request” problem, the solution is in an answer to Stack Overflow question iOS 12 iPad Denied Launch Request - Xcode.
In short, you need in Xcode to go to menu Product → Scheme → Edit Scheme... and select Executable: ask on launch.
This issue has been resolved, BUT some people still have a problem with it. If you're one of them, try the following:
1. In the General tab of target settings - uncheck the Automatically manage signing option
2. Close Xcode (fully, not just your project)
3. Erase .mobileprovision files under ~/Library/MobileDevice/Provisioning Profiles/
4. In Keychain Access, delete the following:
iPhone Developer: youremail#email.com
Developer ID Certification Authority
Apple Worldwide Developer Relations Certification Authority 3.
5. Delete the app on your iOS devices
6. Restart your Mac and iOS devices
7. Open Xcode again
8. Change the Bundle Identifier (even if it's a single character, you'd change it back to the original after you get it going)
9. Check the Automatically manage signing option
10. Use USB to connect your iPhone/iPad.
11. Make sure you trust your certificate on your iOS devices
This should do work for you.
It seems that this problem has been resolved now and the personal accounts can resign their apps automatically again.
Regarding to #Paul answer, it is not related to uninstalling Xcode. It is fixed from the server side.
The only thing that is required is removing Apple Developer Certificate (for the personal account) from your keychain, so that Xcode retries to generate and download a new one.
Here is the solution:
Let Xcode be open.
Select your developer account and let the error appear again.
Go to the keychain app
4.a) Goto certificate section
4.b) Remove All (valid and invalids) certificates (I have three valid and many invalid!)
After removing the last certificate, macOS will recreate a new certificate for the active developer account automatically.
Run your app in your iDevice. You need to enter your system password to add newly created certificate into the Keychain.
If in the second run it says
Your iPhone has denied the launch request
Just go to:
Product → Scheme → *edit scheme: uncheck "Debug executable"
I hope it solves your problem.
I got it to work by doing the following steps:
Go to Xcode
Preferences
Accounts
Manage certificates
Plus sign
iOS Development
Done
Download manual Profiles
Close
Go to your target
Change development team to none
Change development team to your previous team
It should work.
I am finally able to deploy to our iOS devices again. Here are the steps I took to make it work.
First, I followed all 10 steps in Zameer's answer here. I have copied them below:
Open your project in XCode.
Select your project from the project navigator and then select your target from the column.
Click on the General tab and under the Signing section, make sure "Automatically manage signing" is enabled.
Click on the Capabilities tab and turn On both the "App Groups" and "Keychain Sharing" settings. This might raise an
"Automatic signing failed" popup error, just click cancel to make it go away.
This should generate a entitlements file for you named nameProject.entitlements in the project folder of your project navigator.
Move this entitlements file outside of the folder, just below your project file.
Select your target again and return to the Capabilities tab to turn Off both the "App Groups" and "Keychain Sharing"
settings. This again might raise an "Automatic signing failed" popup
error, just click cancel to make it go away.
Now select your project above the target and go to Building Settings tab.
Scroll down to the Code Signing Identity setting under the Signing header and select iOS Developer from each drop down.
Under the above Signing header, double click the text field beside the Code Signing Entitlements and enter the name of your
entitlements file, nameProject.entitlements.
After completing those 10 steps, the 2 red entitlement error messages in XCode went away and I was able to build and deploy the XCode test app to the iPhone and run it.
Although that XCode test app could build and deploy, I develop on a PC using Xamarin and I was unable to deploy my Xamarin.iOS application to my iOS devices and kept getting an error in Visual Studio: the executable was signed with invalid entitlements. I did the following things and now I can deploy my Xamarin app and run it on my iOS devices:
I deleted the provisioning profile from the Mac in the ~/Library/MobileDevice/Provisioning Profiles directory. XCode immediately generated a new provisioining profile (I'm not sure if this step was necessary but I'm just writing it because that's what I did).
I changed my Xamarin.iOS.csproj file and removed Entitlements.plist from the CodesignEntitlements element so it now just looks like <CodesignEntitlements></CodesignEntitlements>. Visual Studio automatically added two elements to the same propertygroup in the project which are probably not necessary but I thought I'd mention: <CodesignExtraArgs /> and <CodesignResourceRules />.
Maybe forum post [iOS 12 SDK] - deadline March 2019 - Legacy Mode might help.
It talks about Apple refusing to build iOS applications under SDK 12 as of March 2019 (OP from Dec 2018).
I've not yet tried this, but it may be linked to the issue. I have a free developer account and am also experiencing this bug.
Here's a screenshot in case the link changes (screenshot 1 below).
This is the link from the first screenshot (screenshot 2 below)
1
2
There is one other potential source of this error. If you do not have a valid signed development certificate setup within your Xcode environment it will throw similar errors as posted by the OP.
You can check out your development certificates status following the Apple link here.
For macOS Big Sur Beta
Archive in Xcode 11
Upload with Xcode 12 beta organizer (Window -> Organizer)
For me, it finally works again. Either they just fixed it or any of my other steps helped:
Uninstall Xcode and all related files (using AppCleaner)
Install Xcode via the App Store
Change the Bundle Identifier of the App
Remove all "iOS Developer" Keys from Keychain
Here is a temporary workaround:
Change Bundle Identifier: Target → General → Identity → Bundle Identifier (set this to a different value than it is right now)
Change Version: Target → General → Identity → Version
Disable debug executable: Product → Scheme → Edit Scheme (uncheck the box that says "debug executable")
Delete Provisioning Profiles: ~/Library/MobileDevice/Provisioning Profiles delete everything in this folder.
You now should be able to build and run projects on simulators and devices.

Xamarin fails to deploy iOS app to iOS Device

I am trying to deploy my Xamarin iOS app to iPhone. But it fails to deploy into iPhone devices where as it works fine in Simulators. I verified that Bundle Identifier and Provisioning Profiles are matching. Also I deployed another test app into iPhone devices using XCode using the same provisioning profiles. It is getting deployed successfully. Also approved the Developer as trusted in iPhone.
The Exception I see Visual Studio as below
error MT1006: Could not install the application
'/Users/VarunRaja/Library/Caches/Xamarin/mtbs/builds/WK.TAA.Mfa.OTPAuthenticator.iOS/116dd0bfdd565dd44e1837c2280a6d94/bin/iPhoneSimulator/Debug/WK.TAA.Mfa.OTPAuthenticator.iOS.app'
on the device 'Raja’s iPhone': AMDeviceSecureInstallApplicationBundle
returned: 0xe8000067 (kAMDAPIInternalError).
I see this is coming from my Mac Agent. Visual Studio says the App is terminated.
As mentioned here by Tim Wheeler, it is an indication that your device is not in your provisioning profile, or your provisioning profile is invalid.
Why?
Basically, iOS will not let you build the app on to the device for security purposes, unless you have registered the device to THAT particular app in the Apple Developer Portal. They have no issues with you installing it on a simulator, so that you can't distribute apps without using the App Store.
Fix
In order to fix this, you need to have Access to the Apple Developer Portal of the company under which the app is registered and then go to the Certificates, Identifiers and Profiles.
Go to the "Devices" tab and make sure your device is in the list. Then go to "Profiles" tab, and you might see an "Invalid" status under the Expiration column of the Provisioning Profile. Fix it, tap on your app's profile, ensure it includes your iPhone, downloaded the new one to the mac and install it.
Not fixed yet?
If that was not the issue, it could be because you have multiple provisioning profiles installed. Visual Studio is usually set to Automatically determine the appropriate provisioning profile, and it could be using the wrong one if you have a few installed. You could delete the unneeded ones, or you can go to your iOS project settings, set the bundle signing to "Manual", then choose the valid profile.
Try to change Linker Behavior to Link SDK assemblies only
Go to the iOS properties => iOS Build and set "Linker Behavior" to "Link Framework SDKs Only" and "Supported Architectures" to "ARMv7 + ARM64"
Create blank project on your build mac host, or mac, xcode. Set bundle id to xamarin bundle id. Build and deploy from xcode, close and try again with xamarin.

The executable was signed with invalid entitlements after Xcode 7.2 update

Today I updated Xcode to version 7.2. When I opened Xcode after the update to do some enhancements to my app, I got build errors about the name of the app, which has an underscore in it (com.company.my_app). So I changed to bundle identifier to com.company.myapp (just removed the '_'). I've tried to rename all the My_app instances to the name without the underscore.
Now, every time I build the app it works, the build succeeds. But when it has to run the app on the iPhone (which I've previously used), it gives the error The executable was signed with invalid entitlements. I've checked the build settings with the provisioning profiles and entitlements and this is the list:
Code Signing
Setting: My_app
Code Signing Identity: iOS Developer
Debug: iOS Developer
Any iOS SDK: iOS Developer
Release: iOS Developer
Any iOS SDK: iOS Developer
Provisioning Profile: Automatic
Debug: Automatic
Release: Automatic
Changing the Code Signing Identity values to anything else I can choose from the menu (I get my own account with my email address, which is the correct one), it gives the following error:
Failed to code sign "Myapp"
Your build settings specify a provisioning profile with the UUID “ca8f55bc-aa78-445a-aa45-a6a69ff552f7”, however, no such provisioning profile was found.
Xcode can attempt to fix this issue. This will reset your code signing and provisioning settings to recommended values and resolve issues with signing identities and provisioning profiles.
It then shows a dialog asking me to fix these issues, but when I do that (selecting my profile) it just resets the values back to iOS Developer and the Provisioning Profile settings back to automatic. When I try to run the app, it just gives me the same error about the executable being signed with invalid entitlements.
How do I fix this? I just can't install this app on my iPhone and in the simulator it gets stuck at the splash screen. It was working perfectly well before the Xcode 7.2 update.
Your bundle identifier is linked to your provisioning profile when you changed it there is now no provisioning profile for your app.

Code signing broken on Xcode 5.1 + iOS 7.1

Seems Apple has broken provisioning profiles in Xcode 5.1 ??
Upgraded to Xcode 5.1
Plugged in a device that wasn't registered on Dev Center
Asked Xcode to auto-add it
Result:
Developer Provisioning Profile is now corrupt in Xcode5
The following had no effect:
Restarting Xcode
Deleting profile and re-downloading within Xcode
Check that certificate is valid
Re-building with other profiles for same account/project (i.e. Distribution profiles) that had NOT been changed (works fine)
NOTE: in iPhone Configuration Utility, the profiles shows up as valid with all the registered devices. In Xcode5.1 I get:
Code Sign error: No codesigning identities found: No codesigning
identities (i.e. certificate and private key pairs) that match the
provisioning profile specified in your build settings (“iOS Team
Provisioning Profile: com.irisconnect.betairisconnect”) were found.
Solution: it's Xcode 5.1 that is broken, with a major bug.
If you allow Xcode5 to download provisioning profiles, it now internally corrupts any Developer profiles it downloaded.
If you instead:
quit Xcode
login to web version of Dev Center
manually download the profile
install using iPhone Configuration Utility
Re-start Xcode
...everything works fine.
Note: if you ever do the download within Xcode 5.1, then no amount of restarts will help you :(.
Thanks, Apple.
i had the same problem and was tearing my hair out. thanks to the answer above, i went and looked in keychain access and saw that my previous iPhone Developer certificates were listed as expired. so, i deleted these in keychain access.
then:
1) i went to the apple developer portal (https://developer.apple.com/account/ios/certificate/certificateList.action?type=development), clicked on the development certificate, and clicked download.
2) i dragged that certificate into keychain access (it's a login cert).
3) i went back to xcode, to the build settings code signing section of the project.
4) by hand, i set the provisioning profiles to my team provisioning profile.
5) i went up into the code signing identity section and by hand selected the new code signing identity.
and voila, it worked...my project built.
btw, i went through all that because i had made the fatal error the prior answer indicated, i.e. i had let xcode download a new certificate and then let it try to fix the code signing issue, and got caught in 1 infinite loop...just kept failing...
hope this helps
I got the same problem.
Here is my solution
Download Provision from https://developer.apple.com/account/ios/profile/profileList.action?type=production
You will get the file name "mobileprovision", change it to "YourAppName.mobileprovision"
Now Click open it with xCode
Archive and Submit your application again by Organizer
Here's what worked for me on Xcode 6, iOS 8.
Visit https://developer.apple.com/account/ios/profile/profileList.action?type=production
Revoked all certificates
Closed/restarted XCode.
Attempted to Build/Run again.
This time the Auto Fix process in XCode worked.

Resources