iOS接入指南

本文为接入Link平台的iOS终端提供指引,涉及SDK的使用方法,默认读者已经熟悉IDE的基本使用方法(XCode, CocoaPods等),以及具有一定的编程知识基础等。

1.申请你的ClientId

请到 开发者应用登记页面 进行登记,登记并选择移动应用进行设置后,将该应用提交审核,只有审核通过的应用才能进行开发。

2.搭建开发环境

通过CocoaPods集成

[1] 在XCode中新建工程。

[2] 在工程的Podfile里面添加以下代码:

pod 'LinkOpenSDK'

保存并执行pod install,然后用后缀为.xcworkspace的文件打开工程。如果无法正常安装,请先更新源pod repo update

[3] 配置URL scheme

在Xcode中,选择你的工程设置项,选中“TARGETS”一栏,在“info”标签栏的“URL type“添加“URL scheme”为你的应用程序的Bundle Identifier。也可以使用工程变量$(PRODUCT_BUNDLE_IDENTIFIER)代替。

或者直接打开Info.plist,进行如下修改:

<key>CFBundleURLTypes</key>
<array>
    <dict>
        <key>CFBundleURLName</key>
        <string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>
        <key>CFBundleURLSchemes</key>
        <array>
            <string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>
        </array>
    </dict>
</array>

<key>LSApplicationQueriesSchemes</key>
<array>
    <string>com.bingosoft.linkonline</string>
</array>

注意事项

iOS 应用间的跳转利用URL Scheme,同时得配置查询参数LSApplicationQueriesSchemes,这里假设需要跳转的LinkBundle Identifiercom.bingosoft.linkonline

3.代码中使用SDK

[1] 在需要使用LinkOpenSDK的文件中引入头文件LinkApi.h

这里以AppDelegate.h为例,引入头文件并实现LinkApiDelegate协议,参考如下:

#import <LinkOpenSDK/LinkApi.h>
@interface AppDelegate : UIResponder <UIApplicationDelegate, LinkApiDelegate>
...
@end

[2] 注册到Link平台,在AppDelegate.mdidFinishLaunchingWithOptions 函数中向Link注册ClientId。参考如下:

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
     //ClientId是当前应用申请下来的客户端Id
     [LinkApi registerApp:@"ClientId"];
    return YES;
}

[3] 重写AppDelegate.mhandleOpenURLopenURL方法:

- (BOOL)application:(UIApplication *)application handleOpenURL:(NSURL *)url
{
    return  [LinkApi handleOpenURL:url delegate:self];
}

- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation
{
    return [LinkApi handleOpenURL:url delegate:self];
}

[4] 发送请求到Link终端 现在,你的程序想要发送请求到Link终端,可以通过LinkApi里面的sendReq方法来实现。

 [LinkApi sendReq:req];

sendReq是第三方app主动发送请求给Link终端,发送完成之后会切回到第三方app界面。

[5] 你的程序要实现和Link 终端交互的具体请求与回应,因此需要实现LinkApiDelegate协议的两个方法:

- (void) onReq:(BaseReq *)req {
   ...
}

- (void) onResp:(BaseResp *)resp {
    ...
}

如果第三方程序向Link发送了sendReq的请求,那么onResp会被回调。sendReq请求调用后,会切到Link终端程序界面。

至此,你已经能使用LinkOpenSDK的API内容了。如果想要更详细了解每个API函数的用法,请下载 LinkOpenSDK Sample源码

上一篇:Android接入指南 下一篇:聆客登录