Bug 5131 - Entitlements.plist showed up in Release/iPhone config
Summary: Entitlements.plist showed up in Release/iPhone config
Alias: None
Product: Xamarin Studio
Classification: Desktop
Component: iOS add-in ()
Version: 3.0.x
Hardware: Macintosh Mac OS
: High normal
Target Milestone: ---
Assignee: Jeffrey Stedfast
Depends on:
Reported: 2012-05-16 17:36 UTC by Neal
Modified: 2012-05-24 15:07 UTC (History)
2 users (show)

Is this bug a regression?: ---
Last known good build:

Notice (2018-05-24): bugzilla.xamarin.com is now in read-only mode.

Please join us on Visual Studio Developer Community and in the Xamarin and Mono organizations on GitHub to continue tracking issues. Bugzilla will remain available for reference in read-only mode. We will continue to work on open Bugzilla bugs, copy them to the new locations as needed for follow-up, and add the new items under Related Links.

Our sincere thanks to everyone who has contributed on this bug tracker over the years. Thanks also for your understanding as we make these adjustments and improvements for the future.

Please create a new report on Developer Community or GitHub with your current version information, steps to reproduce, and relevant error messages or log files if you are hitting an issue that looks similar to this resolved bug and you do not yet see a matching new report.

Related Links:

Description Neal 2012-05-16 17:36:19 UTC

I've been dev'ing a long time with MonoTouch, etc. so I'm not new and my configurations haven't changed for release, dev, ad-hoc, etc.  Today is the first day I uploaded a build to my iPhone for testing using Release/iPhone which is a Dev cert, not ad-hoc.  

When choosing the Run/Upload to Device I kept getting an error about something wrong with the provisioning/signing.  For whatever reason the Entitlements.plist shows up in the Release/iPhone build when it was only previously in the Release/Ad-Hoc build.

Not sure how/why - it may affect others.

Comment 1 Jeffrey Stedfast 2012-05-18 17:02:14 UTC
Can you test out http://files.xamarin.com/~jeff/MonoDevelop-3.0.1js2.dmg and see if that solves it for you?
Comment 2 Jeffrey Stedfast 2012-05-21 15:58:50 UTC
this has been reported as fixed by a number of other people now
Comment 3 Neal 2012-05-24 12:33:41 UTC

I know others are reporting empty arrays in their Entitlements.plist, while I have not tried your updated build, my issue is that the "Entitlements.plist" is appearing in configurations it shouldn't and I have to clear it.  I reported this issue as seeing it in Release/iPhone, now I'm working in Debug/iPhone and see that Entitlements.plist has appeared in that config as well.  In MD 2.8.x it was only in the Ad-Hoc config.  You may want to see if there is some reason this .plist is showing up in other build/solution configs.

Comment 4 Mikayla Hutchinson [MSFT] 2012-05-24 13:54:46 UTC
Toggling the entitlements in the plist editor adds the Entitlements.plist to all configurations that do not have entitlements already set. This should not change anything unless you toggle that checkbox, and having the plist in all configurations should not cause problems. Is it causing problems for you?
Comment 5 Neal 2012-05-24 14:02:10 UTC
I cannot get a successful build/install with Entitlements.plist included.  I remove it and all works fine in my deployment to my test devices.
Comment 6 Mikayla Hutchinson [MSFT] 2012-05-24 14:09:36 UTC
It what way is it unsuccessful? What entitlements do you have?
Comment 7 Neal 2012-05-24 14:14:23 UTC
This is my Entitlements.plist for ad-hoc only per the old docs on your web site:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
Comment 8 Neal 2012-05-24 14:16:06 UTC

Says use in ad-hoc configuration only, in MD 3 this is used in all my configs now for some reason.  Wasn't there in
Comment 9 Jeffrey Stedfast 2012-05-24 15:07:50 UTC
Neal: this should be fixed in 3.0.2 and here's why:

in 3.0.1, when you opened the Application project options, the code used to scan all configurations to see if any of them referenced a file called Entitlements.plist. If any of them did, it would toggle the "Enable Entitlements" checkbox which would then invoke a callback which then scanned over all configurations, setting *all* empty values to Entitlements.plist (which is what happened to you).

I've fixed it in 3.0.2 so that during that initialization phase, it will not cause the toggle callback to set any values.

In other words, I prevented the domino effect caused by initializing the checkbox to the initial state.