Do I need an iPhone for TestFlight? [duplicate] - ios

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.

Related

Xcode Signing Failed to create provisioning profile

I subscribed to the App Developer program. I paid the fee. I've done Certificates, Identifiers & Profiles. I added the app to App Store Connect.
xcode signing
I am getting the errors above. I don't have an iPhone phone. I'm developing on my macbook computer.
xcode device
How can I resolve this error?
As I can see in image that "Automatically Manage Signing" is enabled for this Xcode project. So Xcode is trying to create the provisioning profile for you but not able to create it.
B'coz you need to add account in Xcode from Xcode -> Preferences -> Account -> Click on + icon at bottom to add a new developer account.
You need to create provisioning profiles.
Once you have created provisioning profile, download it and install on your machine.
Please make sure the certificate used in cretation of the provisioning profile must be in your machine's keychain.
If those certificates not installed in your keychiain then you will see certificate issue in Xcode.
But I would recommend to create provisioning profile manually from apple developer portal as you can see and mainly you can know that which certificate and devices are used in the profile.
You can create following provisioning profiles for your app.
Development Profile
You will be able to run/debug app on real device.
The device must be added into the profile.
This can be used for only development purpose.
Adhoc Profile
You will be able to install app on real device but not able to debug it.
The device must be added in profile to install app on it.
It acts as a release build but not a actually release build.
Generally develop send the adhoc build to client for testing of app.
App Store Profile
You will not able to run app on device using this profile.
It will be used to upload app on App Store or create the release build for distribution on App Store.

Failed to create provisioning profile for uploading app to store

Ok I have created a ios app that was working fine and running in the simulator.
I am now looking to upload it to the app store.
My boss has created a developer team and add me as a admin.
When I try to create an archive (I have the scheme set to generic ios device) now I get
Failed to create provisioning profile.
Showing Recent Messages
:-1: No profiles for '****.*****' were found: Xcode couldn't find any
iOS App Development provisioning profiles matching '*****.******'. (in
target '******')
There are no devices registered in your account on the developer
website. Plug in and select a device to have Xcode register it.
on the Apple developer website I have gone to
Certificates, Identifiers & Profiles and added Development certificates
What else do I need to do? Note I don't have a iphone or ipad to provision.
I was only testing in a simulator and was then going to upload to the store.
I am new to xcode. Sorry if this is simple.
Thanks
Have you tried manually assigning provisioning profiles rather than letting XCode automatically sign your project?
You can do this by deselecting "Automatically manage signing" and
manually selecting provisioning profiles.
Also ensure that you Download the profiles you create on your Apple Developer account to XCode.

Create an IPA file with ionic

I'm trying to compile my ionic app for iOS.
It compiles well with the simulator, so I'd like to test it on some friend's iDevices (I don't have any iphone or ipad), so I'd like to send them the IPA in order to test.
To do that I saw that I have to archive my project, I tried to do so and I got an error:
Code Sign error: No provisioning profiles found: No non–expired provisioning profiles were found.
I checked my profile, XCode suggests me to fix the issue. But when I try to do so, I got this error:
Creating a provisioning profile requires one or more devices to be registered with your team. Connect a device to your Mac to add it to your team.
So I thought that having an iDevice wasn't mandatory in order to compile for iOS. Am I wrong ?
Thanks,
You required provisioning profile to archive your project to make build. Now if you don't have create provisioning profile from your apple developer account, then you have option automatic, but to generate provisioning profile you required your device connected with your xcode,so that xcode takes udid of that device and can make automatic provisioning profile!
Now, if you don't have real device then from your developer account - Add some device first - I mean your friend's device(for that you required udid of it!) - create provisioning profile for development - download it - set it as provisioning profile from general or build settings from your xcode. Then you will able to make build!
If you have device then also you need to create provisioning profile that contains your friend's device, other wise application will not install on it!
You can refer Raywenderlich's tutorials to manage these kind of stuff that i have mentioned above!

Development provisioning profile devices

After lots of research, I understand that an app signed with an iOS development provisioning profile can only be installed on devices which have their UDIDs listed within the provisioning profile (which is done on the dev portal). To further my understanding of how this all works, I've created a new development provisioning profile which has only 1 device listed, and that device isn't the one I'm using. For some reason, when I sign an app using this provisioning profile through both xcode and cordova, the app will be installed and deploy as if that device's UDID were listed within the provisioning profile (which it isn't).
I've been using the following to inspect the embedded.mobileprovision profile within the .ipa
security cms -D -i <provprofile>
And there's only 1 device listed, and the UDID of that device doesn't match the UDID of the device which I've managed to install the app on.
Am I missing something here? This issue linked below seems to indicate that this shouldn't work.
Development Provisioning Profile
The embedded provisioning profile with the app isn't the only profile at play here. The device will allow the app to run as long as there is a valid provisioning profile that includes the device and includes the app ID the app is using.
I suspect you had previously installed the app (or another app) that had a valid provisioning profile for that device. The profile either had the same app ID, or was using a wildcard app ID, and is likely still on the device. Because iOS can find a valid profile, it lets the app run.
To verify if this is the case, Plug the device into a Mac, open Xcode, and go to the Devices window. Select the device in question, right-click on it, and select the "Show provisioning profiles..." menu item. You may see other provisioning profiles that are still on the device from previous installs.

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