Bug 53232 - Mono framework embedded in watch extension -> App Store submission failure
Summary: Mono framework embedded in watch extension -> App Store submission failure
Alias: None
Product: iOS
Classification: Xamarin
Component: General ()
Version: XI 10.4 (C9)
Hardware: PC Mac OS
: Normal normal
Target Milestone: 15.1
Assignee: Rolf Bjarne Kvinge [MSFT]
Depends on:
Reported: 2017-03-10 18:21 UTC by Steve Gordon
Modified: 2017-03-22 10:25 UTC (History)
7 users (show)

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

Bug 53232 Ide Logs and Screenshots of Apploader (3.94 MB, application/x-zip-compressed)
2017-03-22 10:24 UTC, Mohak Barokar

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 Steve Gordon 2017-03-10 18:21:29 UTC
Upon submitting our iOS + watchOS v1 app using the latest (10.4) version of Xamarin iOS, we discovered that the Mono framework is being duplicated within the Watch Extension folder of the package. This results in 3 App Store submission errors:

- ERROR ITMS-90685: "CFBundleIdentifier Collision. There is more than one bundle with the CFBundleIdentifier value 'xamarin.ios.mono-framework' under the iOS application 'X.app'."
- ERROR ITMS-90205: "Invalid Bundle. The bundle at 'X.app/PlugIns/XWatchExtension.appex' contains disallowed nested bundles."
- ERROR ITMS-90206: "Invalid Bundle. The bundle at 'X.app/PlugIns/XWatchExtension.appex' contains disallowed file 'Frameworks'."

A manual inspection of the package confirms there is a Frameworks folder in the watch extension where there was not in earlier versions.

To work around this problem, we were able to roll back to and in doing so confirmed the problem went away.

To rule out problems with our specific project, we created a vanilla iOS + Watch app and confirmed the same behavior at build time.

Please let me know if you need any additional information.

Comment 1 Vincent Dondain [MSFT] 2017-03-13 02:38:39 UTC
I can confirm the regression in 10.4 which bundles Mono.framework in the WatchKit Extension. This wasn't the case in 10.3.

To reproduce I simply created a new iOS project with a new watchOS 1 project.

This would be an MSBuild issue (changing the component of this bug).
Comment 2 Jeffrey Stedfast 2017-03-13 17:39:12 UTC
I don't know that it's an MSBuild issue... I thought the mtouch tool pulled in the Mono framework?
Comment 3 Rolf Bjarne Kvinge [MSFT] 2017-03-13 17:39:26 UTC
You can work around it by adding "--mono:static" to the additional mtouch arguments in the watchkit extension project.
Comment 4 Rolf Bjarne Kvinge [MSFT] 2017-03-13 17:39:48 UTC
@Jeff, yes, this is an mtouch issue.
Comment 5 Rolf Bjarne Kvinge [MSFT] 2017-03-13 19:11:53 UTC
master: https://github.com/xamarin/xamarin-macios/pull/1864
Comment 6 Steve Gordon 2017-03-13 21:31:10 UTC
Rolf: I tried your workaround and it didn't seem to work. Anything else I might be missing?

Comment 7 Rolf Bjarne Kvinge [MSFT] 2017-03-14 06:19:18 UTC
@Steve, did you clean your solution first? If you don't, the Mono.framework from the previous build will still be around. If that doesn't work, please attach the full build log and I'll have a look.
Comment 8 Sebastien Pouliot 2017-03-14 15:07:21 UTC
PR was merged in master https://github.com/xamarin/xamarin-macios/commit/ff9bae7bbc26bd6239e8353213a7ee4f1323e529
Comment 9 Rolf Bjarne Kvinge [MSFT] 2017-03-14 15:10:54 UTC
Fixed in d15-1 as well: https://github.com/xamarin/xamarin-macios/commit/f94cf268451a8ec3a7fab75874724b6249bc9def
Comment 10 Mohak Barokar 2017-03-22 10:24:36 UTC
Created attachment 20596 [details]
Bug 53232 Ide Logs and Screenshots of Apploader

Verified this bug on following config : 

=== Xamarin Studio Enterprise ===

Version 6.3 (build 853)
Installation UUID: 2adb7e6f-cff5-443b-a1c2-9cd618f4c8e6
 Mono 4.8.0 (mono-4.8.0-branch/9d74414) (64-bit)
 GTK+ 2.24.23 (Raleigh theme)

 Package version: 408000524

=== NuGet ===


=== Xamarin.Profiler ===

'/Applications/Xamarin Profiler.app' not found

=== Apple Developer Tools ===

Xcode 8.2.1 (11766.1)
Build 8C1002

=== Xamarin.iOS ===

Version: (Visual Studio Enterprise Trial)
Hash: 9c31d85
Branch: d15-1
Build date: 2017-03-21 09:34:27-0400

=== Xamarin Inspector ===

Version: 1.2.0-rc+build.12
Hash: 46fd2cd
Branch: d15-1
Build date: Wed, 01 Mar 2017 21:53:36 GMT

=== Xamarin.Mac ===

Version: (Visual Studio Enterprise Trial)

=== Xamarin.Android ===

Version: (Visual Studio Enterprise Trial)
Android SDK: /Users/globallogic/Library/Developer/Xamarin/android-sdk-macosx
 Supported Android versions:
  2.3 (API level 10)
  4.4 (API level 19)
  6.0 (API level 23)
  7.0 (API level 24)
  7.1 (API level 25)

SDK Tools Version: 25.2.5
SDK Platform Tools Version: 25.0.3
SDK Build Tools Version: 25.0.1

Java SDK: /usr
java version "1.8.0_101"
Java(TM) SE Runtime Environment (build 1.8.0_101-b13)
Java HotSpot(TM) 64-Bit Server VM (build 25.101-b13, mixed mode)

Android Designer EPL code available here:

=== Build Information ===

Release ID: 603000853
Git revision: e2019d10e6726829235930d61891599a299355ec
Build date: 2017-03-20 16:03:27-04
Xamarin addins: e99b90462c4f9ec52e982ae747f1213fdaafacfc
Build lane: monodevelop-lion-d15-1

=== Operating System ===

Mac OS X 10.12.3
Darwin NAG1-DMAC-26499 16.4.0 Darwin Kernel Version 16.4.0
    Thu Dec 22 22:53:21 PST 2016
    root:xnu-3789.41.3~3/RELEASE_X86_64 x86_64

After Uploading Watch App through apploader no above mentioned errors were observed.Hence Marking this bug as Verified.