Bug 41597 - [tvos] LC_VERSION_MIN_TVOS's SDK value in Mono.framework/Mono is 73
Summary: [tvos] LC_VERSION_MIN_TVOS's SDK value in Mono.framework/Mono is 73
Status: VERIFIED FIXED
Alias: None
Product: iOS
Classification: Xamarin
Component: General ()
Version: XI 9.8 (tvOS / C7)
Hardware: PC Mac OS
: --- normal
Target Milestone: C7SR1
Assignee: Rolf Bjarne Kvinge [MSFT]
URL:
Depends on:
Blocks:
 
Reported: 2016-06-08 13:09 UTC by Rolf Bjarne Kvinge [MSFT]
Modified: 2016-07-05 18:23 UTC (History)
4 users (show)

Tags:
Is this bug a regression?: No
Last known good build:

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:
Status:
VERIFIED FIXED

Description Rolf Bjarne Kvinge [MSFT] 2016-06-08 13:09:29 UTC
> otool -l /Library/Frameworks/Xamarin.iOS.framework/Versions/Current/SDKs/Xamarin.AppleTVSimulator.sdk/Frameworks/Mono.framework/Mono |grep LC_VERSION_MIN_TVOS -A 3
>       cmd LC_VERSION_MIN_TVOS
>   cmdsize 16
>   version 9.0
>       sdk 73.0

This causes apps to be rejected from the App Store (when shipping Mono as a framework).

The workaround is to embed Mono as a static library (which is the default - otherwise it can be disabled by passing --mono=static as an additional mtouch argument in the project's iOS Build options).

For some reason the value for the iOS version of Mono.framework is correct.
Comment 1 Rolf Bjarne Kvinge [MSFT] 2016-06-09 08:33:56 UTC
This happens by default for tvOS apps with tvOS extensions.

The workaround is to add --mono:static to the additional mtouch arguments for both the main tvOS project and the tvOS extension project.
Comment 2 kerstin.holzner 2016-06-10 07:10:29 UTC
HI Rolf,

that and --mono:no-package-framework didn't work for me, as the Framework folder was still included in the Payload. I ended up deleting it manually, resign and repackage. Looks good so far. Regression test is ongoing
Comment 5 Saurabh 2016-06-23 11:29:26 UTC
I am able to reproduce this with stable Xamarin.iOS 9.8.1.4, I am getting:
Hello:~ 360_macmini$ otool -l /Library/Frameworks/Xamarin.iOS.framework/Versions/Current/SDKs/Xamarin.AppleTVSimulator.sdk/Frameworks/Mono.framework/Mono |grep LC_VERSION_MIN_TVOS -A 3
cmd LC_VERSION_MIN_TVOS
cmdsize 16
version 9.0
sdk 73.0

With fixed build (Xamarin.iOS 9.9.2.39) I am getting: version: otool -l /Library/Frameworks/Xamarin.iOS.framework/Versions/Current/SDKs/Xamarin.AppleTVSimulator.sdk/Frameworks/Mono.framework/Mono |grep LC_VERSION_MIN_TVOS -A 3
cmd LC_VERSION_MIN_TVOS
cmdsize 16
version 9.0
sdk 9.2

I'll verify this Issue once get the build for C7SR1
Comment 6 Mohit Kheterpal 2016-07-05 18:23:32 UTC
I have checked this issue with C7 build of xamarin.ios-9.8.2.11_9ae33ac96b6b40c4f9f2d1638cd6640695224130 and observed that this issue has been fixed as I am getting following output.

Xamarin77Macmini:~ xamarin77$ otool -l /Library/Frameworks/Xamarin.iOS.framework/Versions/Current/SDKs/Xamarin.AppleTVSimulator.sdk/Frameworks/Mono.framework/Mono |grep LC_VERSION_MIN_TVOS -A 3
cmd LC_VERSION_MIN_TVOS
cmdsize 16
version 9.0
sdk 9.2

Hence closing this issue.

thanks