2016-07-14 4 views
0

Ich schrieb eine iOS-App in Swift, dann ist es von meiner Firma für mein Projekt erforderlich, eines von Alibabas SDK zu importieren, das in Objective-C geschrieben ist. Es gibt a doc darüber, wie man es auf Chinesisch macht.Wie importierst du etwas in appDelegate.m (Objective-C) in ein Swift-Projekt?

In der Demo scheint es, dass alle für das SDK erforderlichen Codes in Obj-C in appDelegate.m geschrieben werden. Ich habe gelesen, dass Obj-C/Swift Header und ähnliches überbrückt, aber ich weiß nicht, wie ich es für diesen Fall zum Laufen bringen kann.

Ich kann mir nicht vorstellen, 2 Versionen von AppDelegate in einer App zu haben, wie soll ich das machen?

By the way, ist dies der Code, den sie mich erwarten in AppDelegate.m kopieren einfügen:

[[ALBBSDK sharedInstance] setDebugLogOpen:YES]; 
[[ALBBSDK sharedInstance] setUseTaobaoNativeDetail:NO]; 
[[ALBBSDK sharedInstance] setViewType:ALBB_ITEM_VIEWTYPE_TAOBAO]; 
[[ALBBSDK sharedInstance] setISVCode:@"my_isv_code"]; 

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { 
    self.window = [[UIWindow alloc] initWithFrame:[UIScreen mainScreen].bounds]; 
    self.window.backgroundColor = [UIColor whiteColor]; 
    MainViewController *mainViewController = [[MainViewController alloc]init]; 
    UINavigationController *navController = [[UINavigationController alloc]initWithRootViewController:mainViewController]; 
    self.window.rootViewController = navController; 
    [self.window makeKeyAndVisible]; 
    return YES; 
} 

- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url options:(NSDictionary<NSString *,id> *)options 
{  
    BOOL isHandledByALBBSDK=[[ALBBSDK sharedInstance] handleOpenURL:url]; 
    BOOL isHandledByALBBSDK=[[ALBBSDK sharedInstance] handleOpenURL:url]; 
    return YES; 
} 
+0

Verwenden Sie einfach den Swift-Delegaten und übersetzen Sie den Code Alibaba Code in Swift. Wenn Sie Alibaba in eine Obj-C-App integrieren, erstellen Sie auch keinen zweiten App-Delegaten. – Sulthan

+0

Müssen Sie den Obj-C-App-Delegaten als App-Delegierten Ihrer Swift-App verwenden? Oder müssen Sie nur einige Funktionen des Obj-C-Delegaten verwenden, aber Ihre Swift-App muss einen Delegaten mit einer anderen Funktionalität als Ojb-C haben? Darf man Obj-C nach Swift übersetzen, oder muss man Obj-C benutzen, Punkt? – OmniProg

Antwort

0

Also im Grunde, ich jeden Obj-C-Code in Swift übersetzen und alles in AppDelegate.swift setzen. Es ist einfach, als ich mit der automatischen Vervollständigung dachte, und es funktioniert gut.

Verwandte Themen