Issues with saving an archive for Enterprise development - ios

Whenever I archive my project and attempt to save it for Enterprise Development, I get the following error:
Wildcard App IDs can not be used to create In House provisioning profiles. Please use an Explicit App ID.
I have created an App Id in the developer portal with the bundle id of com.gasdcs.iCOOP and matched an In House Distribution profile with that App ID. In my XCode project and target I have changed the code signing identities to the iPhone Distribution for my enterprise account, and changed the provisioning profile to the one I created linked to the App ID I made.
I have tried so many separate combinations of things and still cannot get this sorted out.
I have also tried creating an entire new blank project from scratch and still get the same error. Here are the steps I took:
Create new App ID com.gasdcs.test
Create new distribution provisioning profile tied to com.gasdcs.test
Create new xcode project test on bundle com.gasdcs
Set all code signing identities to iPhone Distribution: My account in project and target
Set provisioning profile to the new one I had just created
Archive

There are many SO posts regarding the same issue, like this:
1 ios enterprise developer account
Application specific app id is required for InHouse. like com.yourcompany.myapp.
More SO posts here:
2 XCode export app, wildcard error
The answer is:
I have seen an announcement on Apple Developer page. Apple's WWDR Certificate was expiring and newest one available on that page. I updated that certificate and it worked!
3 Is it possible to generate Enterprise/In house Provisioning Profile of a wildcard AppID

Related

"None of your accounts are a member of XXXXX" trying to set an app group

