I did a variety of things, including test whether adding 
[Export("initWithCoder:")] affected the behavior of the builds.

My class is a subclass of the class that is inside the .a; the .a has 
a binding set built into a .dll. (I'm using the MGSplitViewController 
source and bindings from GitHub.)

At this point, while the .a file works fine in simulation builds, 
device builds crash with an EXC_BAD_ACCESS (SIGSEGV) 
KERN_PROTECTION_FAILURE at (some address) in thread 0. The .a is 
being built for the correct platforms, but I'm using Xcode 4 to do 
that. I don't see meaningful symbol information in this thread trace, 
but I do notice that the thread 0 trace is very long, and that 
there's a repetitive pattern in it:

Thread 0 Crashed:
0   libSystem.B.dylib                   0x30d05fd4 pthread_mutex_lock + 0
1   bCi                                 0x00f91954 0x1000 + 16320852
2   bCi                                 0x00ff3564 0x1000 + 16721252
3   bCi                                 0x0100e0bc 0x1000 + 16830652

4   bCi                                 0x0100e074 0x1000 + 16830580 
<-- repeats
5   bCi                                 0x0100e654 0x1000 + 16832084
6   bCi                                 0x00f9f834 0x1000 + 16377908
7   bCi                                 0x00fa0d80 0x1000 + 16383360
8   bCi                                 0x00fcbf08 0x1000 + 16559880
9   bCi                                 0x00781364 0x1000 + 7865188
10  bCi                                 0x010849d0 0x1000 + 17316304
11  bCi                                 0x0107cb9c 0x1000 + 17283996
12  bCi                                 0x0100e12c 0x1000 + 16830764
...
508 bCi                                 0x0100e074 0x1000 + 16830580 
<-- last repetition
509 bCi                                 0x0100e654 0x1000 + 16832084
510 bCi                                 0x00f9f834 0x1000 + 16377908
511 bCi                                 0x00fa0d80 0x1000 + 16383360

Xcode 4 reports that it creates a different .a file for simulation 
builds and device builds.

-Mike

>Does this class inherit from UIView?
>
>If yes, the NSCoder constructor should be like this:
>[Export("initWithCoder:")]
>public MyWhatsit(NSCoder coder) : base(coder)
>
>BUT, if the view is not loaded from a XIB, the only constructor you "need" is:
>public MyWhatsit(IntPtr handle) : base(handle)
>
>Dimitris Tavlikos
>Software Developer
>Email: [email protected]
>Twitter: @dtavlikos
>Blog: http://software.tavlikos.com
>
>
>
>
>
>On May 23, 2011, at 5:06 PM, Michael Brian Bentley wrote:
>
>>  This ought to easy but I just worked through the night...
>>
>>  The app runs on the simulator, calling one version of a 
>>constructor for a class
>>
>>  public MyWhatsit( IntPtr handle)
>>
>>  The app does not work on the device; it is complaining that it can't
>>  find the initWithCoder: version. I have one defined, public
>>  MyWhatsit(NSCoder coder), so I'm not sure what it is actually telling
>>  me.
>>
>  > -Mike
_______________________________________________
MonoTouch mailing list
[email protected]
http://lists.ximian.com/mailman/listinfo/monotouch

Reply via email to