I have developed a number of apps using MonoTouch, and been using the emulator for the iPhone, now I need to deploy me application to my iPhone for further testing.
I have purchased the iPhone SDK from Apple, but I can't find how to deploy and activate the MonoTouch application to my iPhone.
Any pointers please?
As has been already stated you obviously need the paid version of MonoTouch and the iPhone SDK. Once you have those sorted you need to create a developer certificate in the iPhone developer portal, download it to your dev machine and add it into your keychain.
Once you have done that you must create a provisioning profile for your physical device, which again you do through the developer portal. Once you have the provisioning profile, download that to your machine, and add it to the iPhone via the Organiser app in XCode.
Then fire up MonoDevelop, and if it's all gone to plan then you should have the option of deploying the build to your iPhone. You can check that MonoDevelop has correctly detected your certs by opening up the Project Options window and under the Build section and under iPhone Bundle Signing, you should see your developer cert and provisioning profile.
Full details of the steps required on the Apple iPhone Dev Site
Here are the MonoTouch docs on building for distribution
http://monotouch.net/Documentation/Building_for_Distribution
It is my understanding that you have to have the Monotouch deployment license from Novell to deploy to a device.
According to your statement:
When I compile I get: "No Valid iPhone code signing keys found in
keychain.
This is actually a Xcode question more then a Monotouch one;
The message indicates that your keychain does not provide the signing keys used to generate the certificates and provisioning profiles.
If you follow apple's steps on generating certificate(request), followed by profiles they will also state you might want to export your private key (p13 file) and keep it somewhere safe.
If you move to another laptop for instance, you will need to import that key again to make the machine a valid one.
If something went wrong (ie: you accidentally removed your private key, ..) this message will be shown since there is no way for Xcode to verify that the profiles are being used on a valid machine.
Go to this instruction page (apple account credentials needed) to check if the steps have been followed and check in the Keychain access app on your mac if under My Certificates you see a developer certificate and - if you unfold it - you can see the private key as a child node.
Related
I'm working on to create an app for Mac Catalyst platform using .NET MAUI. I'm already done with the creation of distribution certificate and provisioning profile. Also I have installed both. Now the problem is that I am unable to select the provisioning profile/certificate under Bundle Signing cause the option is grayed out.
You could create a certificate for Mac Development or Distribution on Apple Developer Portal and download it in your keychain access. I recommend this document: Provision an iOS app for app store distribution and although it's for iOS, the workflow for Mac app is similar.
Hope it works for you.
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 signed up for TestFlight.
Then I followed all steps in this tutorial:
But Xcode throws this warning:
Application failed codesign verification. The signature was invalid,
contains disallowed entitlements, or it was not signed with an iPhone
Distribution Certificate. (-19011)
It smells like there is a lot more work to do than what they wrote in the tutorial.
Is there a complete tutorial which walks through every step without stepping over anything?
And do I need to add the SDK even for simple beta tests?
(Edit: No, SDK is not needed!)
Start with logging into the Provisioning Portal, and adding a test device or two, under Devices. Then go to Provisioning and create a new one for the appID you are working on and add those devices.
Back to Xcode and use the Organizer:Devices:Provisioning Profiles to download (refresh) the Provisioning Profile. Set your project's Debug scheme's signing to use that developer profile. You should then be able to build and then archive. Once archived, do an ad hoc distribution and save off that file to the desktop.
Go to your account on TestFlightApp.com and press the Upload Build button. Drop the file you saved on your desktop, into the Build upload area. TestFlightApp will give you errors if the app wasn't bundled for adhoc or signed properly.
Now, here is where TestFlightApp.com will save you work. Send out invites to friends from within TestFlightApp.com. TestFlightApp.com will manage notifying them and as they create an account, it will also help them find their UDIDs. These UDID's can be batched up and later downloaded by you and re-uploaded to the Apple Provisioning Center, into your devices section.
You then use Xcode to refresh your profiles, and rebuild the app, archive, and upload to testflightapp. Then you can select which one of your testers will get to see this build and what message they should be sent. Your testers will not have to figure out how to download the files and install them using iTunes or other app, they merely press the install button.
Believe me, while it is still a bit of work, it is so much better than not using TestFlightApp.com, especially if your users are not very savvy about app installation. In the future, you can use the TestFLight SDK to gather crash reports and usage information for your debug builds.
See the following for some more info: TestFlight beta-testing iOS app
I am part of the Apple iOS Dev Program and I have the paid version of MonoTouch. Now how do I debug on my iPhone? AppIDs, provisioning, KeyChain??? I am lost. I have built simple apps in the simulator but cannot figure out how to debug on my device. Help!
You have to go to the provisioning portal (https://developer.apple.com/ios/manage/overview/index.action)and create a development certificate which you install in your keychain and a provisioning profile associated with your development certificate. You also have to add your device as a development device, also done through the portal. The steps to do all this are given on the provisioning portal site. After you have that all set up, look at the MonoTouch documentation on how to choose the correct profile to build your application against so it will install on the device.
Have you read the debugging docs for MonoTouch?
http://monotouch.net/Documentation/Debugging
I am developing an app for iPhone. How can I test this app on my device?
What are the procedures to follow? Please give information regarding this problem.
Deploying iPhone Apps to Real Devices
http://mobiforge.com/developing/story/deploying-iphone-apps-real-devices
In brief:
Sign up for the iPhone Developer Program
Obtain an iPhone Development Certificate
Generate a Certificate Signing Request
Generate, download and install your provisioning profile
Download and install your Development Certificate
Deploy your iPhone application.
Things you will need are
your private key.
your provisioning profile (with the UUID of your device added).
go to project settings and change code signing entity to your
distribution profile.
then you can build and run after connecting your device.
1) Open Xcode,
2) Go to Active SDK, and select the OS version running on your test device (viewable by going to Settings->General->About on the device).
3) With your project open, click on "Build and Run" (or press Command-R) to run the project, which will prompt you to allow access to your keychain.
4) Once deployed, the app will run automatically.
Distribution
First of all, to run the app on your phisical device you must enroll to the apple developer program.
Second, generate a developer certificate and download it. Then, import the certificate into Xcode and here you go.
There are some steps you need to follow to test your app on your personal iPhone. Below you can find all the steps:
Creat MAC certificate at first step.
Second step is to upload that certificate to developer account.
Now you should open developer account at
http://www.developer.apple.com
You can now find an option for device id in your developer account on
left side.
Now you should register your iphone device.
It is time to create your unique identifier on developer account
Download your certificate and install it on xcode organize
Now open your project embed your unique identifier in your project.
These steps can be beneficial for all software testing gusy involved in mobile application testing.