如何将appDelegate.m(Objective-C)中的内容导入到Swift项目中?

时间:2016-07-14 06:28:06

标签: ios objective-c swift

我在Swift中编写了一个iOS应用程序,然后我的公司要求我的项目导入一个用Objective-C编写的阿里巴巴SDK。关于如何用中文进行操作有a doc

在演示中,似乎运行SDK所需的所有代码都写在Obj-C中的appDelegate.m中。我已经阅读过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;
}

1 个答案:

答案 0 :(得分:0)

基本上,我将每个Obj-C代码翻译成Swift并将所有内容都放入AppDelegate.swift中。它比我想象的自动完成容易,而且效果很好。