Notice (2018-05-24): bugzilla.xamarin.com is now in
Please join us on
Visual Studio Developer Community and in the
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
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.
Created attachment 1030 [details]
crash report and console output from iphone device
Compiling any application after editing XIB in XCode 4.2 results in an iPhone application that crashes whenever it tries to load any NIB files (Crashes on iPhone OS 3.0.1, works correctly on iPhone OS 4 devices)
Interestingly enough, reverting back to the old XIBs (Edited in XCode 3.2.x) will not restore the correct operation of the application.
However, this problem doesn't seem limited to solutions migrated from Monotouch 4/XCode 3.
Steps to reproduce the Error with a wizard generated application: (Please not that the same template generated application compiled on XCode will run correctly on the device after doing the same appropriate steps, so it's not a bug in the XCode support for iPhone OS 3.0)
1- Create a New Monotouch Tabbed iPhone Application.
2- Edit XIB files in XCode and change Interface Builder Document Versionning to iOS 3.0 and Interface Builder 3.0 so that the XIB will be compatible with iOS 3.0
3- in AppDelegate.cs, change
window.RootViewController = tabBarController ;
4- Add an empty override OnActivate function ( I don't know if that is required but previous templates of Monotouch use to say that this is a requirement for correct iPhone OS 3.0 operation)
5- Change Deployment Target to 3.0
6- Deploy to the Device. (tested on iPhone OS 3.0.1 on 3GS)
The application will crash while it is trying to load the XIB file for the first controller.
This is the build task that actually builds the XIB for use within the App Bundle in XCode.
setenv IBC_MINIMUM_COMPATIBILITY_VERSION 3.0
setenv PATH "/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin:/Developer/usr/bin:/usr/bin:/bin:/usr/sbin:/sbin"
setenv XCODE_DEVELOPER_USR_PATH /Developer/usr/bin/..
/Developer/usr/bin/ibtool --errors --warnings --notices --output-format human-readable-text --compile /Users/Jhony/Library/Developer/Xcode/DerivedData/test-apqyuksfvjhrdmcwrpcmnmqoidav/Build/Products/Debug-iphoneos/test.app/en.lproj/MKT_FirstViewController.nib /Users/Jhony/Desktop/test/test/en.lproj/MKT_FirstViewController.xib --sdk /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS5.0.sdk
Compared to the compilation of XIB with Monotouch:
/Developer/usr/bin/ibtool --errors --warnings --notices --output-format human-readable-text "/Users/Jhony/Projects/test4/test4/FirstViewController.xib" --compile "/Users/Jhony/Projects/test4/test4/bin/iPhone/Release/test4.app/FirstViewController.nib" --sdk "/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS5.0.sdk"
setenv IBC_MINIMUM_COMPATIBILITY_VERSION 3.0
Probably this environment variable actually forces compilation to a NIB format that is compatible with iOS 3.0
Go to Terminal.
Set Environment Varialbe:
Compile Project with Command Line tools.
Upload App to Device with Command Line tool.
The resulting application works correctly on the iOS 3.0 device.
This looks like something MonoDevelop should take care of.
This fix was committed several says ago to git but I lack an iOS 3 device to actually test it. I don't want to close this until the issue has been verified as fixed.
We do keep an iPhone with iOS 3.0 for testing purposes.
As it's holiday season, It might take me a few days before I'm able to do so, but I will try building mono from GIT within the next few days and will let you know the outcome
This component looks like its not part of the regular monodevelop build but part of the monotouch licensed product.
Let me know if that's not the case, so that I test it.
I will also be ready to test a build if you can provide me with one.
Correct, this is part of the MonoTouch Add-in for MonoDevelop and not part of the regular MonoDevelop build.
this was fixed as part of 2.8.8