I've developed an app for a customer who has their own Apple account and profiles etc.
They have given me their development profiles and dev keychain certificate and want me to deliver the app to them signed with their dev profiles which they will then replace with app store distribution profiles.
I'm having a problem adding an app group to the capabilities. When I click on the + button to add an app group I get the following error:
This is the signing settings. When their developer provisioning profile was imported as the signing profile XCode set the Team to "Unknown Name (XXXXX)" so it must have pulled that team name from the profile.
In XCode's accounts I only have my own Apple IDs added, I don't have their Apple ID added (its not possible to without knowing their password though?, something I won't get). I presume this might be why I am getting that error code?
Is there anyway of adding the group id to the project without having to add their Apple ID to XCode's account section?
They have given me their development profiles and dev keychain certificate and want me to deliver the app to them signed with their dev profiles which they will then replace with app store distribution profiles
That whole approach is mistaken (as you now know). They have two choices:
You can just develop the app under your own banner, making all your own profiles as needed, and they can make all the necessary substitutions and other changes at their end when they have the code. Or:
They must make you formally a member of their team (e.g. an Admin), at least while you're working on the app.

Create correct certificates and provisioning profiles in a development team

I struggle since a few days to get a correct provisioning profile.
I am an independent iOS dev with my own iTunes connect account but I recently started to develop for a development team. Since then, I can't get a correct provisionning profile to run my app from xCode to my iPhone.
iOS documentation describes how to create certificates and provisionning profiles but it doesn't identify who needs to do each step (either me the developer, either the development team manager).
Could you please describe who needs to do the following step :
1. Create a development certificate. To me, it should be me as it is me who develops. Then, I send it to the dev team manager who adds it in his member center.
2. App ID : The dev team manager create the app ID with a specific bundle ID
3. Devices : The dev team manager adds my iPhone UDID.
4. Provisioning profile : The dev team manager creates it from my certificates, the app ID and my device. Then, he sends me the file and I just have to double-click on it.
However, this doesn't seem to work. Any idea how I can obtain a valid provisioning profile.
PS 1 : I have been added in Itunes Connect and I can access to the app details.
PS 2 : Bundle ID of the app in xCode and iTunes connect are the same (I've checked a hundred times).
Each team member is responsible for creating their own key/cert pair and adding it to their machine via Keychain Access. That is for Development builds. Distribution certs can only be created by an admin.
To create an app Id or provision on the member center you need to have admin access. If you don't have admin access then you have to rely on someone who does to create those. They would be responsible for making sure your device and cert are attached to then development provision for your app.
Your problem could also be that your code signing settings are not setup correctly in the project. You should set provision to Automatic and identity to iOSDeveloper. This lets Xcode figure it out and also allows you to share the project in a team setting without code signing issues
Ok, here are the steps:
Generate a new CSR from Keychain.
Go to iTunes Connect.
In Certificate section:
Download Apple's World Wide Relations Authority Certificate using CSR.
Download iOS Developer Certificate using CSR.
Add both these certificates to Keychain.
In Provisional Profile Section:
Download a new provisional profile which includes this developer certificate.
Add this profile to Xcode.
In Xcode, go to Build Settings --> Code Signing --> Set provisional profile.
Run project.
This should do it for you.
Good luck.

App Distribution Provisioning Profile and Signing Issues

I've been trying to publish my app (on ios for the first time) for a few days now. Every time I try to submit, I usually get an error in the application loader telling me that the provisioning profile doesn't line up with the signing identity. I can't figure this out! Here is what I've done:
created an iOS Distibution signing identity via Xcode account management
created an App ID (wildcard) via apple dev portal
created an app store (distribution) provisioning profile (associated with said App ID and iOS signing ID) and installed it on my mac
Using RoboVM tools, I generate an IPA with said signing identity and distribution provisioning profile. (Because this is a LibGdx game)
created an App in itunes connect (bundle ID being that of the one used for my app ID)
When I try to send to itunes connect via application loader, I get an error reading "The executable must be signed with the certificate that is contained in the provisioning profile." This is driving me insane so I thought I would see if I could find help here. Thanks in advance!
EDIT: Turns out my mac was mixing up delicately named signing identities. I deleted them all and redid the process. works now!
Check the following things:
Do you select the right certificate in the profile?
Do you select the right profile in the Xcode?
Certificate and profile are valid.

In House Distribution issue with distribution certificate

My first question here, and I have tried everything and googled like hell and couldn't find an answer to this issue.
So I have a client for whom I have to make an iOS distribution via in House distribution system (they don't want their app on the store but will use it in corporate use with over 20 devices, so the AdHoc UDID system is out of the question).
Now, the client has given me Admin roles on their Enterprise account and I have done the following:
Downloaded the production certificate
Installed the .p12 file from the client on my keychain
Created the app id
Created the provisioning profile and downloaded it too
Now, I do manage to archive the app and install it on my device, but then the app crashes like right after the splash screen. It is to my understanding that there is an issue with the production certificate, and I am clueless. Any help or advice would be greatly appreciated.
An enterprise-signed app won't allow a debug connection. if you want install app in device, you should create archive .ipa and install.
for debug app in device you need to signed app using AdHoc provisional profile of individual developer account.
After some time I have managed to solve this little issue. The main problem was not the .p12 but the bundle ID itself. Since most of the times I was getting an error that the bundle ID was not matched with the provided provisioning profile. So what I did is:
Edited the app id on the Apple Dev Site from an old name, i.e. com.potato.PotatoApp into com.lemon.PotatoApp (the main reason I had to do this is cuz' my default ID is my company's ID, and in this scenario I had to use the client's Apple Dev Account, and thus the ID itself.
Edited the provisioning profile by selecting the newly edited app id, and then changing the name from "PotatoApp" to "PotatoApp inHouse"
Downloaded the newly edited profile.
On the Debug settings, this was the corresponding list:
-Provisioning profile (debug & release): "PotatoApp inHouse"
-Code signing identity (debug & release): "iPhone distribution: Lemon Company Ltd."
Also on the team list changed from "Potato Company Ltd." to "Lemon Company Ltd.", after that a simple Archive and the build was created without any issues.

Can't export IOS app archive from xcode for testflight

I have an IOS app archive that I want to validate and export so that I can upload it to itunes connect for testing with internal users first, then eventually beta testers. When I attempt to validate or export the archive I get a dialog titled "Failed to locate or generate matching signing assets:" with a message "Xcode attempted to locate or generate matching signing assests and failed to do so because of the following: An App ID with Indentifier 'myAppBundleId' is not available. Please enter a different string."
In the Apple Developer Member Center I had long ago created an app id for my app, corresponding APN ssl certificates, and a corresponding provisioning profile. Since I was unable to proceed as per the above dialog I tried giving my app a new bundle id, but when I then went to create an Archive with the new bundle ID it failed with a message "No matching provisioning profiles found". I next tried creating a new App ID that had an ID that matched my new bundle ID. When creating this new App ID I needed to enable push notifications, but it didn't show as enabled until I generated new SSL Certs.
I'm totally confused by all of this so this question really is about somehow finding clarity. I have a ton of unanswered questions that come to mind as I try to navigate this confusing Apple ecosystem. Some relate to the original issue and some are new questions that came up while trying things. I'll list:
When I created a new App ID for the same App, and created SSL certificates, I just reused the the CSR that I had previously created for the other earlier app ID. My thinking was that this might enable me to not actually have to do anything to my app or server since the CSR is the old one. But I'm wondering if it would fail because the bundle IDs and app IDs are new? I can't recall if there was anything in the CSR that matched to the bundle ID or App ID.
Is the app ID the same as the bundle ID?
In Developer Member Center under iOS Provisioning Profiles, there is a column titled "status". My older provisioning profiles say "Active (managed by Xcode)" and my newest ad-hoc provisioning profile says just "Active". What is the difference between the two? What makes a provisional profile managed by Xcode?
In itunes connect my bundle id is prefixed with the xcode bundle id suffix. E.g. my bundle ID in Xcode is FirstName-LastName.AppName, but in itunes connect it puts AppName - FirstName-LastName.AppName. what the heck?
Does Xcode ever automatically create an App ID?
I read that itunes connect's testflight doesn't require provisioning profiles for internal users, yet Xcode is complaining that "No Matching provisional profiles found" when I attempt to make the Archive with my new Bundle ID. Is a provisioning profile required for internal users or not?
Is there a good and up to date and comprehensive resource covering
the essentials of things like app ids, bundle Ids, testflight,
provisioning profiles, how provisioning profiles relate to app IDs,
etc. I'm left confused by Apples docs, and I've found one tutorial
on youtube that was somewhat helpful and current but not
comprehensive enough and didn't get me beyond the issues I'm
encountering. It was titled "Basically: iOS TestFlight Beta
Testing" in case anyone reading this is interested.
I'm confused by the message in Xcode "None of the valid provisioning profiles allowed the specified capabilities: Features: push, interAppAudio, and passbook". My confusion is because in Developer Member Center these features are setup when creating an App ID not when creating a provisional profile.
Any help or advice is appreciated.
I had the same issue a few days ago, fixed it by removing all invalid provisioning profiles from my account on https://developer.apple.com/, then I created a new valid provisioning profile and added the newly created one in XCode. Then in build settings I selected the valid provisioning profile instead of auto, and I was able to export with no issues. Good luck :)

Resources