Wildcard App ID for Developement Provisioning Profile/"No Code Signing Identity Found" - ios

I am invited as a team member to a developer account. I need to send them a demo application via testflight. I checked inside the application ids list and there is no application created for this purpose. I am not able to create one either, since I only have "team member rights". What I can do though, is to download an IOS Team Provisioning Profile of Development type, that is created with the app id: Xcode IOS Wildcard App ID(*).
All good and nice, but when I chose from X-Code the team that I am a member of, it tells me that "No Code Signing Identity Found". If I press Fix issue, I get the message "Your account already has a valid certificate" and that I can revoke and request a new one.
What should I do? Is the wildcard provisioning profile a viable option to create an archive?
What does it mean that I revoke my signing identity and request a new one? Does the developer account owner need to create a new certificate specifically for me? Or what is I don't understand about it? Is the signing identity related at all to the developer account? Or I will receive a new one automatically? Can anyone explain in a bit more detail, so that I understand properly?

A wildcard simply means that it can apply to any app. If an app doesn't plan to use application specific requirements, like iCloud or inAppPurchases, then a wildcard profile is fine to use for the rest of your apps. In general, there is no need to download new profiles or certificates from develop.apple.com; you can manage them directly from xCode via Preferences>Accounts>View Detail.

The answer was simpler then I thought, however it has created an unpleasant situation.
The thing was that XCode downloads automatically the code signing identity if you have agent/admin privileges. However, if you are only a team member and no admin/agent rights, you will not get a signing identity downloaded automatically, so you will need to ask the owner of the account to create a provisioning profile using the certificate that he needs to approve for you,( requested by you via xcode), or it should simply send you the certificate used to create the provisioning profile that you are going to use (this last one is not the preferred method).

If you have been already invited, you only need to:
In Xcode, go to Preference>accounts
Select the company name in the bottom right - then click view Details
In the top screen (signing identities), click the + to get a new signing identity
You can confirm that has worked by going to the iOS member center and checking in the Certificates, Identifiers & Profiles. You will see your new certificate with your name.

Related

Certification and Provisioning of existing app

I'm quite new in this area so please bear with me.
I've been assigned by a client to do a complete re-write for an old existing app of his.
So, he invited me as the role of "developer" in his itunesconnect account but not yet in his Apple Developer account.
Then when I asked him to invite me as a "member" in his Apple Developer account he said that he doesn't have the "People" submenu on his dashboard, and yet he sent me some .provisioningmobile files which I did add them to my Xcode, so I can choose one of them on my Signing(Debug) and Signing(Release) option in my New Project properties settings. ( Automatically manage signing is unchecked)
If using that files, Xcode still complains that : 'No "iOS Development" signing certificate matching team ID "xxxxxxxxx" with a private key was found'
When I click manage certificates, Xcode said that "None of your accounts are a member of 'xxxxxxxxxx' ( the team ID )
So what should I do to resolve this issue??
What kind of permission/certificate should I request to my client?
And how to get him to invite me as a team member of the said "xxxxxxxx" team ID, is it possible for another way if he really can't add me as a "member" of his team?
I did my previous tasks of iOS development by getting invited as a team member on my previous teams, so I have zero experience in resolving this.
Please kindly help me to enlight this matter from what should I do or what should I ask my client do, since He's not really experienced as well.
Thank you before to anyone that kindly giving out any opinions regarding this matter.
The provisioning profile is only part of the code signing equation. A provisioning profile is set up to build a particular app id (or a wildcard app ID) using one or more certificate. You are missing the certificate (and private key) for the provisioning profile you were sent.
Unfortunately, if the client didn't know they needed to send you the certificate and private key, I would imagine that they probably did not save it somewhere that they can send it to you. I would ask for it, but be prepared for them to respond that they don't have it. If they aren't sure, see if they still have the Mac that was used to originally build the app. If so, they can export the cert and key from the Keychain app on that Mac.
If they don't have it, you should ask them to generate a new certificate, then generate a new provisioning profile tied to the new cert, and send you the new profile, cert, and private key.
You can delete your AppleID ,and than add a new one, download manual profiles.

Unable to add device in Apple Developer Program

I am unable to add a new device in the Certificates, Identifiers, and Profiles section of the Apple Developer portal.
I have two developer accounts, one personal account and one account for a company. The account for the company, I am set as a 'member' for the team. This is the account that I am unable to add a new device for. (I am also not able to download the Distribution certificate, which I believe is a related issue that I need resolved too).
I have researched the other similar questions on SO, but neither of them applied to my scenario.
Here is a picture showing the + button disabled (greyed out)
From Apple documentation:
Team members can’t register devices and create development
provisioning profiles using their developer account.
Ask from someone who has Team admin or Team agent privileges to add you.
I figured it out. Team Members are unable to add a new device via the Developer Portal. However, they are allowed to add a new device to the provisioning file via XCode. I was working with Xamarin and didn't know that I needed to go back to XCode in order to add a new device to the provisioning file.
If you're working in Xamarin and experience this problem, you need to create a 'dummy app' in XCode with the same info as your Xamarin app. Then select your team and it should generate the correct provisioning file for you. After that, build and run your app on your device, then a pop up window should display telling you that the device is not in the provisioning file, then asks if you would like to add it. A simple click of 'Yes' will automatically add the device to the provisioning file which is then reflected on the Developer Account.
Hope that helps someone else! I spent many hours trying to figure this out.

