I have my devices registered in my Apple developer account, I have an App ID and I created Provisioning profile that includes all my devices. Now when I try running the project on my iPhone, it gives me this error, "Valid provisioning profile not found for this executable." But when I try on other devices in the provisioning profile, it works!!
All other projects and provisioning profile show similar behaviour to this device. I have confirmed that my device is added and has not been DISABLED on my developer account. What can be the issue?
Thanks Ronit. This is the solution if your Provisioning profiles are working good to all its containing device but one of it is giving the issue described in the question.
Simply Back-up your device, and reset all settings from your iPhone
Goto iPhone's Settings App -> General -> Reset (Very bottom) -> Reset All Settings.
And later I tried running the App without any changes in my projects and certificates and it works...
Though I would like to highlight it for Apple Engineers... :P
In my case, I had an app with explicit app ID and got the same error when using the wildcard profiles, created by Xcode. I could fix it the following way:
Point Safari to https://developer.apple.com/account/ios/profile/ and create a development profile with all needed devices
Open Xcode's preferences > Accounts
Select your Apple ID and click on "View Details…"
"Download All"
(This downloads to ~/Library/MobileDevice/Provisioning Profiles)
After that I could use Xcode's Run command and get a running app on my device.
Related
I have enrolled to Apple Developer Program to release my first app. My app's bundle ID is the same at developer.apple.com, at appstoreconnect.apple.com and in my XCode project. However, XCode still gives the error in "Signing & Capabilities" tab:
Failed to create provisioning profile.
There are no devices registered
in your account on the developer website. Plug in and select a device
to have Xcode register it.
And another error:
No profiles for ‘com.xxx.yyy’ were found
Xcode couldn't find any iOS
App Development provisioning profiles matching ‘com.xxx.yyy’.
First error message made me think that a physical connection to an iPhone is required to create a provisioning profile.
I have never connected a physical device to my Mac before. I made my tests by iOS simulator. I was planning to do my physical device testing via Testflight.
Do I have to physically (via a USB cable) connect an iPhone to my Mac in order to create a provisioning profile? If not, what might be wrong?
Is it required to have provisioning profile in XCode to be able to use Testflight or publish an app to App Store?
Do I have to physically (via a USB cable) connect an iPhone to my Mac in order to create a provisioning profile?
Yes, if you want to use automatic signing. An automatic provisioning profile unites a computer and a device and an app; it says that this computer is allowed to build this app onto this device. Until Xcode sees the device, it can’t create the profile.
The alternative is to switch to manual signing. It’s more work but now you can generate the profiles yourself.
You do NOT need a physical iOS device (iPhone or similar) to upload an app to App Store! Whether for real or TestFlight.
I realize this qn is old now, but I'm writing this for people like me, who stumble in here fighting the same problem... 😏
What you need to upload apps on App Store:
A MacOS machine (not too old)
A paid Apple Developer Account
An app signing certificate from the above account
A provisioning profile, with or without a physical device
When trying to create a new provisioning profile in your Apple Developer Account, the first option is:
iOS App Development
Create a provisioning profile to install development apps on test devices.
See:
If you chose this option, you need a physical device! In fact, the way I understand it, you are supposed to register the UDIDs of ALL the phones and tablets that you want to test your app on...
If, like me, you don't have an iOS device, you can instead chose the last option in the list:
Developer ID
Create a Developer ID provisioning profile to use Apple services with your Developer ID signed applications.
See:
This one only requires an Apple Developer ID!
At the end of your create-provisioning-profile process, you have to download your profile and open it in Finder to install it (in XCode or whatever you're using). In your project, you have to switch from "automatic signing" to "manual signing". In XCode, this is done here:
If, like me, you had already downloaded your app signing certificate and installed it in your KeyChain app, you may run into this error when trying to apply your provisioning profile:
"Provisioning profile 'your profile name' doesn't include signing certificate 'your certificate name'".
The way I solved this error was:
In KeyChain:
Exporting my Apple Developer certificate to a .p12 file.
Deleting my Apple Developer certificates.
Re-importing the exported certificate file to keychain.
In XCode:
Close and re-start XCode
In the "Signing & Capabilities" tab in the project, de-select the newly downloaded profile and then select it again.
Now, it works! 🙂 From there, you should be able to follow any tutorial for uploading an app to App Store.
I am trying to publish an app for testing, without having to connect a device in my mac.
I have created a developer account, created an app in itunes, generated bundle id, signed into xcode with the developer account, generated a distributor certificate.
When I tried to archive the app, I got the error "conflict provisioning setting. app is automatically signed for development ..."
I read in this post and followed the tip of unchecking and rechecking the option "Automatically manage signing". After re-choosing my team, I get the error "There are no devices registered in your account on the developer website. Plug in and select a device to have Xcode register it".
The goal all along was that I wouldn't need an ios device, because I intended to immediately publish the application and invite people to test it via testflight. Is it not possible to do it like this? Am I missing something.
I have read lots of documentation, but being a first timer in this, everything seems confusing.
Edit: I created a provisioning profile as distributor. Even after creating and installing the distributor profile (it now appears also in xcode at Account -> provisioning profiles), I still get that same error. I also noticed that in signing, The signing certificate is iOS Developer. I am sure
I fixed it by plugging in my iPhone and going to the Product menu > Destination > iPhone (my device).
Then after clicking Try Again on this properties page the warnings went away.
Source
The solution (though I would welcome more elaborate, insightful explanations):
#General -> Signing, disable the option "Automatically manage signing"
#General -> Signing and certificates choose your team
Though in my case that was not the issue, I would recommend making sure that in the device list, you choose Generic iOS device in your target devices.
This really sucked to figure out.
What you do is add a distribution profile in https://developer.apple.com/account/resources/profiles/add. Don't choose development! Don't let the Xcode Automatically manage signing!!
Then, you download the provision.
Then, in the Signing & Capabilities -> Signing Section of the project.xcodeproj file, turn off Automatcially manage signing, choose import and import the file you just downloaded.
Then, in the top, you choose Any iOS Device (arm64, armv7) and then you go Product -> Archive.
What happened to me was that I was about to run my app on a physical device for the first time and I didn't have a Team. So I created it in the process before connecting my phone with the USB cable. After I created the team a message like the listed above appeared. I did some research on internet but nothing found.
So here's what I did: I connected my phone, did all the trusted process, then restarted Xcode, and it worked. I am not sure what happened, but it was some of my first experiences using Xcode. It could sounds silly but it helped me. Hope to you too.
If you do not wish to register a device follow this advice:
https://stackoverflow.com/a/44157307/499581
* In short use "Generic" as the device while archiving.
If you do wish to register a device then the solution to:
"There are no devices registered in your account on the developer
website. Plug in and select a device to have Xcode register it".
Is to physically plug-in your device (an actual iPhone, or iPad) so that Xcode can register it for development use (note: this will not affect the normal everyday use of the device). After the device is registered it can then be used for development testing, load provisioning profiles onto it, etc.
↳ Disabling and Enabling Devices Using Your Developer Account
For those who are trying to develop without a mac computer using MacInCloud don't follow the standard advice out there. Its will lead you down a hole. I have wasted hours of my time.
The reason it say something about "a device to be registered to create provisioning profile" is that you need to provision an iOS device that you can test on before you can get it signed. If you are using MacInCloud you probably can't physically connect an iPhone or iPad to the MacInCloud and therefore it can't automatically provision devices for you.
Before you get to far into this you will need to get your iPhone/iPad UDID. Which I was able to do with https://get.udid.io/ on my iPhone, but it didn't work on my iPad. Instead, with the iPad I had to download iTunes from the Windows store and connect my iPad. Then click on the little gray square in the menu that's inline with Library tab.
image of itunes
Then when it pops up with your device info (mine didn't come up with my info at first, I had to sync my device). You will see your SN. Click on your SN and it will change to your UDID. Once you have your UDID you are ready to create a provisioning profile. What is confusing is this isn't done in the appstoreconnect section of your account online. Its done in your developer account: https://developer.apple.com/account
developer.apple.com account screen shot
When you go there you will want to click: Certificates, Ids & Profiles
Here you will need to add your devices and then with auto signing checked in Xcode that made the problem go away. NOTE: I originally tried to create a profile, download it, and import into Xcode under the Provisioning Profile dropdown in Signing & Capabilities. As described in another answer here, but that proved more problematic and wasn't necessary.
Then you can chose Any iOS Device from emulator device drop down then go to Product > Archive > Distribute App and create a certificate to place it on the app store (TestFlight).
you can also plug an iphone, run the app the app on your iphone as the target, it will ask you to register the device and then the certificates will be generated
Have you paid the $99/year developer fee? TestFlight is only available for paid developers. I would highly recommend plugging in an iOS device, though. It's more fun and rewarding testing that way.
First this not duplicate of Test iOS app on device without apple developer program or jailbreak
I know it is possible to run app on device using Xcode 7 and free AppleId but i want to achieve this using terminal only Or in other words, Is there any way to generate provisioning profile & certificate using unpaid Apple Id through terminal.
If i will follow mentioned steps then my app installed and run successfully in device but i want to generate IPA using this free certificate and provisioning profile using terminal only.
In Xcode, add your Apple ID to Accounts preferences, described in
Adding Your Apple ID Account in Xcode.
In the project navigator,
select the project and your target to display the project editor.
Click General and choose your name from the Team pop-up menu.
Connect the device to your Mac and choose your device from the
Scheme toolbar menu. Below the Team pop-up menu, click Fix Issue.
Xcode creates a free provisioning profile for you and the warning
text under the Team pop-up menu disappears.
Click the Run button. Xcode installs the app on the device before launching the app.
I am working on some automation task and want to generate and install this signed iPA using unpaid Apple Id through Terminal.
I do not believe this is possible. The challenge is not just extracting the provisioning profile that is created in Xcode. That will not work because Xcode also manages the devices in the profile. So if your devices change, you need Xcode to register the new device and add it to the profile on Apple's servers, before re-downloading it. It also manages the bundle ID.
In theory, if you were to set up the app and all devices in Xcode before grabbing the provisioning profile from ~/Library/MobileDevice/Provisioning Profiles, maybe it would work.
If you can successfully get the profile. maybe you can use these instructions to build and install on the device as long as it was set up ahead of time: install application in iphone device through command line
I have already searched and almost implemented max solution but it's not installing any app even though if I am creating just sample single view app.
App installation failed
A valid provisioning profile for this executable was not found.
============== update ====================
I fixed this issue today.
First, go to ~/Library/MobileDevice/Provisioning Profiles.
Make sure Xcode isn't running.
Then, delete all provisioning files (like xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx.mobileprovision).
Start Xcode.
You will see something like "Fix this issue" in your Target's General tab.
Click it.
Xcode will now load new provisioning profile.
That's it.
----------- OLD Answer -------------
I have same problem now.
I've checked my provisioning profile using https://github.com/chockenberry/Provisioning/releases.
In my case, my provisioning profile had the wrong UDIDs but right machine count.
I've registered machines, and Apple Developer Center listed right UDIDs for those machines.
However, whenever I downloaded new provisioning profile, it contained wrong UDIDs.
I think Apple's system is outputting wrong provisioning profile.
I called Apple support for this issue today, but Apple only emailed me with their knowledge base links(forums,documents,etc).
Possibly you are using App Store distribution provisioning profile. Use development or Ad-Hoc provisioning profile.
For Xcode 8 / Swift 3.0
In my case, for my app target and my extension in "General" I check "Automatically manage signing" and it work
I was having this issue because the date/time on my iPhone was not the same as that on my Mac running Xcode ( i changed the date on my iPhone while testing some app).
On my iPhone, i went to Settings > General > Date & Time > Set Automatically
This fixed it
Make sure you have added device UDID in your provisioning profile.
Go to provisioning portal.
Edit provisioning profile.
Make sure device is checked.
Done, download
Use new Profile
Another possible reason: Device date is set to later than the expiry of you provisioning profile.This is very weird but, it could happen.
In my case it was that the running option in the building scheme was set to Release so it was trying to sign it using the appstore provisional profile not the development or the adhoc one. I had to set it to Debug to fix this!
I could run on Simulator just fine, but trying to install the App on device was throwing this exact error.
I had a test target in addition to the main target. The test target had signing set to a different team and profile. Setting the unit test target to match the main target settings for signing solved my issue.
Didn't notice it had been automatically changed over to a different team, was caused by being added to a new Enterprise team.
In my case, I went to the Apple Developer website and added the phone to the Provisioning Profile.
Then I re-downloaded the Provisioning Profile and worked =)
In my case was The build system. I had to change the default build system in "File > Project / Workspace Settings" and change it to the Legacy Build system.
For me, it's because the project I was trying to build is someone else's. The bundle identifier does not match with my team's provisioning profile.
Change bundle identifier to something else help.
In my case, my certificate is overdue..
The following worked for me:
Install the app using Personal provision profile (re-install after going into your phone settings and trusting the profile)
Delete the app from ypur phone
Switch back to registered developer profile and try again
In my case iOS 14.4, rebooting the iPhone solved it.
I'm building an app which now runs fine in the iOS emulator, so I now want to test the app on an iOS device. I registered with the Apple Developer Program and ran ionic run ios, which ended with the following message:
Code Sign error: No provisioning profiles found: No non–expired provisioning profiles were found.
CodeSign error: code signing is required for product type 'Application' in SDK 'iOS 8.2'
So I opened XCode and went to Preferences > Accounts and added my Apple ID. I then clicked View Details... and then the refresh icon so it fetched two Signing Identities. The box below which should display the Provisioning Profiles is empty though:
I then read this article on the Apple Developer site which explains that I need to:
Set a bundle ID
Assign my app to a team
Create the Team Provisioning Profile
The bundle ID should supposedly be set in XCode. Because I am under the assumption that the bundle ID is set in my ionic config.xml file I'm unsure of how to proceed though.
Does anybody know how I can (preferably very easily) test my app on iOS devices? All tips are welcome!
What I did was to create a new project into Xcode, as soon it is created is showing the General tab, under Identity is showing a message saying that can not find the proper certified, something like that, and there is a button "Fix..."
just click it, the passport is requested and you are done.
I just try again and works. Xcode fixed my provisioning profiles sync for me.
Try this
Select Preferences from Xcode
Go to accounts and select agent name
Select view details to check status of your profiles
Select any profile and click refresh on corner below to update profiles.
This should update your profile with expiration dates
Go to project General and downgrade to 8.1.