Ich versuche, ein natives iOS-Framework zu verknüpfen, das intern AFNetworking
verwendet, ich baue es zunächst als Prototyp, um einige der ObjC IP meines Unternehmens zu verschieben, um auch mit Xamarin verknüpfbar zu sein in der Zukunft.Es konnte keine native Instanz vom Typ 'FWSImageRepo' erstellt werden. Die native Klasse wurde nicht geladen
Ich begann durch eine einfache Klasse machen, die Kätzchen mit AFNetworking in ein UIImageView lädt
Headerdatei:
#import <UIKit/UIKit.h>
@interface FWSImageRepo : NSObject
+(UIImageView *)imageViewFromURLString:(NSString *)urlString;
@end
Implementierung
@implementation FWSImageRepo
+(UIImageView *)imageViewFromURLString:(NSString *)urlString{
UIImageView *imageView = [[UIImageView alloc] init];
NSURL *imageUrl= [NSURL URLWithString:@"http://www.pets4homes.co.uk/images/articles/1334/large/6-health-issues-to-watch-for-in-young-kittens-52f62cff5cabb.jpg"];
if(imageUrl != nil) {
[imageView setImageWithURL:imageUrl];
}
return imageView;
}
@end
ich einen Rahmen Compiler Ziel erstellt und I‘ Ich habe das Framework in das Xamarin iOS-Projekt kopiert. Ich benutzte Ziel Sharpie die Bindungen unter
// @interface FWSImageRepo : NSObject
[BaseType(typeof(NSObject))]
interface FWSImageRepo
{
// +(UIImageView *)imageViewFromURLString:(NSString *)urlString;
[Static]
[Export("imageViewFromURLString:")]
UIImageView ImageViewFromURLString(string urlString);
}
Alle diese sind verbunden zu erzeugen, wie in einem binding project
angewiesen wird der Rahmen als native Referenz verknüpft und die Bindungen Projekt wird von einer einzigen Seite Xamarin iOS-App verwiesen.
jetzt eine bloße Initialisierung der Klasse var fwrepo = new FWSImageRepo();
zeigt mir, dass das Framework überhaupt nicht auf das Projekt gefallen ist. der Fehler ändert sich nicht, auch wenn ich Projekt nicht über die Rahmenbedingungen in den Bindungen verknüpfen
Could not create an native instance of the type 'FWSImageRepo': the native class hasn't been loaded. It is possible to ignore this condition by setting ObjCRuntime.Class.ThrowOnInitFailure to false.
Gibt es Gründe, um zu überprüfen, was los ist? Ich habe alles ausprobiert und meine Suche online ausgeschöpft. Es gibt kein Beispiel für diese Anforderung irgendwo, soweit ich gesucht habe und kaum eine Richtung damit. Ich habe versucht, die Lösungen von den anderen mit den gleichen Problemen konfrontiert. Wie suche ich wo ich falsch gelaufen bin?
Hier ist ein Link für die Projekte, die ich erstellt habe https://drive.google.com/open?id=0B2f9RlRxZKoZcElIRkpLZnF6WVU
Ja, es klingt auch für mich, aber ich kann nicht genau feststellen, wo das Problem liegt. Danke für den Link. –