Is iphone needed just to build an archive in ios? - ios

I'm new in ios development. I have an existing app in android made from flutter that I want to build an os version of. My problem is I have this errors when trying to create an archive build.
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.
No profiles for 'com.build.app' were found: Xcode couldn't find any iOS App Development provisioning profiles matching 'com.build.app'.
I already have an apple developer team but I can't create identifiers. Its always saying
An App ID with Identifier 'com.build.app' is not available. Please enter a different string.
Do i really need to have an iphone just to make an archive? Is there any other way cause I don't have an iphone.

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.

How do I update someone else's iOS TestFlight build in App Store Connect?

I'm trying to upload a new build to TestFlight. I was invited to App Store Connect as an admin, and I added my Apple ID in Xcode. There is already an existing TestFlight build a bygone developer has put up there, but I've taken over the project and need to update it. I can build the app in the simulator just fine, but when I try to make a build for a generic iOS device I get these two errors:
Failed to register bundle identifier. The app identifier "com.blahblahlbah.blahblahblah" cannot be registered to your development team. Change your bundle identifier to a unique string to try again.
No profiles for 'com.blahblahlbah.blahblahblah were found: Xcode couldn't find any iOS App Development provisioning profiles matching 'com.blahblahlbah.blahblahblah'.
I don't see any way to select a different team. Do I need to enroll in the developer program? I'm using Macincloud to try to build the app from Ionic, so I don't have an iOS device to set up two-factor authentication with, but I can get one if that is required to get this to work. Are there some build settings that I have to set up?
I eventually got the last developer to revoke their certificate. Turns out there was some issue with my account not being able to register for the developer program. After dealing with their support for a while I just made a new account. Then I was finally able to create a new certificate and select it in XCode. After that, it built just fine.

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.

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.

Workflow when using Appcelerator and IOS Deployment

I'm using Appcelerator to build smartphone apps, only iPhone right now but the plan is to expand into Android territory later.
I'm having some problems (as many others I understand) with understanding the provisioning profiles and ad-hoc deployment.
I have created a provisioning profile that contains the UDID's of my iPhone, my iPad and my sons iPhone. I build using Titanium Studio, and then select the "Install to IOS Device" to build an app and also an "ipa" file. Syncing with iTunes to my own devices.
I'm now planning to use TestFlight with the ipa file to distribute beta versions. It seems to work OK with the existing UDID's in the profile. The problem is now when I add more UDID's. Do I have to update the profile manually (on developer.apple.com), download it and fully rebuild my app for every added UDID? Or is there a simpler way? As I understand it, the profile is embedded into the "ipa" file, so does that mean I HAVE to rebuild?
"Do I have to update the profile manually (on developer.apple.com), download it and fully rebuild my app for every added UDID?"
Yep, it's exactly as you say. When you build your app, the provisioning profile the app is built against is embedded within the .ipa file. This is used to determine which devices can run the app, as TestFlight illustrates after the .ipa file is upload - all devices within that profile that match devices you've registered with TestFlight are listed. So after changing the device provisioning, you'll need to download and install the provisioning profile by dropping it into XCode, and then rebuild the app.

Resources