iOS Question I have to build an app for a third party using their certificates. what do i need to do?

ema01

Member
Licensed User
Longtime User
Hi,
first of all i've already read
and

We have already made apps for third parties but we also manage their accounts and we never had problems in build and upload.
This time the client already has its own develper profile so he created and sent us the certificate and mobileprovision files, which were added to the key folder and referred to in the project by using the #CertificateFile and #ProvisionFile options.
The machine i develop on is a windows PC so the hosted builder is used (I also have a macbook but i prefer not to use my personal device) and i don't really understand what to do or how to do it in order to be able to compile

The error message
error: Missing private key for signing certificate. Failed to locate the private key matching certificate "iPhone Distribution: --Remove client name -- " in the keychain. To sign with this signing certificate, install its private key in your keychain. If you don't have the private key, select a different signing certificate for CODE_SIGN_IDENTITY in the build settings editor. (in target 'B4iProject' from project 'B4iProject')

Thanks
 

Erel

B4X founder
Staff member
Licensed User
Longtime User
1. The client must add your device UDID to the provision profile.
2. The certificate and provision profile are not enough. You also need the matching private key (B4i.keystore in B4i).

I recommend you to:

1. Configure B4i to use a new folder for the key.
2. Private sign key - create new.
3. Send the csr file to the client and ask him to create a new certificate and provision profile using this csr file.
Other options will be more difficult.
 
Upvote 0

f0raster0

Well-Known Member
Licensed User
Longtime User
Other option: they can add you as developer in their account.
 
Upvote 0

ema01

Member
Licensed User
Longtime User
Other option: they can add you as developer in their account.
I am, but i can't generate keys or certificates. I can create new apps and upload releases and that's it. I'm not sure if the can't or don't want to change the role to give me more privileges (i haven't received a definite answer yet so i suspect the latter)


1. The client must add your device UDID to the provision profile.
2. The certificate and provision profile are not enough. You also need the matching private key (B4i.keystore in B4i).

I recommend you to:

1. Configure B4i to use a new folder for the key.
2. Private sign key - create new.
3. Send the csr file to the client and ask him to create a new certificate and provision profile using this csr file.
Other options will be more difficult.
Thanks erel.

What if i just give them my current .csr file and ask them to generate the .cer and .mobileprovision based on that?
If that works i could keep a single key folder and select the cer and mobileprovision in code, as i already do (Also this particular app is just a reskin of one of ours, all differences are dealt with compile time switches, so it would be even more convenient)

However i see how it could not be advisable to cive my crs away, so if i really have to create a separate key folder, csr and whatnot.. is there a way to select it from inside the project, without having to manually change it every time?
 
Upvote 0

Erel

B4X founder
Staff member
Licensed User
Longtime User
What if i just give them my current .csr file and ask them to generate the .cer and .mobileprovision based on that?
That will work.

is there a way to select it from inside the project, without having to manually change it every time?
Currently no. You can select the certificate and provision profile but not the private key.
 
Upvote 0
Top