Xamarin.iOS on macincloud development and automatic provisioning setup - xamarin

I'm trying to develop a cross-platform app using xamarin forms and mac-in-cloud. Specifically with ios, I'm trying to set-up automatic provisioning since I originally got the error when debugging: >Could not find any available provisioning profile for (app name).iOS on iOS
So, after researching into the issue I put my apple developer acct info in, and when trying to use automatic provisioning. I get an error under Team: >There were errors in the data supplied. Please correct and re-submit. There are no current IOS devices on this team matching the provided device IDs.
Now, following the research rabbit hole, I go to the apple developer portal, try and register device, select macOS, insert Hardware UUID of mac mini into device ID, so on. And no change to error(s).
Question time, am I setting it up completely wrong? Other (older) articles/forums suggest linking an ios device via itunes, however, that seems counterproductive to my objective. Anyways, any help would be greatly appreciated. Apologies for any naiveté.

What are you trying to develop with the mac? Is it a iOS (iPhone) app? If so you can just use the simulator on the mac, and the mac does not need to be registered.
Try manual provisioning in VS
Signing Identity > Development (your name)
Provisioning profile > probably will be vs (something)
Also in VS go to Preferences > Apple Developer Accounts > make sure your account is listed. Then on the right hand side, click 'View Details' then 'Download all profiles'
Restarting VS or the mac may also help.

Related

Xcode Team is not enrolled in the Apple Developer Program

I'm developing my personal mobile application.
I've used react native to build the application, and I'm now trying to bring my application on my iPhone X, using Xcode, however, when I'm trying to deploy the application I've got the following error:
Team [My Team Name] is not enrolled in the Apple Developer Program.
Is enrolling mandatory even for testing on personal devices?
Thanks!
What I did is listed below:
Created a Development certificate
Couldn't create a Distribution certificate ("Your account does not have permission to create iOS Distribution certificates")
Build the project correctly
Set signing of the project (both application and testing) to my Development certificate
Set scheme to my personal iPhone X
Click on "Distribute App"
Try on both, "Ad hoc" and "Development"
The only answer I've got is the error shown above.
Many thanks shim, I didn't have all those options since I'm using Xcode 10, however playing around with the signature settings I've made it out.
For whom other that will struggle with this issue, basically there's no point to archive the project to deploy on the Device.
The solution was just to select my device in the within the Schemas and just Run it on the device, that actually install the app on the mobile device.

How to upload to Apple's My Apps from a Xamarin project

I specifically need help getting the app build into my apps. I am so new to the MAC ecosystem. I need to get my app build from my windows 10 box (parallels) running VS2017/Xamarin Forms project uploaded to My Apps. What i have found is helpful if you are using xcode on the mac.
I have read tons of pages and help files and with all of that what I have includes:
created an app in VS2017/Xamarin that runs happily on the emulator from the MAC (MacBook Pro)
purchased the app dev subcription from apple
created a Production certificate (I don't need this yet but I was in there so...)
created a Development certificate
created a key pair from the Dev cert (that show up in the keychain)
created an App Group
created my app's placeholder under My Apps on App Store Connect
added my iPhone to devices via connecting to the Mac getting the UDID from iTunes
created a development provisioning profile for my iPhone (Not sure how this helps my testflight plight)
Assumptions
You must submit for review the same way for both TestFlight and Prod release to the actual store.
You don't need to open the app in xcode outside Xamarin
There is a tool or concept I am missing out on.
For development outside of Xcode, you will want to use Apple's Application Loader App to upload your app to App Store Connect.
As I said in comment to Matt below his correct answer to my actual question above, I needed to get the project right to get to that point.
Here are the more intimate details for the lurkers. I hope this helps some of you.
I was getting, or trying, to get all of this in place manually instead of letting VS do it's work getting this stuff together while I got to coding. FastLane FTW
Open the account management window, go to Tools > Options > Xamarin > Apple Accounts
Add your AppleID
Click on your appleID
Click the add button
Select your id in the lower text area
then add your distro cert. As is proper you deploy to TestFlight as a prod release.
Then get over to to your iOS project properties:
Make sure that your project is outputting an IPA. (Not Beer ;) )
These are my settings that worked. There could be other configurations that work as well.
I never get the automatic provisioning to work. And while this bundle signing settings look like it will not work, it does. I have received my apple approval for beta and users are in testflight.
Also, make sure you update the version of the app in the plist for subsequent releases. This change is not carried through from the AssemblyInfo.cs as one might expect. viola.
If you see this during debug make sure your debug version has Developer (Automatic) set for your debug settings.
FWIW - My VS2017:
While this does not perfectly match the info # https://learn.microsoft.com/en-us/xamarin/cross-platform/macios/apple-account-management?tabs=windows it worked for me. That page was key to the solution and deserves citing. Your mileage may vary.
If I missed something please reach out and I will update this.

Xamarin/XCode register provisioning profile error

