Xamarin iOS free provisioning fails for existing project - ios

I have recently been given the task of taking over an existing iOS/Android app written with Xamarin.
When I try to set up Free Provisioning as described in here in the Xamarin guides, I run into a roadblock:
I have successfully followed these steps:
Created an Apple ID
Went to XCode -> Preferences and added my account
Created the signing identity as described at step 4 of the guide
Plugged in my dev iPhone (freshly updated)
Under "General Options" I set the Bundle Identifier to the exact string that is set in the iOS project part of the Xamarin solution
Selected myself from the team dropdown
Pressed "Fix Issues" as per guide, and this is where the procedure fails
The error I get is "An App ID with identifier 'xx.xx.xxxx.xxx.xxxx.xxx.xxxxxxx' is not available. Please enter a different string.
If I try and add a anything to the identifier, it works (so it's not the format of the identifier).
The error message also makes sense to me as the identifier is, indeed, globally taken since the app has already been published.
My question here is:
How can I get my project deployed to my dev iPhone?

You can choose : "com.companyname.yourapp1" or "com.companyname.yourapp2".
Make sure this ID is same like your bundle identifier in "Info.plist" in xamarin.ios project

As I have already posted as a comment:
A possible workaround could be to change the BundleIdentifier for the time you are working on a specific task. This should work but it brings the disadvantages of changing the identifier every time and if you do not watch out to check in the false identifier by accident.

Related

How to change the previously selected ios developer team

ı use (ionic) capacitor , when i first tested on xcode i selected the team 'x' account and ran it(There is no problem).Then i buy for developer account for 'y' account , then i select team *'y' after select new team ı got 2 errors
Errors :
1 : Failed to register bundle identifier
The app identifier "com.Appname" cannot be registered to your development team because it is not available. Change your bundle identifier to a unique string to try again.
2:No profiles for 'com.Appname' were found
Xcode couldn't find any iOS App Development provisioning profiles matching 'com.Appname'.
I dont want to change Bundle Identifier.I've been searching for 2 days and couldn't find a solution.
I've faced a similar problem but I'm not sure if it's actually the same.
First thing I recommend to do is go to settings inside the XCode app and make sure you are logged into XCode with your user (or the user inside the team you want to select).
The problem you are facing says that there are no Bundles with that name, so probably you should remove the actual identifier and try to register a new one with exactly the same name.
Take a look on this topics, maybe they help you:
Xcode - Change Company Name and Username
https://developer.apple.com/documentation/appstoreconnectapi/bundle_ids

An App ID with Identifier 'xxx.yyy.zzz' is not available. Please enter a different string when submitting new build

Here I already added a new version of my app on the iTunesConnect, and the status of the new version is at 'Prepare for Submission'. However, I have a problem with verifying my new build and submitting it to iTunesConnect.
The Error I got is An App ID with Identifier 'xxx.yyy.zzz' is not available. Please enter a different string
Here I left out the Bundle Identifier because I do not want to expose my app ID anyway, but I certainly sure that the bundle Identifier, Version, and Build version is exactly the same as what I added to the iTunesConnect (1.20).
I also already archived the app, but got stuck at the verifying process, and got this An App ID with Identifier 'xxx.yyy.zzz' is not available. Please enter a different string error.
Is this the proper way to submit a new build to the iTunesConnect? I think the system should match the App Bundle ID with the one registered at the iTunesConnect's database, and simply verify and upload a new build for me. I do not really know what is wrong here. It seems that the XCode is trying submit the new app, but cannot go through because the Bundle ID is already registered (with the previous version).
You should check the certificate and the AppId
Let XCode automatically manage the certificates and profiles to use:
on the Project Navigator click on the app
go to Build Settings
find the Code Signing section
change the Provisioning Profile to Automatic from the drop-down
change the Code Signing Identity to iOS Distribution
if the project builds without errors, you can Archive, Validate and Upload to App Store
the build will be available on iTunesConnect
If something is missing XCode will ask to fix it for you.
This is not related to the app version on iTunesConnect.
When submitting a version for review you can chose the build to use.
I also encountered the same problem. Xcode7.2.1.
Effective solution is:
You can try:
Closing Xcode.
Opening the keychain,deleting the certificate with the corresponding key string.
Opening Xcode, Preferences -> View Details -> Reset Certificate
Choosing the right certificate.

ios app validation error : Invalid BundleOS TypeCode - Xcode 7

I created a provisioning profile for distribution on apple developpers and create my app page on itunes connect linked to this profile. The app is running properly.
Now, I am trying to submit my app to the app store but I got an error when I want to upload my app : "Invalid BundleOS TypeCode. Could not find a [CFBundlePackageType] in your application bundle's Info.plist file must be one of [APPL]".
(I create an archive, validate, export and try to upload and got this).
I think it's coming from a framework, called AlamoFire, in my project. I add week ago in the project and add it to "Link binary with libraries". It has its own workspace and project,in my project :
-
.
To get that error message when I want to upload my app, I already change the bundle identifier in the framework project and change the version in "General" to match my project. I don't know if that's was right... (i got a problem when I wanted to upload my app with the bundle identifier - not suitable records were found - and a problem because version string was too long).
I don't know what to change and where... What should I do ?
Edit : Just changed my app BundleTypeCode in .plist from BNDL to APPL and it worked without changing my framework.
Version string too long: look at your version string, at the general project info. Try naming it 1.0.0. Then, if that passes the validation, change the naming to something similar to this.
No suitable records: check your bundle id. Did you create the app with that bundle id? Itunes connect asks you to select the Developer section app you want to create a project for. It looks like you didn't create the app that way or you changed the bundle id later on.

No suitable records were found verify your bundle identifier is correct

I have created an app in App Store Connect and it has been in the "prepare for submission" state for more than 3 days. When I try to archive my app, and submit it to the app store it, displays this message:
No suitable application records were found. Verify your bundle identifier is correct.
Just found the Error. I used one capital letter in bundle id. but I have used small letters in Xcode's bundle id. now I changed that as like in the app id. and now I successfully uploaded my app to Appstore Connect.
generally this happens when you have not created your app from apple developer account->iTunes Connect->Click on My App->click on plus sign (+)->New App->And fill up the whole info and Choose Your Bundle Id for the app you are uploading now.
Just check that app you configured on iTuneconnect is having same bundle identifier that you are using to upload app.
URL: https://appstoreconnect.apple.com/apps
iTunes Connect || App Store Connect (website):
In your browser, go to iTunes connect/ App Store Connect.
Add your New App / edit your existing app.
Go to App information.
Check the Bundle ID name.
If there is no bundle ID, make sure you create one.
I used the WildCard bundle ID. That means, your complete bundle ID is likely to be com.organizationName.* and the suffix (exampleApp).
Xcode:
Go to your Workspace / Project.
Go to your project.
Select the General Tab.
Ensure the Bundle Identifier is the name you set in iTunes Connect.
For example: com.orgnanizationName.appName
It seems you have to start the App Store submission process in iTunesConnect.
What did the fix for me is to allow app access to all users:
Go to AppStore Connect
Go to My App
Under Additional Information, click on 'Edit User Access'
Select 'Full Access'
This allowed me to upload the app the first time (via Xcode & Application Loader)
After the initial upload, i can switch back to 'Limited Access' and upload just fine.
I believe you can found the answer here Xcode 5 - "No application records were found" when trying to Validate an Archive from #Bamsworld.
As you already mentioned and as per the documentation - App Distribution Guide
Important: You can’t validate your app unless the app record in iTunes Connect is in the “Waiting for Upload” or later state
After you add a new app in iTunes connect there will be an amber light along with its status. It will most likely read "Prepare For Upload". To get it to the "Waiting For Upload" state click view details for the app and in the top right there should be a blue button that says "Ready to Upload Binary". Click this and follow the given directions.
If you use Application Loader, then check if you are logged to the correct account. It was my case and it can happen if you manage account for various clients.
In my case, I had 2 Apple IDs in my Xcode preferences (Xcode -> Preferences -> Accounts), so I had to remove one. After I removed Apple ID that I didn't need, validation process worked just fine.
Wasted a few hours, just because the error message is useless. This is so frustrating.
Double check the Bundle OS Type code in your App's info.plist, for me, the only way around this error was to set it to APPL.
The weird thing is that the error was regarding to my frameworks bundle id, tho changing the above in my app solved it.
Using Application Loader worked in my case.
Chek your app ID in the Apple Developer Center. Then, use exactly the same name in Bundler Identifier.
I have to manually sign the app. Created new certificate and new profile. Set code signing to Manual. Only then i was able to upload. Moreover select Manual sign in from organizer while uploading build.
Once check this.
Open your .plist file and check for "Bundle OS Type code" key. If that is not there, add a row and give that key and check the type it should be a string. And give "APPL" as value.
Clean the project and go for Archive.
I hope it will work for you.
I've changed the Version number but forgot to change the Build version. Changing the Build version resolved the issue. Such a silly mistake. Smh...
Make sure this is included in your Info.plist:
<key>CFBundlePackageType</key>
<string>APPL</string>
I had APPL misspelled as AAPL. Once I fixed that and signed into Application Loader and Xcode with the same Apple ID, everything worked.
Since this is question obviously has different potential answers depending on the individual circumstances I thought I'd add my problem and what solved it:
Problem: I had someone copy the binary archive, make some changes and then pass the binary onto me. This caused a binary conflict.
Solution: I had to create a new certificate. I copied the bundle ID from the develop consul, pasted into xcode and was able to upload.
Side note: You can regenerate a new bundle id by turning on "In-App Purchases" under Capabilities.
After few days I realize that, I've set Bundle ID wrong.
Here is how I correct,
Go App Store Connect > Your App > App Information > General Information
Select the Bundle ID you create and assign at xcode before.
Now you can Upload without error.
Firstly, check that you're using the same accounts in both Application Loaded (or XCode) and iTunes connect. Secondly, check that Bundle Id in error message and in iTunes connect are match, including tHe cAsE!
Make sure you follow these steps in order:
Generate the App ID at https://developer.apple.com/account/ios/identifier/bundle
Generate your app from iTunes Connect selecting the Bundle ID created in step one
Upload the IPA from Application Loader or XCode
if your bundle id carried a capital letter and you've changed it to a lower case letter, you must run the application in the simulator before attempting to archive and upload to app store connect (this was the issue and solution for me).
For me, what fixed it was to enter the required details in App Store Connect -> TestFlight -> Test Information.
Once I'd done that it seemed that Xcode realised there was a new app to allow uploading to and succeeded.
(Also check your caps in your Bundle ID though. 😉)
iMessage Extension: For everyone that is fighting with this problem with an messages extension (or any other extension) make sure you enter in "App Store Connect" -> "General Information" -> the Bundle-ID of the application target and not the extension target. We fought 2 days to find this out.
For me : Just tried uploading using Application Loader and it worked
If after you confirm your Bundle ID's match across App Store Connect, Apple Developer Portal, and Xcode and you are still having issues try this:
Remove the Apple ID associated with the Bundle ID you're experiencing issues with from your Accounts list in Xcode (Menu Bar -> Xcode -> Preferences -> Accounts). Then, add the Apple ID back to the Accounts list in Xcode.
For me, it was because I forgot to create a "Provisioning Profile" on Apple developer portal. I created a profile here for "App Store", then downloaded and opened the file and it worked!
In my case I got it worked with opening the Application Loader inside the XCode.
Steps : XCode -> Open Developer tool -> Application Loader
When I opened it with Launchpad it failed to identify the correct account for the app. Therefore, it asked me to create an account.
With XCode , Application Loader could list down the accounts I'm entitled for. You have to select the correct account from the drop down.
In my case the app was already set up, but the app version was already in use (waiting for review), I just needed to increase the version number.
In my case the problem was that my application had literally no information filled in the App Store Connect
In my case I was using a different account, I created an app on Itunes but selected different account on Xcode. So just Selected the right account on Xcode and it worked for me.
In my case
Checked if same user in itunes and xcode
Checked bundle ID is same
Solution:
Go to itunes inside the page of my app and inside the first tab "App Information" under the right hand side has a section "Others Information" click on the "edit user permission" and grant xcode user the permission to read the information of the app.
DONE

iOS In App Purchase capabilities says: "An App ID with Identifier 'com.example.App' is not available"

I have created an iOS App ID in iOS Dev Center under Certificates, Identities, and Profiles and enabled it for In-App-Purchases. Let's say its name is App and the id is com.example.app.
If I view the corresponding app's In-App Purchase capabilities in Xcode 5.0.2 the tool indicates an error and offers to "Add the In App Purchase entitlement to Your App ID" in the form of a "Fix Issue" button. If I press the button I receive this error message:
An App ID with Identifier 'com.example.App' is not available. Please
enter a different string.
How can I overcome this problem? The identifier com.example.App seems to be derived from the targets bundle identifier, whose suffix seems in turn derived from the project name. Those should not change.
And why does Xcode not pick up the existing App ID that I've already created in iOS Dev center. It spells app in lower case, but I understand that shouldn't matter, and in any case it does not seem to be possible to replace it with an upper-case version because this would require deletion of an app id first, which seems impossible.
So how can I fix the issue in Xcode (e.g. by directly editing capabilities) and what is the recommended workflow between Xcode and iOS Dev Center for adding capabilities in the first place?
Just specify proper identifier in plist with out appending project name on that,
and make sure you are logged in from correct account.

Resources