SEssentialsSlidingOverlay throw exception on New (Monotouch)


#1

This line throw exception:

 m_cOverlay = new SEssentialsSlidingOverlay( new RectangleF( 0, 0, View.Frame.Width, View.Frame.Height ));

MonoTouch.Foundation.MonoTouchException: Objective-C exception thrown.  Name: Missing Essentials Resource Reason: Essentials image ‘essentials_slider_button.png’ not found.  Check that the resources in ShinobiEssentials.embeddedframework are correct and up to date


#2

Hi,

Is the Othello sample working for you?

Regards,

Robin Sillem


#3

No, the sample is working in the IOS Simulator but it is not working on a device (IPad). 

2013-02-27 16:06:28.684 Othello[852:907] Unhandled managed exception: Argument cannot be null.

Parameter name: filename (System.ArgumentNullException)

  at MonoTouch.UIKit.UIImage…ctor (System.String filename) [0x0004b] in /Developer/MonoTouch/Source/monotouch/src/UIKit/UIImage.g.cs:169 

  at Othello.DefaultStyle…ctor () [0x000ed] in /Developer/ShinobiControls/ShinobiEssentials/Monotouch/samples/othello/DefaultStyle.cs:37 

  at Othello.OthelloViewController.ViewDidLoad () [0x00006] in /Developer/ShinobiControls/ShinobiEssentials/Monotouch/samples/othello/OthelloViewController.cs:53 

  at MonoTouch.UIKit.UIWindow.MakeKeyAndVisible () [0x00008] in /Developer/MonoTouch/Source/monotouch/src/UIKit/UIWindow.g.cs:126 

  at Othello.AppDelegate.FinishedLaunching (MonoTouch.UIKit.UIApplication app, MonoTouch.Foundation.NSDictionary options) [0x00031] in /Developer/ShinobiControls/ShinobiEssentials/Monotouch/samples/othello/AppDelegate.cs:44 

  at MonoTouch.UIKit.UIApplication.Main (System.String[] args, System.String principalClassName, System.String delegateClassName) [0x0004c] in /Developer/MonoTouch/Source/monotouch/src/UIKit/UIApplication.cs:38 

  at Othello.Application.Main (System.String[] args) [0x00000] in /Developer/ShinobiControls/ShinobiEssentials/Monotouch/samples/othello/Main.cs:17 


#4

Hi TheCalvin,

We’ve tried to replicate this, but are not having any success. Colud you let me know any relevant version numbers, please? Monotouch, iOS, etc.

Regards,

Robin Sillem


#5

Hi TheCalvin,

We’re still not managing to reproduce this, with toolin gversion numbers almost the same as yours (apart from xcode 4.5.2, not 4.6). In both your cases above, the issue seems to be that the code fails to load resource files (essentials_slider_button.png in the first case, essentials_toolbar_dots.png in the second). In the bin/<platform>/<configuration> folder of your application, you should find the package that is uploaded to the device, which you can examine with Show Package Contents in finder. I would expect to see the resouce files (and many others) in there. Do you see those on your machine?

Regards,

Robin Sillem


#6

Hi TheCalvin,

I think it’s the project options in Xamarin.iOS. Check out iOSBuild / Linker behaviour. By default they’re different in simulator and iPhone builds. The options really refer to what’s stripped out, and I think (for some reason) the default option for iPhone strips these embedded resources out.

Regards

Robin Sillem


#7

Hi TheCalvin

Only ShinobiEssentials has embedded resources. There is no need to do this for charts and grids.

In the iPhone build use “Link all assemblies”. 

The #warning you mention is there to remind trial users to add their license key. You may remove it from the Othello source code if you wish.

Regards,

Robin Sillem 


#8

Hello,

I have the same problem. I’m using the latest stable version of xamarin for os x. When I’m building for simulator, all is fine, I see all resources for essentials, but in case of device build, resources are not visible, and exception is raised when I’m creating tab control.


#9

Hm, found the issue, the root of evil was the check box ‘optimize png for iOS devices’. Probably XAMARIN bug.