Skip to content

Commit 6730ea8

Browse files
committed
[msbuild] Don't set UIRequiredDeviceCapabilities when compiling app manifests for frameworks.
1 parent 73ebcbd commit 6730ea8

File tree

1 file changed

+10
-0
lines changed

1 file changed

+10
-0
lines changed

msbuild/Xamarin.MacDev.Tasks/Tasks/CompileAppManifest.cs

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -527,6 +527,16 @@ void SetRequiredArchitectures (PDictionary plist)
527527
{
528528
PObject? capabilities;
529529

530+
if (IsFramework) {
531+
// When building universal apps, we might get called here once for each architecture.
532+
// This will lead to different app manifests in each architecture-specific app bundle,
533+
// and then merging them into a universal bundle will fail.
534+
// Typically this is not a problem for normal apps, because we compile the app manifest
535+
// once for the universal app bundle, but for frameworks we do it once for each architecture,
536+
// so just skip setting UIRequiredDeviceCapabilities in that case.
537+
return;
538+
}
539+
530540
if (plist.TryGetValue (ManifestKeys.UIRequiredDeviceCapabilities, out capabilities)) {
531541
if (capabilities is PArray) {
532542
var architectureValues = new HashSet<string> (new [] { "armv6", "armv7", "arm64" });

0 commit comments

Comments
 (0)