This is Xamarin's bug tracking system. For product support, please use the support links listed in your Xamarin Account.
Bug 43312 - Publish ipa does not resign dynamic frameworks
Summary: Publish ipa does not resign dynamic frameworks
Status: VERIFIED FIXED
Alias: None
Product: Xamarin Studio
Classification: Desktop
Component: iOS add-in (show other bugs)
Version: 6.0.0 (C7)
Hardware: PC Mac OS
: High normal
Target Milestone: (C8)
Assignee: Jeffrey Stedfast
URL:
Depends on:
Blocks:
 
Reported: 2016-08-12 16:12 UTC by Bill Holmes
Modified: 2016-09-12 15:50 UTC (History)
9 users (show)

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


Attachments

Description Bill Holmes 2016-08-12 16:12:01 UTC
When using the archive and publish feature in Xamarin Studio, it appears that dynamic frameworks are not re-signed correctly.

If the app is built with one profile yet a different profile is selected for the publish step you will see the former cert was used to sign the dynamic framework.

I have attached a solution for testing as well as 3 ipa files.  If you extract the contents of DevCertBuildPublishDistCert.ipa and check the info for MyLibFw and TestAdHocApp you will see 2 different certs being used.


unzip DevCertBuildPublishDistCert.ipa -d test

codesign -dvv test/Payload/TestAdHocApp.app/Frameworks/MyLibFw.framework/MyLibFw 
# outputs Authority=iPhone Developer: William Holmes (7NLBGWH956)

codesign -dvv test/Payload/TestAdHocApp.app/TestAdHocApp
#outputs Authority=iPhone Distribution: William Holmes (CN96H2279W)

Compare that to the results of DistCertBuild.ipa. Both TestAdHocApp and MyLibFw show the Distribution cert.

I believe this is causing ipa install or runtime errors such as https://github.com/mono/SkiaSharp/issues/100
Comment 1 Alex Soto 2016-08-12 22:39:32 UTC
cc'ing Jeff and Vincent ^
Comment 2 Sebastien Pouliot 2016-08-15 13:44:59 UTC
Not sure if the logic too be fixed is in XS (or in the msbuild) -> Jeff
Comment 3 Jeffrey Stedfast 2016-08-15 15:33:30 UTC
The logic for resigning for publishing is in XS. I think the logic for signing *.dylibs already exists in the msbuild logic.

I'll verify tho.
Comment 4 xamarin-release-manager 2016-08-15 18:00:33 UTC
Fixed in version 6.1.0.5341 (cycle8)

Author: Jeffrey Stedfast
Commit: b99a75819e90a463a83cc904cb27f922955b30b1 (xamarin/md-addins)
Included in Commit: 9dbb95ed5ae4be90e38480cfd6323bc605a93a49 (mono/monodevelop)
Comment 5 Jeffrey Stedfast 2016-08-15 18:01:02 UTC
Fixed in XS master & cycle8 branches.

msbuild already does the right thing.
Comment 7 Jeffrey Stedfast 2016-08-24 17:32:18 UTC
Oops, fixed now.
Comment 8 Oleg Demchenko 2016-09-12 15:50:54 UTC
Verified with XamarinStudio-6.1.0.5436

Note You need to log in before you can comment on or make changes to this bug.