why does xamarin suddenly not let me deploy to iOS devices - xamarin.ios

This just started happening today after I got a message from xcode to agree to new t&c's.
I can't put anything on the device, on any of my computers.
Doesn't work on my macbook, doesn't work on my mac mini, doens't work with existing projects that worked fine until yesterday, doesn't even work with completely new projects.
I constantly get the message:
writeDictToFile:1241 open failed for
/Users/georgecook/Desktop/test/iOS/obj/iPhone/Debug/mtouch-cache/install-shadow-directory/339bee33bc83c8e05fbd004dcc732c0b/20715d40747e047ba8a4ce4c1d2672ef90161df5/ManifestCache.plist
: No such file or directory MDMCacheDirectoryManifest:1315
writeDictToFile failed to write to
/Users/georgecook/Desktop/test/iOS/obj/iPhone/Debug/mtouch-cache/install-shadow-directory/339bee33bc83c8e05fbd004dcc732c0b/20715d40747e047ba8a4ce4c1d2672ef90161df5/ManifestCache.plist
: No such file or directory error MT1006: Could not install the
application
'/Users/georgecook/Desktop/test/iOS/bin/iPhone/Debug/test.iOS.app' on
the device Gandalf the white: Your application failed code-signing
checks. Check your certificates, provisioning profiles, and bundle
ids. Probably your device is not part of the selected provisioning
profile (error: 0xe8008015).
No idea why this is suddenly happening - this is really not good - how to resolve this?

I tripped over this one recently too.
The key is this part of the message:
Your application failed code-signing checks. Check your certificates, provisioning profiles, and bundle ids. Probably your device is not part of the selected provisioning profile
Likely, your provisioning profile has expired. The easiest way to solve this is to launch Xcode, create an empty project, and hit Run. This will go over a series of dialog boxes offering you to fix your provisioning profile until it deploys. Once this happens, you can switch back to Visual Studio/Xamarin Studio and deploy.

One reason this can happen is if you have multiple developer accounts set up in XCode. Here are the steps
Verify that your device is on Apple member center
Verify that your device is part of the relevant provisioning profile
Repeat steps 1 and 2 for each account
Create a new project in XCode and run it on the device. XCode may ask you to select the team (if you have multiple accounts)
If you have multiple developer accounts (teams) set up in XCode, the repeat step 4 each time with a new project and select a different team each time.
These steps ensure that XCode clears the way for Xamarin. The idea is that Xamarin does not allow you to decide which "team" to use, so you want to make sure that XCode has done the setup for EVERY team.

I just had this ManifestCache.plist : No such file or directory problem. I checked device logs (View -> Pads -> iOS Device Log) to see why it was happening. Logs said it was rejecting an upgrade. Upgrade, I thought to myself, that doesn't sound right...then I remembered I had an app on my iPhone with the same identifier to.dima.application from a previous version which I forgot to uninstall. Removing the old app cleared up this issue for me. Hope this helps anyone else who has the same problem! :)

It works! I have found the solution.I was facing the same problem. Somehow there was a misconfiguration in Xamarin. The entitlements.plist had a wrong manuel entry. The cert ist checking all the values in it and if you have a manuel entry there it is not working anymore. Apple is searching somehow only for own entry they are needing.

I spent sometime on developer portal to find out the problem, it occurs because of distribution APNS or development. It did not fixed, after restoring all provisioning profiles and certificates, . In my case solution was letting Xamarin choose signing profiles. I did not use info.plist auto signing which did not solve either but changing Project -> iOS Bundle Signing -> Signing identity, Provisioning Profile Auto solved all issues for development and production cases.

I had the same issue, and so I opened Xcode and updated all my profiles, but nothing happened. So I added the device UDID in the developer portal to the team I was developing for, went to Xcode and updated the profiles again, and then it worked. Don't know if the device must be registered to be able to build to device or this triggered some other update to my profiles that suddenly made it work.

Today they published a new revision of the Apple Developer Licence agreement.
The error message was essentially the same as OP's. The true reason only became apparent when creating a new project in XCode on the Mac, where more useful warnings show up in the "Deployment info" section of the "General" tab.
I had to log in to apple.developer.com, there was a red panel asking me to accept the new licence conditions, and as soon as I did that, deploying apps from Xamarin immediately worked again.

Related

Getting issue while inspecting mobile app through Appium

Steps:
Running WebdriverAgent Lib, WebdriverAgent Runner, IntegrationApp in XCode then I am able to launch Simulator and app is also added but getting some issue in signing(debug)
When I am adding capabilities in Appium Inspector and trying to inspect app then Webdriver Agent is getting installed in simulator and deleting again
enter image description here
Please share some solutions
Use an existing bundle identifier that you already have added to this account or (not the best workaround) create a new free Apple developer account and sign WDA with it. Or you could wait a few days until the limitation is lifted. Also clean the project and build WDA from scratch on the device after making the changes at least once, then try connecting with Appium.

Access Core Data from extension without provisioning profile on macOS?

