iOS配置文档.md 2.2 KB

iOS配置文档

如果你仔细查看过Readme.md文件,应该知道以下操作都是在项目根目录下进行的.

1. AppDelegate.m文件

   #import "SSOLoginPlugin.h"    ## 导入插件类
    // 增加或修改 方法,修改为以下
   - (BOOL)application:(UIApplication *)application openURL:(nonnull NSURL *)url options:(nonnull NSDictionary<UIApplicationOpenURLOptionsKey,id> *)options{
        // 发送应用被打开的通知给Cordova
        [[NSNotificationCenter defaultCenter] postNotificationName:CDVPluginHandleOpenURLNotification object:url];
        [SSOLoginPlugin handleOpenUrl:url commandDelegate:self.viewController.commandDelegate];
        return NO;
    }

2. iOS接收数据

2.1 主动获取
    eclare let cordova: any; // 声明一个cordova对象

    /**
     * 登录操作
     */
    onLoginClick() {
        cordova.dingxin.sso.login((ssoRes) => {
            // dingxin.sso 成功回调
            let data  = JSON.parse(ssoRes);
            // TODO ...
            }, () => {
            // dingxin.sso 登录失败回调
            // 输出失败详情
            // TODO ...
        }, "安卓为平台app包名,iOS为本应用ID");    与Readme.md修改的一致
    }
2.2 主动获取调试模式
    // App主动获取(调试模式,仅iOS下有效)
    function onLoginClick() {
        cordova.dingxin.sso.loginDebugiOS((ssoRes) => {
            // dingxin.sso 成功回调
            let data  = JSON.parse(ssoRes);
            // TODO ...
        }, (error) => {
            // dingxin.sso 登录失败回调
            // 输出失败详情
            // TODO ...
        }, 'iOS为本应用ID', 'true');    与Readme.md修改的一致
    }
2.3 被动获取
    // App被动登录(目前仅iOS有效)
    使用场景:(工作台启动第三方应用时,避免再次手动登录)
    使用:index.html中,head标签中加入
    <script type="text/javascript">
        function handleOpenUrl(params) {
            alert('被动获取,从原生得到数据' + params);
    };

3. 其它注意事项

如果使用了`cordova-plugin-inappbroswerwithheader` 插件,url scheme修改为一致,修改方法参考Readme.md