Forum Xamarin.iOS

Get IPAs created by CI Build server?

BrandonH.4880BrandonH.4880 USMember
edited January 2016 in Xamarin.iOS

I've been debugging this all day.
Here's what I've got:

  • A VSTS instance tied to a Mac In Cloud VSTS machine (headless, only shell access)
  • A Xamarin project on a Windows box _only_
  • My Ad-Hoc distribution provisioning profile from the Apple Dev Center

What I want is to be able to create IPA output from the CI so I can do Continuous Deploy to HockeyApp.
Thus far I've found a few scripts that will take the provisioningprofile file and put it in to ~/Library/MobileDevice/Provisioning Profiles/ which is supposedly all that happens when you "install" one.

However, when building Ad-Hoc|iPhone I'm still met with /xbuild/Xamarin/iOS/Xamarin.iOS.Common.targets: error : No valid iOS code signing keys found in keychain. You need to request a codesigning certificate from

So something's not wiring up correctly.

What I can't have is any solution involving me sitting at a Mac w/ a keyboard & monitor connected. I can only interact w/ this VSTS instance via shell scripts.



  • rmaciasrmacias USBeta, University ✭✭✭✭✭

    Is the private key installed in your Keychain on the Mac side? The private key should be generated from the same machine you generated your Certificate Request that created the certificate that is associated with your Provisioning Profile.

  • BrandonH.4880BrandonH.4880 USMember
    edited January 2016

    @rmacias : So far all I've got (from Apple dev center) is the .mobileprovision file. The MacInCloud VSTS agent has an option for giving it the provisioning profile file (which I've done). It also has an option for giving it a Cert (p12) file but I've no idea where/how to obtain this.

  • rmaciasrmacias USBeta, University ✭✭✭✭✭

    How was your provisioning profile created?

  • BrandonH.4880BrandonH.4880 USMember
    edited January 2016

    By creating a new entry for the app in the Apple Developer Portal, then creating an Ad-Hoc Distribution profile & downloading it.

  • rmaciasrmacias USBeta, University ✭✭✭✭✭

    Okay, so when you created the Provisioning Profile on the Apple Developer Portal, you had to select a Certificate to associate the profile with. When you created the certificate, you had to generate a Certificate Request on a Mac and upload that Certificate Request to the Apple Developer Portal so it can create that Certificate.

    On the Mac that you generated your Certificate Request is where you can find your Private Key. You'll need to export that private key from the KeyChain App, and then install that Private Key in your Mac In Cloud instance. I'm not sure how to do that through the shell though.

    I've got a graphic here that kind of explains it in more detail:

Sign In or Register to comment.