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.
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 am a beginner in iOS development. I have got some understanding on provisioning profiles in IOS. Please help me confirm my understanding.
Here is my scenario. iOS application developed on MAC1 with developer certificate1 and built using developer provisioning profile1 which includes UDID1 is deployed on device D1 with UDID1 successfully.
I add a new device D2 with UDID2 to my developer provisioning profile1 and built the app in MAC1 and generated an .ipa file.
I have a new MAC machine M2 where i try to connect device D2 and try to deploy the app on device D2. I copied the latest developer provisioning profile to the device.
Questions
1. Will the provisioning profile get installed successfully ?
2. Will i be able to deploy the .ipa file on device only with the developer provisioning profile and without developer certificate from a new MAC machine on to the device D2(UDID of this device is already added to developer provisioning profile)?
3. If i had used adhoc provisioning profile and followed the same above steps will i be able to use instruments in Xcode ?
Thanks.
UPDATE 1
3. Answer - If i use adhoc distribution profile, i could not use instruments in xcode.
No that's not how things work
!) certificates must exist on every computer and on every device you want to test
2) On ad-hoc you must add the devices and then sent them some profiles for the phones.
3) then you archive and codesign app and send it wherever you want to.
OR you can use something like that https://testflightapp.com/
Answer1 - YES, provisioning profile will be installed successfully.
Reason - Provisioning profile if included with the UDID of a device, it can be installed. No other dependancies. But in the Keychain access, you will get a warning telling that, valid identities are missing.
Answer2 - YES, we will be able to deploy the .ipa file on the Device D2. .ipa file internally has .app and the provisioning profile. We cannot deploy the app on device without developer certificate.
Answer3 - No, Distribution profile is for submitting apps in app store. Those apps cannot be debugged.
Adding to these answers, .dysm file helps developers to get more details while profiling. This .dysm file can be generated only with developer provisioning profile.
If anyone thinks my understanding is wrong in any aspect please add a comment. Thanks.
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.
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.