From d45ae7add6814cc10470b2c31d57a8c2afcd0bc8 Mon Sep 17 00:00:00 2001 From: Jeffrey Stedfast Date: Wed, 14 Dec 2016 12:53:13 -0500 Subject: [PATCH 1/3] [msbuild] Delay codesigning of App Extensions Instead of codesigning App Extensions as part of the App Extension build, we now codesign them as part of the Codesign target of the main app project. --- .../Xamarin.iOS.Common.targets | 74 +++++++++++++++++-- 1 file changed, 69 insertions(+), 5 deletions(-) diff --git a/msbuild/Xamarin.iOS.Tasks.Core/Xamarin.iOS.Common.targets b/msbuild/Xamarin.iOS.Tasks.Core/Xamarin.iOS.Common.targets index cfa7bb0e9726..6ddd4c4dd49b 100644 --- a/msbuild/Xamarin.iOS.Tasks.Core/Xamarin.iOS.Common.targets +++ b/msbuild/Xamarin.iOS.Tasks.Core/Xamarin.iOS.Common.targets @@ -302,11 +302,13 @@ Copyright (C) 2013-2016 Xamarin. All rights reserved. _EmbedMobileProvision; _CodesignNativeLibraries; _CodesignFrameworks; + _CodesignAppExtensions; <_CoreCodesignDependsOn> _CodesignNativeLibraries; _CodesignFrameworks; + _CodesignAppExtensions; _CodesignAppBundle; _CodesignVerify; @@ -1530,7 +1532,7 @@ Copyright (C) 2013-2016 Xamarin. All rights reserved. - + + + + + + + + + + + + + + + + + <_AppBundleFileName>$([System.IO.Path]::GetFileName('$(AppBundleDir)')) + + <_EntitlementsFullPath>$([System.IO.Path]::GetFullPath('$(DeviceSpecificIntermediateOutputPath)Entitlements.xcent')) + + <_ResourceRulesFullPath> + <_ResourceRulesFullPath Condition="'$(_PreparedResourceRules)' != ''">$([System.IO.Path]::GetFullPath('$(_PreparedResourceRules)')) + + + + + + + + + + + - + Date: Wed, 14 Dec 2016 15:23:01 -0500 Subject: [PATCH 2/3] [msbuild] Use an ItemGroup to define _AppExtensionCodesignProperties By using an ItemGroup, we save all of the metadata even if the values are null/empty. Using CreateItem, any metadata property with a null or empty value was not being saved in the .items file. --- .../Xamarin.iOS.Common.targets | 20 ++++++++++--------- 1 file changed, 11 insertions(+), 9 deletions(-) diff --git a/msbuild/Xamarin.iOS.Tasks.Core/Xamarin.iOS.Common.targets b/msbuild/Xamarin.iOS.Tasks.Core/Xamarin.iOS.Common.targets index 6ddd4c4dd49b..2af8444d2a81 100644 --- a/msbuild/Xamarin.iOS.Tasks.Core/Xamarin.iOS.Common.targets +++ b/msbuild/Xamarin.iOS.Tasks.Core/Xamarin.iOS.Common.targets @@ -1604,15 +1604,17 @@ Copyright (C) 2013-2016 Xamarin. All rights reserved. <_ResourceRulesFullPath Condition="'$(_PreparedResourceRules)' != ''">$([System.IO.Path]::GetFullPath('$(_PreparedResourceRules)')) - - - + + <_AppExtensionCodesignProperties Include="$(_AppBundleFileName)"> + $(_CodesignAllocate) + $(_SdkIsSimulator) + $(_EntitlementsFullPath) + $(_ResourceRulesFullPath) + $(CodesignKeychain) + $(_CodeSigningKey) + $(CodesignExtraArgs) + + Date: Wed, 14 Dec 2016 16:33:25 -0500 Subject: [PATCH 3/3] [msbuild] Take advantage of %(_AppExtensionCodesignProperties.Identity) ...instead of having to use %(_AppExtensionCodesignProperties.Filename)%(_AppExtensionCodesignProperties.Extension) --- .../Xamarin.iOS.Tasks.Core/Xamarin.iOS.Common.targets | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/msbuild/Xamarin.iOS.Tasks.Core/Xamarin.iOS.Common.targets b/msbuild/Xamarin.iOS.Tasks.Core/Xamarin.iOS.Common.targets index 2af8444d2a81..b453044c3668 100644 --- a/msbuild/Xamarin.iOS.Tasks.Core/Xamarin.iOS.Common.targets +++ b/msbuild/Xamarin.iOS.Tasks.Core/Xamarin.iOS.Common.targets @@ -344,6 +344,7 @@ Copyright (C) 2013-2016 Xamarin. All rights reserved. + @@ -1571,7 +1572,7 @@ Copyright (C) 2013-2016 Xamarin. All rights reserved. @@ -1587,8 +1588,8 @@ Copyright (C) 2013-2016 Xamarin. All rights reserved.