"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.

Your account does not have permission to create iOS distribution certificates

I want to upload my app to testflight. when I upload the app Xcode shows this error:
your account does not have permission to create ios distribution certificates
Anyone help me?
This seems to be a bug or poorly described feature in iTunes Connect & the Apple Developer portal.
I had a developer that joined my team, initially as a "member", but wasn't able to create certificates, even after giving him admin access. It turns out, that I believe we were only giving him admin access to Itunes connect, but not to the developer page.
The correct fix was to go to the developer portal, click the "People" tab (or go to this URL https://developer.apple.com/account/#/people/), remove his access, then use the Invite as Admins to add him to the account. He then had to go into Xcode and remove his developer account information, add it back in, and then he was finally able to upload builds to Testflight without this error.
This should be the user permission issue. Please note that only user with Team Agent role has permission to generate certificates for distribution of app outside the App Store. I believe, you are not in Team Agent role. Please double check your permissions.
You can even generate a Certificate Signing Request and send it to your Team Agent. Get back the created certificate from the Team Agent and use it to sign apps.
Based on your comment "Yes, we have a developer account for Team" I am guessing that what you have is an Enterprise Developer account. If you have a Enterprise DA you cannot upload to the apple store/test-flight. You will need to create a personal developer account for that. Enterprise accounts are only good for in house testing and not for external. That's why you are getting this error.
Using keychain, export valid certificate on a computer on which iOS distribution signing identity works. You need two files, one is public - <fileNamePublic>.pem file, and other is private - <fileNamePrivate>.p12 file.
Put those files in a folder on computer on which you need signing identity to work.
Open terminal and browse to the folder you've put them in.
First, type: security import <fileNamePrivate>.p12 -k ~/Library/Keychains/login.keychain
Then type: security import <fileNamePublic>.pem -k ~/Library/Keychains/login.keychain
Open XCode, go to XCode>preferences>accounts>view details and refresh the apple id you are using
You should have signing identities enabled.
Perhaps your iTunes Connect account does not have the correct role?
I was receiving similar error and also, I had a permission to create certificate with my account which has developer role. I tried all of the solutions but none of them worked for me. Therefore, I downloaded provisioning profile from developer account and I used that provisioning profile from manual signing when I was archiving to my build then error disappeared.
Every thing was good with my account, no permission changed as already it was same email id used to purchase the account.
I fixed this problem by removing the account from Xcode preferences and again added it. What i did was immediately added credentials in Xcode preferences right after purchasing the account. I should have to wait for Apple to process the order.
For anyone finding this now: Team Agent no longer exists. If your role is Admin or App Manager you can upload builds and create provisioning profiles, etc. Note that if you get this error when you upload, then ask for the correct permissions and it still doesn't work, quit Xcode and try again!
Perhaps your provisioning profile was expired and even after updating it from Apple's developer website, Xcode doesn't try to fetch the new one.
Here's how to solve it:
Xcode -> preferences -> accounts
Select your Apple ID, and on the right bottom pane select your team and click View Details
Under provisioning profile, find your expired profile, right click, and click Move to Trash
You should be able to sign and upload your app.
If you are getting the same error...Create the .ipa file and upload to https://www.diawi.com/
you will get an link, which you can share with your client.It's not a solution for your question but it will help you.

Team Member - Xcode Configuration Issues

A customer of mine has created a new App-Id with an explicit ID.
Then he added me as a developer to his organization in iTunesConnect.
He has a previous and old version of the app, on which I have to start my work. When I try to create a Provisioning File for my Personal Team (I've not paid the developer program) in Xcode regarding the explicit bundle id created by my customer, xCode raises the following error message:
An App ID with Identifier 'com.xxxx.yyyy' is not available. Please
enter a different string.
Any Suggestions?
Apple only allows an app ID to be created by one developer account. Because your client already has that application ID, you cannot create another one. If Apple allowed this, you would have app ID conflicts with multiple developers trying to submit apps that have the same app ID.
What you should do is create your developer certificate under the client's organization account, then have your client add your certificate to their provisioning profile. Then you can download and use this provisioning profile to test the app on devices. Or, if you are on XCode 7 or later, you should be able to create your own developement provisioning profile with your devices under that team account. The key is that you need to be doing everything under the client's Team account, not your personal account.
I would not recommend your client share his credentials or make you a team agent. That's granting you too much power / control as a developer and if I were you, I wouldn't want it. I would hate to have that access if someone else went in an did something like revoking their certificate, because I know they'd be suspecting me even if I didn't do it. Use the apple developer account roles the way they were intended and you should be fine.

Resources