developing in simulator but xcode ask for registered device - ios

hi im new to programming
I want to build the app in Xcode as a free user and using simulator only but then got the error "failed to create a provisioning profile. there are no devices registered in your account on the developer website" in signing option.
I tried to register a device on https://developer.apple.com
but they say I need to enroll for developer program to do it, and it needs me to pay with money which I don't want to for this moment.
i've changed the generic device in drop down menu to many simulator but to no avail.
thank you for helping

You do not require provisioning profile to run application in simulator. And if you have apple account then you can test your application in device. Just add your account in account section in preferences. Xcode will automatically create provisioning certificate to run on you device. Device must have logged in with same apple account.

Select simulator instead of the generic device.
Please refer below screenshots.
Run+Build your project.

The way to run iOS applications without having a Provisioning Profile,
as of 07/23/2021 is to remove the Entitlements association, also set your Signing Identity to Automatic.

Related

Do I need an iPhone for TestFlight? [duplicate]

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.

Xcode 8 asks for a device to be registered to create provisioning profile

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.

Deploying an app without Provisional Profile

I'm quite new to IOS app development, I have Xcode and an iPhone. I want to deploy my app to my phone but as yet have no Apple Developer licence ($99).
My code signing is set to Apple developer but the compiler complains 'Failed to Codesign MyApp' and then offers to Fix Issue. After selecting Fix Issue I'm told that I need to add an Apple Id account that is enrolled in the Developer Program.
Is there any way forward to load my app on my iPhone other than signing up for a Developer account and then creating my own profiles?
Actually no way to deploy in real device without developer account and provision, certificate.
If you want to see how it works in device, just use simulator
With XCode 7 Apple provided new way to install application - Free provisioning.
You don't need to enroll to any of the developer program, all you need is just Apple ID.
Apple Ref : How to use free provisioning
From release notes, section Free Provisioning
XCode7 Release Notes
Please see my detail answer for using free provisioning here
Nope, Its not possible to load application on device without provisional profile.

How to "select a team" when Xcode thinks I'm not a registered iOS developer? Also, do I need an iPhone to get a provisioning profile?

When I try to create an archive for my finished app, I get this message:
No non-expired provisioning profiles were found. Xcode can resolve
this issue by downloading a new provisioning profile from the
Membership Center.
I click Fix Issue.
I then get:
The selected team doesn't have an iOS Developer Program membership.
Select a team with an iOS Developer Program membership and try again.
I do have an iOS developer program membership but I can't figure out how to "select a team." I've looked around and can't find any resources on how to correct this. Anyone else had this problem?
Edit:
When I go to Project > General > Identity > Team, my account is correctly associated with the app, and it says that I have an iOS developer membership. Yet no provisioning profile and the above errors persist.
Edit2:
When I click Fix Issue beneath "Team" in the Identity section of Project > General, to correct the lack of provisioning profile, I get a different error:
Unable to create a provisioning profile because your team has no
devices registered in the Member Center. Please connect a device,
enable it for development, and add it to the Membership Center using
the Organizer.
I have a Mac, but no iPhone....does that mean I can't publish the app? Or can I use the Mac? How do I add it? I don't see any option in the organizer.
Per your last remaining road block
Unable to create a provisioning profile because your team has no
devices registered in the Member Center. Please connect a device,
enable it for development, and add it to the Membership Center using
the Organizer.
You need to register a device. If you do not own one, find a friend or relative and ask them to allow you to register their device. It will not create any issues for them. You do not need the device after that for archiving, it just needs to be registered so a profile can be generated.
You can set the device to be a generic iOS device. When I was running an archive with my iPhone as the default target, I would get the team error that you are receiving. Changing this to generic iOS device solved this issue for me.
Firstly you have to purchase iOS Developer Program.(its cost is 99$ Per Year.)
You must Registered For Apple Developer Program.
Then Create app id for Your Application.
Then Create Provisioning profile and Certificate.
Add Provisioning Profile to your project.
while creating provisioning profile you need to add device uuid.
Follow above steps. I am sure your problem will solve.

Install iPhone application in my device

I was recently developing an iPhone application using Xcode. Now I want to install this app on my iPhone in order to test it.How can I do this? could you tell me please a step by step answer because I am new to this.
I have already created an account on the
iPhone Dev Center
now what is the next step?
As per Apple guidelines:
To test your app on a variety of devices and iOS versions, create a special distribution provisioning profile, called an ad hoc provisioning profile, and send it, along with the app, to testers. An ad hoc provisioning profile doesn’t require that testers be enrolled in an Apple Developer Program, be added to your team, create signing certificates, or use Xcode to run your app. Instead, app testers simply install the app and the ad hoc provisioning profile on their device to launch the app. You can then collect and analyse crash reports or logs from these testers to resolve problems before you ship your app.
Can I do what is mentioned here? and if yes how ?
go to memeber login area and login with your credential..
go to certificate , Identifiers & Profile tab
go to keychain access and create a .csr file and save it, it'll
required for creating certificates
create a certificate from certificate tab
create App Ids from identifier tab
Register your device UDID from Devices tab
Create distribution profile from Provisioning Profile tab and download & save it.
Install the Provisioning profile to your device and build your project using that profile.
Archive your project and create .ipa file
Final step: Install that .ipa file to your device.
Hope it'll help you. Happy Coding.....
With the free account you can not test/run apps on a device.

Resources