• qq iOS环境配置及调用


    1.下载官方iOS sdk:地址:相关文档

    2. 将iOS SDK中的TencentOpenAPI.framework和TencentOpenApi_IOS_Bundle.bundle文件拷贝到应用开发的目录下

    3. 添加SDK依赖的系统库文件。分别是”Security.framework”, “libiconv.dylib”,“SystemConfiguration.framework”,“CoreGraphics.Framework”、“libsqlite3.dylib”、“CoreTelephony.framework”、“libstdc++.dylib”、“libz.dylib”。

    4. 修改必要的工程配置属性。

    在工程配置中的“Build Settings”一栏中找到“Linking”配置区,给“Other Linker Flags”配置项添加属性值“-fobjc-arc”。

    5.在XCode中,选择你的工程设置项,选中“TARGETS”一栏,在“info”标签栏的“URL type”添加一条新的“URL scheme”,新的scheme = tencent + appid。如果您使用的是XCode3或者更低的版本,则需要在plist文件中添加。Demo中我们注册的appid是222222。如下图

    另外在Xcode 6.0创建工程时,默认可能没有单独设置Bundle display name属性值。但是因为SDK需要用到Bundle display name的值,所以务必请检查确保这个属性存在,如果没有请添加上。

    6.appdelegate中添加相应的代码:

    头文件#import <TencentOpenAPI/TencentOAuth.h>

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

     7.调用:

    #import <TencentOpenAPI/TencentOAuth.h>
    #import <TencentOpenAPI/TencentApiInterface.h>

    #import <TencentOpenAPI/TencentMessageObject.h>
    #import "TencentOpenAPI/QQApiInterface.h"
    #import <TencentOpenAPI/TencentOAuthObject.h>

    TencentSessionDelegate

    接口调用文档:文档地址

    关键代码如下:

    - (void)handleSendResult:(QQApiSendResultCode)sendResult
    {
        switch (sendResult)
        {
            case EQQAPIAPPNOTREGISTED:
            {
                UIAlertView *msgbox = [[UIAlertView alloc] initWithTitle:@"Error" message:@"App未注册" delegate:nil cancelButtonTitle:@"取消" otherButtonTitles:nil];
                [msgbox show];
              
                
                break;
            }
            case EQQAPIMESSAGECONTENTINVALID:
            case EQQAPIMESSAGECONTENTNULL:
            case EQQAPIMESSAGETYPEINVALID:
            {
                UIAlertView *msgbox = [[UIAlertView alloc] initWithTitle:@"Error" message:@"发送参数错误" delegate:nil cancelButtonTitle:@"取消" otherButtonTitles:nil];
                [msgbox show];
               
                
                break;
            }
            case EQQAPIQQNOTINSTALLED:
            {
                UIAlertView *msgbox = [[UIAlertView alloc] initWithTitle:@"Error" message:@"未安装手Q" delegate:nil cancelButtonTitle:@"取消" otherButtonTitles:nil];
                [msgbox show];
               
                
                break;
            }
            case EQQAPIQQNOTSUPPORTAPI:
            {
                UIAlertView *msgbox = [[UIAlertView alloc] initWithTitle:@"Error" message:@"API接口不支持" delegate:nil cancelButtonTitle:@"取消" otherButtonTitles:nil];
                [msgbox show];
               
                
                break;
            }
            case EQQAPISENDFAILD:
            {
                UIAlertView *msgbox = [[UIAlertView alloc] initWithTitle:@"Error" message:@"发送失败" delegate:nil cancelButtonTitle:@"取消" otherButtonTitles:nil];
                [msgbox show];
                
                
                break;
            }
            case EQQAPIVERSIONNEEDUPDATE:
            {
                UIAlertView *msgbox = [[UIAlertView alloc] initWithTitle:@"Error" message:@"当前QQ版本太低,需要更新" delegate:nil cancelButtonTitle:@"取消" otherButtonTitles:nil];
                [msgbox show];
                break;
            }
            default:
            {
                break;
            }
        }
    }
  • 相关阅读:
    Count and Say leetcode
    Find Minimum in Rotated Sorted Array II leetcode
    Find Minimum in Rotated Sorted Array leetcode
    Search in Rotated Sorted Array II leetcode
    search in rotated sorted array leetcode
    Substring with Concatenation of All Words
    Subsets 子集系列问题 leetcode
    Sudoku Solver Backtracking
    Valid Sudoku leetcode
    《如何求解问题》-现代启发式方法
  • 原文地址:https://www.cnblogs.com/sunjianfei/p/5577349.html
Copyright © 2020-2023  润新知