I switch between my iMac and MacBook when working on my apps. I've always used my iMac to test the apps on the actual device, but I would like to be able to do this from both computers. I cannot seem to use the profile on my MacBook as it does not have the correct Certificate Signing Request in the KeyChain. Is there a way to copy these between machines and KeyChains?
To export the certificate, see here.
In short, enter this into the terminal:
sudo /Applications/Utilities/Keychain\ Access.app/Contents/MacOS/Keychain\ Access
This will require your password. Once the Keychain opens, you'll be able to export the certificate along with the private key.
This has been simplified for IOS4. All you need to do now is go to the organizer and export the profile you need and then import on the other machine.
iOS4 Guide - Managing your devices
Related
This question already has answers here:
How can I develop for iPhone using a Windows development machine?
(42 answers)
Closed 9 years ago.
I am new to mobile development and I have a question concerning developing an app for iPhone. Is there a way to develop an app for iPhone using Windows?
No. xcode, which you need to develop iphone apps, only runs on mac. There are ways to get a mac program running on windows probably, but developing for ios on windows just isn't worth the trouble.
Yes it is possible but tricky. One way to do it is to use forge. The following is extracted from an article showing how to use forge to create iOS apps:
Developing iOS apps on Windows
Forge allows the development of iOS apps on Windows without the use of an OS X machine. To do this you will need a development-enabled physical iOS device and an iOS developer account. In order to sign your application (which is required to install it onto the device, even for testing), we provide a remote signing service, which your app will be sent to, signed and returned as part of the forge run ios and forge package ios command.
Note: Your iOS device must be enabled for development before our Windows tools can view logging output. This means attaching it to an OS X machine and selecting "Enable for development" in the Xcode organizer. If you're not able to do this, you can still install apps onto the device, and use the iPhone Configuration Utility to view log output (http://support.apple.com/downloads/#iphone)
Setting up Forge to run iOS apps
Requirements:
Apple iOS developer account.
iTunes or iPhone Configuration Utility installed on the machine you are going to develop on
An iOS device connected via USB to the machine you wish to develop on
In order to sign your application you need to provide us with the following:
A signing certificate and password
A provisioning profile
Both of these can be created and managed from the Apple iOS provisioning portal, which should be accessible from the iOS developer center: https://developer.apple.com/ios/. The instructions on that site are for OS X, more detailed instructions for creating a developer certificate on Windows are included below.
Once these are setup you should be able to use forge run ios to install the app on your device and see log output in the terminal on your computer.
Creating a signing certificate
To create a certificate you need to generate a certificate signing request, in Windows this can be done by following these steps:
Create a file request.txt with the following content, replacing Connor Dunn with the name registered to your Apple Developer account:
Run the following command in the same directory as request.txt: certreq -new request.txt
On the iOS provisioning portal site choose to create a new certificate and upload the file you just created
Your certificate request should be approved shortly: when it is, download and open the certificate file. Windows should prompt you to install the certificate.
Once installed, run the command certmgr.msc: this should open a certificate management tool. In this tool browse to Personal certificates, you should see the iPhone Developer certificate you just installed.
You should be able to right click on the certificate and choose All tasks -> Export. Make sure you export the private key as part of the certificate when following the wizard. The password you supply will be the one you need to provide to Forge, and prevents unauthorized users from using the certificate if they were to come into possession of the certificate file.
You should now be able to configure the developer certificate and developer certificate password in your Tools config.
See configuration for the tools for more information on the Tools config.
Creating a provisioning profile
Once you have created a certificate you need to create a provisioning profile, this is also done via the iOS provisioning portal website:
First make sure your device has been added to the provisioning portal, to do this you will need the device identifier (UDID), this can be found by clicking on the device's serial number in iTunes.
Next create an app id, for development entering * as a Bundle Identifier is recommended, as it means multiple apps can be signed with a single provisioning profile.
Finally create a development provisioning profile, making sure you choose the correct app id and enable any devices you wish to be able to test with.
You can now download and configure the location of your provisioning profile in your Tools config.
Note: Provisioning profiles must be recreated if certificates or devices are changed.
Here is the link to the site that has much more info on this matter. But all in all, I'll advice you to invest in an apple machine and save yourself tons of time and hassle.
https://trigger.io/docs/current/tools/ios-windows.html
I'm using macincloud service to try/play/learn about building iPhone apps. I have a dummy app, and I'll like to test it on my real device.
I've got the developer certificate, I've installed the profiles, but now I'll like to test my app on a real device. Because it is not possible to connect my iPhone to the macincloud servie and because I'm on a windows machine, how can I test my app on a real device(the one with UDID that was used in generating the certificates and provisioning profiles).
Is there any file that xCode is generating and it can be used to transfer on a real device from a Win7 machine?
You need to generate an archive in XCode, and then from the organizer click "Share" to generate an IPA file. This file along with the ad-hoc provisioning profile can install the app on a provisioned device via iTunes on a Mac or a Windows machine.
For info on provisioning your device for ad-hoc deployment, see here: http://mobiforge.com/developing/story/deploying-iphone-apps-real-devices or the apple developer docs.
Good Luck.
Correct answers have been given already. However, have a look at http://testflightapp.com . That might come handy when you go for more test devices especially when you want to distribute it to a beta testing community.
You want to do an Ad-Hoc build. You will have to read Apple's docs to see whats involved. Then you will have an app file you can install with any iTunes.
I have iOS Developer Program membership for which i paid $99. I have installed that certificate in one system, and I'm able to run my application on my real device.
Is it possible to install this certificate on my another system, such that I can run my application on another real device? When I try to install the same certificate on another system, I'm not able to get it working.
Read Submitting iPhone Apps To The Apple App Store – A Step by Step Guide—in particular, the last paragraph, "Managing Your Digital Identities":
Also read: iOS Development Workflow Guide: Managing Devices and Digital Identities
You can definitely install the certificate on other systems. Please tell us the error message(s) you are getting.
Please make sure that you are exporting your certificates correctly and importing them on other system with the correct password.
Hope this helps,
Thanks,
Madhup
You have two ways to install the App in to device.
One is: you can add the new device UDID to the provisioning profile and you can run through your system
If you want to run from other system then follow the 2nd one
2nd is: You have to create a .p12 certificate from you systems keychain.
Goto -> Application -> Utilities -> KeyChains.
right click on your certificate and click export, enter some password(for security reasons). Then it will create a .p12 certificate.
You have to install this certificate in the other system by giving the specific password that you have give while creating. Then those will be installed in the other system.
Thats it. Then follow the first step, and enjoy by installing app into other device.
Regards,
Satya
I have enrolled on the standard iPhone Developer Program and I've successfully created a provisioning profile for my iMac. But I also have a MacBook Pro that I use to work while I'm traveling. But with the standard iPhone Developer Program there seems to be no way to have 2 computers to work, unless I spend time revoking and re-creating/re-validating certification authorities when switching machines.
Am I right? Or is there some way to use the same CA across multiple machines?
Just copy your certificate to all of the computers. You will need to export the private part of the certificate, not just the public part.
You can export your iPhone Development Certificates from Keychain.app as .p12 Files and then import them into the Keycahin.app on your other computer
iPhone SDK development on multiple computers
Sometimes it's good to be able to use several computers to develop your iPhone app. In my case my main development machine is the iMac, but summer is coming up and I may not want to stop developing just because I go out of town. Luckily I have a MacBook, on which I have also installed the iPhone SDK.
In order to test on the device when I develop using the MacBook I have to move my certificate, private key and provisioning profile to it. Here's how I do that.
Launch Keychain Access on the iMac (main development computer).
Under the Keys category I Ctrl-click the private key that has the certificate for 'iPhone Developer: ' attached to it.
In the context menu select 'Export ...'.
When saving provide a password, which will be required for importing on the other computer.
A .p12 file was saved, transfer it to the target computer.
Grab the development provisioning profile (either by downloading from the iPhone Program Portal or by grabbing the right one from ~/Library/MobileDevice/Provisioning Profiles/) and transfer it to the target computer.
Double click the .p12 file on the target computer. If you provide the correct password the key and certificate will be installed into the Keychain on the target computer.
Drag the provisioning profile onto the Xcode dock icon.
The application can now be installed on the device from the target computer, which in my case is the lovely black MacBook.
Taken From http://www.theevilboss.com/2009/06/iphone-sdk-development-on-multiple.html
I am trying to explain steps for export and import certificates
Export:
Open “Keychain Access” from your Applications > Utilities folder on your Mac
Look for the “Category” area within Keychain Access (left column, below “Keychains”
Then look for “iPhone Distribution: [name]” then expand it and highlight both the “iPhone Distribution…” row and the next row, which is the “team agent name” private key
While both rows are highlighted, right click and select “Export 2 items” in order to share
You will be saving a p12 file to your machine, and you will need to create a password for it in order to share the file (use a good password and remember the password, because you will need to share the password as well)
You are free to send both the P12 file and the password to your team member!
The next step is to install the p12 file on your team member’s system and get going! Here are the steps…
Double click on p12 file that your team member sent you. Keychain Access will open.
Enter password you were given… if you don’t have the password, go get it!
This will give you a new new private key.
Then login to “Team Agent” account on https://developer.apple.com/ and select the Select “iOS Provisioning Profile” link
Select Certificates and then Development tab and download and install certificate for Team Agent (Don’t worry! You are almost there!!!)
Select Certificates then Development tab and download to install WWDR intermediate certificate (Double click to install to keychain)
Select Certificates then Development tab and download to install WWDR intermediate certificate
Select Provisioning and then Distribution tab and download provisioning profile (More specifically the .mobileprovision file )
Finally drag onto Xcode icon to install
DONE!!
All you need is to follow the steps that Apple provides...
It instructs you to export your certs through xcode and reimport through Xcode. Works great, but make sure your username is the same on both computers or it will fail.
Back story:
Small-time iPhone developer, even have a (tiny) app on the App Store, so I've navigated the code-signing process before.
Performed the appropriate backups of my crypto certs (as outlined in the "Saving your Private Key and Transferring to other Systems" section of iPhone Developer Program
Standard Program Portal User Guide). I even have the previous full-disk image, if necessary.
Performed a full Leopard reinstall.
Installed my private key from the .p12 files created during backup process and my development certificate (re-downloaded from "Current Development Certificates" section of my iPhone Developer Program Portal)
iPhone developers who've gone through the same process: Can I use my old certificates, or must I go through all or part of the private key generation, CSR, and cert install process? If so, what are the steps to properly reinstall my certs so that Xcode recognizes them (and I can get back to the true goal - testing on my iPhone hardware again)?
You need your provisioning profiles and that should be it. But I emphasize "should" because I had trouble getting it back to work, too. I'm suspecting Keychain Access to be buggy (but don't quote me, I cannot prove it).
Some copying-keys-and-certificates-restarting-xcode-rebooting-device craziness later it simply worked for no obvious reason. It's definitely possible to use old keys, certificates, and profiles after a clean install.