2016-07-14 52 views
0

我在Swift中編寫了一個iOS應用程序,然後我的公司要求我的項目導入一個用Objective-C編寫的阿里巴巴SDK。有關a doc關於如何用中文做到這一點。如何將appDelegate.m(Objective-C)中的某些東西導入Swift項目?

在演示中,它似乎需要的SDK運行寫在appDelegate.m的OBJ - C的所有代碼。我已經閱讀了關於Obj-C/Swift橋接頭和東西,但我不知道如何使它適用於這種情況。

我無法想象在一個應用程序有2版本的appDelegate的,我應該怎麼辦呢?

順便說一句,這是他們希望我複製粘貼到AppDelegate.m代碼:

[[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

只需使用Swift委託並將代碼阿里巴巴代碼翻譯爲Swift。將阿里巴巴整合到Obj-C應用程序中時,您也不會創建第二個應用程序委託。 – Sulthan

+0

您是否需要使用Obj-C應用程序委託作爲Swift應用程序的應用程序委託?或者您只需要使用Obj-C委託中的一些功能,但是您的Swift應用程序必須具有一個功能與Ojb-C不同的功能的委託?你允許將Obj-C轉換成Swift,還是你必須使用Obj-C? – OmniProg

回答

0

所以基本上,我每天的OBJ-C代碼翻譯成斯威夫特,把一切變成AppDelegate.swift。它比我認爲的自動完成容易,而且工作得很好。

相關問題