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

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


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

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 10.3.1.8 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.

Thanks,
Steve
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?

Thanks,
Steve
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
Runtime:
 Mono 4.8.0 (mono-4.8.0-branch/9d74414) (64-bit)
 GTK+ 2.24.23 (Raleigh theme)

 Package version: 408000524

=== NuGet ===

Version: 3.5.0.0

=== Xamarin.Profiler ===

'/Applications/Xamarin Profiler.app' not found

=== Apple Developer Tools ===

Xcode 8.2.1 (11766.1)
Build 8C1002

=== Xamarin.iOS ===

Version: 10.8.0.27 (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: 3.2.0.27 (Visual Studio Enterprise Trial)

=== Xamarin.Android ===

Version: 7.2.0.6 (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:
https://github.com/xamarin/AndroidDesigner.EPL

=== 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.

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