I'm getting a System.InvalidCastException during a delegate callback from monomac <br><br>Below is the Exception message and stack trace ...<br>
<br>Exception Message ...<br><br>Cannot cast from source type to destination type.<br><br>Stack Trace<br><br>  at (wrapper managed-to-native) object:__icall_wrapper_mono_<div id=":1dc">object_castclass (object,intptr)<br>
  at MonoMac.ObjCRuntime.NSObjectMarshaler`1[MonoMac.StoreKit.SKProductsResponse].MarshalNativeToManaged (IntPtr handle) [0x00000] in /cvs/monomac/src/ObjCRuntime/NSObjectMarshaler.cs:33 <br>
  at (wrapper native-to-managed) object:[MonoMac.StoreKit.SKProductsRequest+_SKProductsRequestDelegate:Void ReceivedResponse(MonoMac.StoreKit.SKProductsRequest, MonoMac.StoreKit.SKProductsResponse)] (MonoMac.Foundation.NSObject,MonoMac.ObjCRuntime.Selector,MonoMac.StoreKit.SKProductsRequest,MonoMac.StoreKit.SKProductsResponse)<br>

<br>It seems to be failing in MonoMac when trying to call the SKProductsRequestDelegate method ...<div class="im"><br><br>        [Export ("productsRequest:didReceiveResponse:")]<br></div>        public abstract void ReceivedResponse (SKProductsRequest request, SKProductsResponse response);<br>

<br>It is failing with a cast error but I don't know why.  The cast 
error would to me indicate that the generated signature doesn't match 
what's actually in MacOSX StoreKit.  <br><br>This is the definition in SKProductsRequest.h<br>
<br>/<font size="1">/<br>//  SKProductsRequest.h<br>//  StoreKit<br>//<br>//  Copyright 2009 Apple, Inc. All rights reserved.<br>//<br><br>#import <StoreKit/SKRequest.h><br><br><br><br>@class SKProductsRequest, SKProductsResponse;<br>

<br>@protocol SKProductsRequestDelegate <SKRequestDelegate><br><br>@required<br>// Sent immediately before -requestDidFinish:<br>- (void)productsRequest:(SKProductsRequest *)request didReceiveResponse:(SKProductsResponse *)response;<br>

<br>@end<br><br><br>// request information about products for your application<br>NS_CLASS_AVAILABLE(10_7, NA)<br>@interface SKProductsRequest : SKRequest {<br>@private<br>    id _productsRequestInternal;<br>}<br><br>// Set of string product identifiers<br>

- (id)initWithProductIdentifiers:(NSSet *)productIdentifiers;<br><br>@property(assign) id <SKProductsRequestDelegate> delegate;<br><br>@end<br><br><br>NS_CLASS_AVAILABLE(10_7, NA)<br>@interface SKProductsResponse : NSObject {<br>

@private<br>    id _internal;<br>}<br><br>// Array of SKProduct instances.<br>@property(readonly) NSArray *products;<br><br>// Array of invalid product identifiers.<br>@property(readonly) NSArray *invalidProductIdentifiers;<br>

<br>@end<br><br><br><br></font></div>