I'd like to add a Quick Look extension to my program, but in order to be useful, it would have to access the Core Data stack, which seems to require me to add an App Group and a provisioning profile to the project.
Until now, it has been possible for anyone to download the project from Github and compile and run it out of the box. All project targets are set to Team: None and Sign to Run Locally. If I add my provisioning profile to the project, this will no longer work. They will have to create and add their own provisioning profile and change the Signing & Capabilities settings on each of the 26 targets (there seems to be no way to do them all at once). And the profile will have to be renewed every year.
My question is, is there any way around this? Is such a major change really necessary for what amounts to accessing a file inside the program's own bundle (and another in its Application Support folder?)
EDIT: As was pointed out to me on the Apple Developer forum, you don't need a provisioning profile as long as you prefix the group name with the development team identifier. This still won't make it build out of the box, though. You will still need a developer account and set a team on every target.
I had missed that you are supposed to have a team identifier as the prefix for the group name. That still doesn't solve the problem that my project will no longer build out of the box for anyone who downloads it from Github, but it answers the question asked in the subject line.

RoboVM: App not loading on iPhone

To begin, the app is working on the iPhone simulators. The problem is the difficulty in creating the signing identity, cert, ect. Here are the steps I am taking and I would be grateful if someone could point out something I am doing in error!
Here is my setup for my Certificates, Identifiers, & Profiles:
Certificate-
App ID-
Provisioning Profile-
Also, here are other important screenshots for this application-
I am not necessarily getting any errors in any part of this process, but whenever I move the created IPA file over from iTunes onto the phone (iPhone6), it begins to load and initialize before it stops and disappears. Thanks for the help!
EDIT: My robovm configuration is in the Project build.gradle file, under section:
project(":ios"){
I have figured out the reason for this. Everything was fine except for in the robovm.properties file. I had:
app.id=com.on*******
and what I needed was
app.id=com.on*******.*
The wildcard at the end was necessary, and I am sure the actual name would work as well. Thanks for the help Saret
Select your attached device and the right signing identity and provisioning profile. Also be sure that your device is enabled in the apple developer console with your certificate.

UWP Push notification stop working if built from another machine

I am implementing push notifications in our Xamarin.Forms application.
What I have followed is this documentation: https://learn.microsoft.com/en-us/azure/app-service-mobile/app-service-mobile-xamarin-forms-get-started-push
Android and iOS are working perfectly as intended, my problem is with the UWP Push notification.
I have used Visual Studio to associate the application with the store, and I took the Package SID and the Application Secret and added them to the Notification hub in Azure like shown in the documentation linked above. I tried to run the application, and I was able to receive the notification. Perfect!
Problem that my team and myself faced is the next: When one of my colleagues pulled the source code to test it, the notification was never received. Even when we install the application from our build server the same problem is faced.
Why does the notification stop working when built from another machine than mine, and how to fix it so that it will keep working when built from any other machine?
The problem turned out to be simple, steps I taken to fix the problem are the next:
After associating the application and reserve it in the windows store, I got a publisher name: CN=********-****-****-****-************, in Visual Studio, I right clicked on the:
UWP Project -> Application -> Package Manifest -> Packaging,
and you can find the publisher name right to the Publisher label, and right next to that there's a Choose Certificate... button. I clicked it and chose Configure Certificate drop down list and clicked on Create Test Certificate.
Three text boxes should be entered, publisher common name, and password and its confirmation. Inside the Publisher Common Name I entered the ********-****-****-****-************ without the CN= and entered my password. After creating the certificate I installed it on others laptops that needs to build the application and notification was working after.

Compiling the GKRocket demo without Provisioning and Code Signing

I understand the need to provision apps when you are getting close to deployment; however, right now, I am just trying to play with some sample code. Specifically, the GKRocket demo that ships with iOS 4.2 SDK. I want to compile and run it; however, I get the following error:
Code Sign error: a valid provisioning profile matching the application's Identifier 'com.apple.GKRocket' could not be found
The readme.txt claims "Build the game simply by opening it with Xcode and clicking on Build and Go."
I just read the following thread
Code Sign Error When Building iPhone Application
and the following
http://developer.apple.com/ios/manage/bundles/index.action
Since the app is using the NSNotificationCenter, it leads me to believe that I need an AppID. But shouldn't the demo already be pointing to and AppID setup by Apple for the demo code?
The plist shows
Bundle identifier com.apple.${PRODUCT_NAME:rfc1034identifier}
any ideas on what I should do to compile and run this in the simulator?
Update:
I was able to get it running by code signing, but never could compile without it :(
It appears since the GKRocket Demo is using the NSNotification Center that in fact you need to sign your code. You can sign your code with your/or your team cert. Change the Project -> Project Settings -> Code Signing Identity to use your cert. Note: If you don't have your cert, and you paid the $99 dev license go through the steps here.
Then open the plist file and change the bundle to your domain name.
Also, to get the GKRocket Demo running, make sure you turn on Bluetooth in your network settings.
System Preferences -> Bluetooth. Turn it on and check discoverable. Then go into advanced settings
Install your app on your iPhone with a build and run. Close the debugger. Then start your app in the local iOS simulator. Now manually run your app on your phone.

Resources