iOS Question Help with certificate/provisioning profile generated by a 3rd part.

JordiCP

Well-Known Member
Licensed User
I am developing a B4I project for a company. The company's remote team also needs to be able to compile it.

They have their own B4I, an Apple developer account, so can normally generate certificates and build apps.
I've been granted access to their Apple developer account and am able to generate certificates, but...

Here is where I am missing something: they have generated a certificate/provisioning profile for the current app, and can use it normally.
If I try to build the app (using hosted builder) using their certificates (have tried both options, first only copying the .cer/.mobileprovision files to my keys folder, and later also replacing the whole keys folder), I always get the same error:

error: Missing private key for signing certificate. Failed to locate the private key matching certificate "iPhone Distribution: xxxxxxxxx (xxxxxx)" 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')
I have also installed the new certificate in my PC (not sure if it was necessary)

I had done it in the past, but always had generated myself the certificates/provisioning profiles from my PC as the remote team didn't need to build the app.

As I understand it, it should be possible, but perhaps I'm missing something?
 

JordiCP

Well-Known Member
Licensed User
Partially solved: using Local Builder it works as it should. 🙂

The question is if it is possible to make it work with the Hosted Builder, as sometimes I develop from a windows PC.
 
Upvote 0

Dave G

Member
Licensed User
Erel, do you just copy different Certificates into Keys directory at different stages (Debug/Development vs Distribution) or keep different directories? Thanks.
 
Upvote 0

Dave G

Member
Licensed User
Thanks. Didn't run across that information during my search. Big help.

When I compiled and ran an iOS app with Xamarin it was either on or remote to my MacBook, but used Xcode directly to resolve Certificates etc. Never had an issue. Currently I am not able to run an B4I application without receiving the dreaded exception (see below). I've followed the tutorial many, many times to no avail. All of my resources have not expired and are the same ones I used with Xamarin with the exception of the Signing Certificate because B4I generates that one and the one on my MacBook is created using the Apple procedure.

NOTE: Name and license is obscurred: Not sure why it says iPhone Distribution since I'm referencing ios_distribution Certificate.

error: Missing private key for signing certificate. Failed to locate the private key matching certificate "iPhone Distribution:xxxxxxxx (000000000)" 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')
 
Upvote 0

Dave G

Member
Licensed User
I have used Hosted and Local with the same results. Thanks. Sorry for all of the questions. It's hard to transition from a something I've used for over 6 years.

BTW, I've been developing with Basic since 1975 (Basic Plus on PDP-11/RSTS). Then Quick Basic and VB 3.0 in the 90's Transitioned to VB.NET in 2003. Then Android around 6 years ago. Android was my first C# experience when I rewrote 15,000+ lines of VB (Windows Mobile) to C# (Xamarin Android) for a large retail client. Never really liked C#, but had no choice.

Thanks for all that you've done with B4x. Hoping to use B4A with Google Wear when the watchface library is re-targeted to AndroidX. I've already rewrote an application I had published on Google Play using NSbasic using B4A. Was able to handle orientation changes using panels and Designer scripts. Very cool. AT 71 I still love to learn new things.
 
Upvote 0
Top