I have the following problem. I'm creating Xamarin iOS application(by vs for max 2017) and during a building I have this error:
No installed provisioning profiles match the installed iOS signing
identities.
As far as I can understand the solution of this problem is connected with creating provisioning profile by xCode. But when I try to generate provisioning profile(with name testtesyui) by xCode I see this error:
Failed to create provisioning profile.
There are no devices registered in your account on the developer website.
Plug in and select a device to have Xcode register it.
No profiles for 'testtesyui' were found
Xcode couldn't find any iOS App Development provisioning profiles matching 'testtesyui'.
I don't have any real iOS device and I'm planning to use iOS emulator.
Below, I listed screnshoots from xCode ui(I've hid personal data):
xCode account settings,
xCode general settings
Could some one help with this problem? Please let me know if you need more details.
Thanks.
Updating:
I opened info.plist file in vs for mac and I saw the following:
info.plist content.
I've tried to sign in in my apple account, but in the end I saw this message:
signin. As a result, I still cannot select my team.
Could you please give advice where am I wrong?
my problem was in a solution configuration. By some reason, I tryed to build my application in Debug|iPhone mode, not in Debug|iPhoneSimulator mode.
When I switched to Debug|iPhoneSimulator mode, then the build works fine.
You need to enable automatic signing to work with simulator
Once you’ve ensured you have an Apple ID connected to Visual Studio for Mac, you’re ready to enable Automatic Signing
Steps
In your iOS project, open the Info.plist file. In the Signing section, select your team from the Team dropdown:
Then, select the Automatically manage signing  checkbox.
More Info here

How to list provisioning profiles and installed iOS signing identities?

Environment:
Visual Studio 2015 on PC
Visual Studio (Xamarin) on Mac
iPad is connected to Mac
My setup used to work fine. From PC, I would be able to debug iOS apps running on the iPad.
Yesterday, I updated the Mac OS as well as my iPad iOS. I may have updated a few other things too. However, now I am running into problems deploying Xamarin iOS apps on the iPad.
I can create an iOS app in xcode and deploy it successfully. However, when I try to build my Xamarin app, I get the error "No installed profiles match the installed iOS signing identities."
There are a few posts on the forum that talk about a similar problem. I have gone through all these posts. I have also downloaded (once again) my iOS certificate from Apple developer portal and added it to my keychain store.
I still don't understand why I get the error. Would appreciate if someone can tell me how I can get the list of installed iOS signing identities and compare them against the list of provisioning profiles.
Also, when I look at my plist.info file, I see that, for key CfBundleIdentifier, the value is replace_bundle_id. I am wondering how I can tie this bundle id back to my provisioning profile. On Apple's portal, I see a bunch of provisioning profiles (I am part of an enterprise team). There is no field called bundle-id on these profiles. All each of them have is an app-id. Where do I related the bundle-id to the provisioning profile? Regards.
Provisioning profiles are all inside the directory: /Users/m.piccotti/Library/MobileDevice/Provisioning Profiles
Usually when I have these kind of problems and no time to understand what's wrong, I simply delete everything inside that directory and I download again all the profiles from Xcode. Naturally you can try this only if you are sure that you'll be able again to download all the provisioning profiles you need.
Or it could be that you have to set the right provisioning profile for the project:
This info is saved into iOS.csproj, the element CodesignProvision.
When you go to Apple Developer portal and check App IDs, you see the Name and ID of your app. The ID is your bundle ID. That you need to enter in your plist.
Based on that Xamarin will find your profiles.
Here is what I did to make it work. This is based on the feedback I received from the other two replies.
From the Apple developer portal, I looked at the ID of my app. This was in the form com.mycompany.myproduct. In my Xamarin iOS app's plist.info, the id was replace_bundle_id. I changed it to match the one from the portal.
Next, I cleaned the "Provisioning Profiles" directory on Mac and used xcode to create a test project and change the bundle id (from project options) to match the one on the portal. xcode automatically created a new profile.
This made the whole thing work. Now I am able to deploy and debug from my PC to iPad via Mac.
Our project was generated by Xamarin wizard a long time ago and used to work just fine until recently. I still do not know why replace_bundle_id worked in the past and stopped working all of a sudden. The only change I had made was that I upgraded the OSes on the Mac as well as my iPad.

How to preview apps on iPad?

I am using xcode to develop a prototype application. Nothing too fancy, just slide effects and other simple gestures. Mostly moving images around the screen.
I can preview the app on my laptop using ios simulator, but how do I take the prototype to the iPad for a more realistic view?
Thank you
First, you need to join a paid iOS Developer Program or, if possible, the iOS University Program.
Then, you will have to create and install provisioning profiles using the steps in this documentation.
After that, you can test on iOS devices the same way you test on the Simulator.
Edit
Alleviate the need to go to the iOS Provisioning Portal every time you want to add a device to your provisioning profile by using automatic provisioning.
An easier way to install provisioning profiles is to let Xcode manage them for you. See the paragraph "To provision a device automatically for development" in this guide for more information.
This process requires a developer account with Apple - and you have to go through the Provisioning Portal to setup your provisioning profile. Apple recently came up with a great getting started guide:
https://developer.apple.com/programs/ios/gettingstarted/
Read the section on "Installing and Testing Apps on iPad, iPhone, and iPod touch".

Resources