{"id":14418,"date":"2022-12-05T16:48:25","date_gmt":"2022-12-05T08:48:25","guid":{"rendered":"https:\/\/www.yimenapp.com\/kb-yimen\/?p=14418"},"modified":"2022-12-05T16:48:55","modified_gmt":"2022-12-05T08:48:55","slug":"app%e5%94%a4%e8%b5%b7qq%e5%ae%9e%e7%8e%b0%e4%b8%89%e6%96%b9%e6%8e%88%e6%9d%83%e7%99%bb%e5%bd%95-ios_sdk%e7%8e%af%e5%a2%83%e6%90%ad%e5%bb%ba","status":"publish","type":"post","link":"https:\/\/www.yimenapp.com\/kb-yimen\/14418\/","title":{"rendered":"APP\u5524\u8d77QQ\u5b9e\u73b0\u4e09\u65b9\u6388\u6743\u767b\u5f55 iOS_SDK\u73af\u5883\u642d\u5efa"},"content":{"rendered":"\n<p><span class=\"wpcom_tag_link\"><a href=\"https:\/\/www.yimenapp.com\/kb-yimen\/tag\/apphuanqiqq\/\" title=\"APP\u5524\u8d77QQ\" target=\"_blank\">APP\u5524\u8d77QQ<\/a><\/span>\u5b9e\u73b0\u4e09\u65b9\u6388\u6743\u767b\u5f55 iOS_SDK\u73af\u5883\u642d\u5efa<\/p>\n\n\n\n<p><span class=\"wpcom_tag_link\"><a href=\"https:\/\/www.yimenapp.com\/kb-yimen\/tag\/qq%e7%99%bb%e5%bd%95ios\/\" title=\"QQ\u767b\u5f55iOS\" target=\"_blank\">QQ\u767b\u5f55iOS<\/a><\/span> SDK \u5c01\u88c5\u4e86<span class=\"wpcom_tag_link\"><a href=\"https:\/\/www.yimenapp.com\/kb-yimen\/tag\/qqdenglu\/\" title=\"QQ\u767b\u5f55\" target=\"_blank\">QQ\u767b\u5f55<\/a><\/span>\u7684\u767b\u5f55\u6388\u6743\u4ee5\u53ca\u5927\u90e8\u5206<span class=\"wpcom_tag_link\"><a href=\"https:\/\/www.yimenapp.com\/kb-yimen\/tag\/openapi\/\" title=\"OpenAPI\" target=\"_blank\">OpenAPI<\/a><\/span>\uff0c\u5e94\u7528\u53ea\u9700\u8981\u4fee\u6539\u76f8\u5e94\u53c2\u6570\uff0c\u4e0d\u9700\u8981\u7406\u89e3\u9a8c\u8bc1\u6388\u6743\u6d41\u7a0b\uff0c\u5373\u53ef\u5feb\u901f\u5b9e\u73b0QQ\u767b\u5f55\u529f\u80fd\u3002<br>iOS\u5e73\u53f0\u4e0a\uff08iPad\uff0ciPhone\uff0ciPod\uff09\u7684\u5e94\u7528\uff0c\u8bf7\u5728<a href=\"http:\/\/connect.opensns.qq.com\/apply\">\u7533\u8bf7<\/a><span class=\"wpcom_keyword_link\"><a href=\"https:\/\/www.yimenapp.com\" target=\"_blank\" title=\"\u5f00\u53d1app\u4ece\u4e00\u95e8\u5f00\u59cb\">app<\/a><\/span>id\uff0cappkey\u540e\uff0c\u4f7f\u7528<span class=\"wpcom_tag_link\"><a href=\"https:\/\/www.yimenapp.com\/kb-yimen\/tag\/qqhulian\/\" title=\"QQ\u4e92\u8054\" target=\"_blank\">QQ\u4e92\u8054<\/a><\/span>\u63d0\u4f9b\u7684iOS SDK\u3002<br>1.5\u7248\u672c\u589e\u52a0 QQAPI \u5bf9\u8c61\uff0c\u4ee5\u652f\u6301\u624b\u673aQQ\u7684\u8c03\u7528\u3002\u4ee5\u524d\u7533\u8bf7\u8fc7 APPID \u7c7b\u4f3c\u201cQQXXXXXXXX\u201d\u7684\u5f00\u53d1\u5546\uff0c\u5efa\u8bae\u91cd\u65b0<a href=\"http:\/\/connect.opensns.qq.com\/apply\">\u7533\u8bf7<\/a>\u3002\u4e3a\u4e86\u517c\u5bb9\u65e7\u7248\u672c\u7684\u624b\u673aQQ\uff0c\u9700\u8981\u589e\u52a0 URL Scheme\uff0cQQ + \u5341\u516d\u8fdb\u5236\u65b0AppId\uff0c\u4e0d\u8db3\u516b\u4f4d\u5728\u9996\u90e8\u88650\u3002\uff08\u5982 appid=222222 \u5219 scheme=QQ0003640E\uff09<br>\u8be6\u60c5\u8bf7\u53c2\u8003<a href=\"https:\/\/wiki.connect.qq.com\/ios_sdk_api_%e4%bd%bf%e7%94%a8%e8%af%b4%e6%98%8e\">iOS_SDK_API_\u4f7f\u7528\u8bf4\u660e<\/a><br><strong>\u672cSDK\u4ec5\u9002\u7528\u4e8e\u79fb\u52a8\u5e94\u7528<\/strong>\uff0c\u5373\u57fa\u4e8e<a href=\"https:\/\/wiki.connect.qq.com\/%e4%bd%bf%e7%94%a8implicit_grant%e6%96%b9%e5%bc%8f%e8%8e%b7%e5%8f%96access_token\">\u4f7f\u7528Implicit_Grant\u65b9\u5f0f\u83b7\u53d6Access_Token<\/a>\u63a5\u5165\u7684\u5e94\u7528\u3002<\/p>\n\n\n\n<h1 class=\"wp-block-heading\"><strong>\u53d8\u66f4\u5386\u53f2<\/strong><\/h1>\n\n\n\n<p>\u53ef\u53c2\u8003\u6587\u6863&nbsp;<a href=\"https:\/\/wiki.connect.qq.com\/ios_sdk%E5%8E%86%E5%8F%B2%E5%8F%98%E6%9B%B4\">iOS_SDK\u5386\u53f2\u53d8\u66f4<\/a><\/p>\n\n\n\n<h1 class=\"wp-block-heading\">1. iOS SDK \u4e0b\u8f7d<\/h1>\n\n\n\n<p>\u8bf7\u5230<a href=\"https:\/\/wiki.connect.qq.com\/sdk%e4%b8%8b%e8%bd%bd\">SDK\u4e0b\u8f7d<\/a>\u9875\u9762\u4e0b\u8f7d\u6700\u65b0\u7248\u672cQQ\u767b\u5f55iOS SDK\u3002<\/p>\n\n\n\n<h1 class=\"wp-block-heading\">2. iOS SDK\u76ee\u5f55\u7ed3\u6784<\/h1>\n\n\n\n<p>iOS SDK\u5305\u4e2d\u5e26\u6709\u4e24\u4e2a\u6587\u4ef6\uff1a<br>1. TencentOpenAPI.framework\u6253\u5305\u4e86iOS SDK\u7684\u5934\u6587\u4ef6\u5b9a\u4e49\u548c\u5177\u4f53\u5b9e\u73b0\u3002<br>2. TencentOpenApi_iOS_Bundle.bundle \u6253\u5305\u4e86iOS SDK\u9700\u8981\u7684\u8d44\u6e90\u6587\u4ef6\u3002\uff08\u4ecesdk3.3.5\u7248\u672c\u5f00\u59cb\uff0c\u6b64\u6587\u4ef6\u53ef\u4ee5\u4e0d\u8981\u4e86\uff09<br><\/p>\n\n\n\n<h1 class=\"wp-block-heading\"><strong>3. \u5c06iOS SDK\u6587\u4ef6\u6dfb\u52a0\u5230\u5de5\u7a0b\u4e2d<\/strong><\/h1>\n\n\n\n<p>1. \u5c06iOS SDK\u4e2d\u7684TencentOpenAPI.framework\u548cTencentOpenApi_IOS_Bundle.bundle\u6587\u4ef6\u62f7\u8d1d\u5230\u5e94\u7528\u5f00\u53d1\u7684\u76ee\u5f55\u4e0b\u3002<br>\u7136\u540e\u5c06TencentOpenAPI.framework\u4eceSDK\u7684\u4fdd\u5b58\u76ee\u5f55\u62d6\u62fd\u5230\u5de5\u7a0b\u5bfc\u822a\u89c6\u56fe\uff08project navigator\uff09\u4e2d\u7684Frameworks\u865a\u62df\u76ee\u5f55\u4e0b\u3002<br><\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"314\" height=\"264\" src=\"https:\/\/kb.cdn.yimenapp.com\/yimen\/2022\/12\/20221205164718872.png\" alt=\"\" class=\"wp-image-14419\"\/><\/figure>\n\n\n\n<p>\u6ce8\u610fTencentOpenAPI.framework\u548cTencentOpenApi_IOS_Bundle.bundle\u5fc5\u987b\u653e\u5230\u5e94\u7528\u7684\u8d44\u6e90\u7684\u6839\u76ee\u5f55\u4e0b\uff0c\u5426\u5219\u4f1a\u51fa\u73b0\u8d44\u6e90\u65e0\u6cd5\u52a0\u8f7d\u7684\u95ee\u9898\u3002<\/p>\n\n\n\n<p>2. \u5728\u5f39\u51fa\u7684\u5bf9\u8bdd\u6846\u4e2d\u52fe\u9009\u201cCreate groups for any added folders\u201d\uff0c\u53bb\u6389\u201ccopy items into destination group\u2019s folder\uff08if needed\uff09\u201d\uff0c\u5728Add to targets\u4e2d\u9009\u62e9\u8981\u52a0\u5165SDK\u7684target\u4e4b\u540e\u70b9\u51fbfinish\u3002\u5b8c\u6210\u4e4b\u540e\u5c31\u5c06iOS SDK\u7684framework\u6587\u4ef6\u52a0\u5165\u4e86\u5f00\u53d1\u5de5\u7a0b\u4e2d\u3002<br><\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"482\" height=\"325\" src=\"https:\/\/kb.cdn.yimenapp.com\/yimen\/2022\/12\/20221205164723187.png\" alt=\"\" class=\"wp-image-14420\"\/><\/figure>\n\n\n\n<p><br>3. \u6dfb\u52a0SDK\u4f9d\u8d56\u7684\u7cfb\u7edf\u5e93\u6587\u4ef6\u3002\u5206\u522b\u662f\u201cSecurity.framework\u201d,\u201clibiconv.dylib\u201d\uff0c\u201cSystemConfiguration.framework\u201d\uff0c\u201cCoreGraphics.Framework\u201d\u3001\u201clibsqlite3.dylib\u201d\u3001\u201cCoreTelephony.framework\u201d\u3001\u201clibstdc++.dylib\u201d\u3001\u201clibz.dylib\u201d\u3002<br>\u5728Xcode\u4e2d\u6253\u5f00\u5de5\u7a0b\u914d\u7f6e\u6587\u4ef6\uff0c\u9009\u62e9\u201csummary\u201d\u4e00\u680f\u3002<br><\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"442\" height=\"166\" src=\"https:\/\/kb.cdn.yimenapp.com\/yimen\/2022\/12\/20221205164729671.png\" alt=\"\" class=\"wp-image-14421\"\/><\/figure>\n\n\n\n<p><br>4. \u5728\u201csummary\u201d\u4e2d\u9009\u62e9\u201cLinked Frameworks and Libraries\u201d\u4e00\u680f\uff0c\u70b9\u51fb\u201c+\u201d\u56fe\u6807\u3002<br><\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"435\" height=\"190\" src=\"https:\/\/kb.cdn.yimenapp.com\/yimen\/2022\/12\/20221205164733102.png\" alt=\"\" class=\"wp-image-14422\"\/><\/figure>\n\n\n\n<p><br>5. \u76f4\u63a5\u5728\u9ed8\u8ba4\u5e93\u6587\u4ef6\u4e2d\u9009\u62e9\u540e\u70b9\u51fb\u201cAdd\u201d\uff0c\u4e0b\u56fe\u4ee5\u6dfb\u52a0\u201cSystemConfiguration.framework\u201d\u4e3a\u4f8b\uff1a<br><\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"388\" height=\"444\" src=\"https:\/\/kb.cdn.yimenapp.com\/yimen\/2022\/12\/20221205164736644.png\" alt=\"\" class=\"wp-image-14423\"\/><\/figure>\n\n\n\n<p><br><img decoding=\"async\" src=\"https:\/\/qzonestyle.gtimg.cn\/qzone\/vas\/opensns\/res\/img\/ios_sdk_1_3_pic_7.png\" alt=\"ios_sdk_1_3_pic_7.png\"><br>6. \u8fd4\u56de\u540e\u770b\u5230\u201cSystemConfiguration.framework\u201d\u5df2\u7ecf\u5728\u201cLinked Frameworks and Libraries\u201d\u4e2d\u51fa\u73b0\u3002<br><img decoding=\"async\" src=\"https:\/\/qzonestyle.gtimg.cn\/qzone\/vas\/opensns\/res\/img\/ios_sdk_1_3_pic_8.png\" alt=\"ios_sdk_1_3_pic_8.png\"><\/p>\n\n\n\n<p>7. \u5728Xcode\u4e2d\u6253\u5f00\u5de5\u7a0b\u914d\u7f6e\u6587\u4ef6\uff0c\u9009\u62e9\u201cBuild Phases\u201d\u4e00\u680f\u3002<br><\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"700\" height=\"154\" src=\"https:\/\/kb.cdn.yimenapp.com\/yimen\/2022\/12\/20221205164740329.png\" alt=\"\" class=\"wp-image-14424\"\/><\/figure>\n\n\n\n<p><br>8.\u5728\u201cBuild Phases\u201d\u4e2d\u9009\u62e9\u5c55\u5f00\u201cCopy Bundle Resources\u201d\u4e00\u680f\uff0c\u5e76\u70b9\u51fb\u201c+\u201d\u56fe\u6807<br><\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"337\" height=\"301\" src=\"https:\/\/kb.cdn.yimenapp.com\/yimen\/2022\/12\/20221205164746409.png\" alt=\"\" class=\"wp-image-14425\"\/><\/figure>\n\n\n\n<p><br>9. \u9009\u62e9\u201cAdd Other&#8230;\u201d\uff0c\u8fdb\u5165iOS SDK\u6587\u4ef6\u6240\u5728\u76ee\u5f55\uff0c\u9009\u62e9TencentOpenApi_IOS_Bundle.bundle\uff0c\u70b9\u51fb\u56de\u8f66\u6216\u8005\u70b9\u51fb\u201cOpen\u201d\u3002<br><\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"366\" height=\"429\" src=\"https:\/\/kb.cdn.yimenapp.com\/yimen\/2022\/12\/20221205164750226.png\" alt=\"\" class=\"wp-image-14426\"\/><\/figure>\n\n\n\n<p><br><img decoding=\"async\" src=\"https:\/\/qzonestyle.gtimg.cn\/qzone\/vas\/opensns\/res\/img\/ios_sdk_1_3_pic_12.png\" alt=\"ios_sdk_1_3_pic_12.png\"><br>10. \u8fd4\u56de\u540e\u770b\u5230TencentOpenApi_IOS_Bundle.bundle\u5df2\u7ecf\u5728\u201cCopy Bundle Resources\u201d\u4e2d\u51fa\u73b0\u3002<br><\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"318\" height=\"298\" src=\"https:\/\/kb.cdn.yimenapp.com\/yimen\/2022\/12\/20221205164756429.png\" alt=\"\" class=\"wp-image-14427\"\/><\/figure>\n\n\n\n<p><br>11. \u4fee\u6539\u5fc5\u8981\u7684\u5de5\u7a0b\u914d\u7f6e\u5c5e\u6027\u3002<br>\u5728\u5de5\u7a0b\u914d\u7f6e\u4e2d\u7684\u201cBuild Settings\u201d\u4e00\u680f\u4e2d\u627e\u5230\u201cLinking\u201d\u914d\u7f6e\u533a\uff0c\u7ed9\u201cOther Linker Flags\u201d\u914d\u7f6e\u9879\u6dfb\u52a0\u5c5e\u6027\u503c\u201c-fobjc-arc\u201d\u3002<br><\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"613\" height=\"342\" src=\"https:\/\/kb.cdn.yimenapp.com\/yimen\/2022\/12\/20221205164800488.png\" alt=\"\" class=\"wp-image-14428\"\/><\/figure>\n\n\n\n<h1 class=\"wp-block-heading\"><strong>4. \u4fee\u6539\u5fc5\u8981\u7684\u4ee3\u7801<\/strong><\/h1>\n\n\n\n<h2 class=\"wp-block-heading\">4.1 \u4fee\u6539\u5de5\u7a0b\u914d\u7f6e\u6587\u4ef6<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">\uff081\uff09\u914d\u7f6eURL Scheme<\/h3>\n\n\n\n<p>\u5728XCode\u4e2d\uff0c\u9009\u62e9\u4f60\u7684\u5de5\u7a0b\u8bbe\u7f6e\u9879\uff0c\u9009\u4e2d\u201cTARGETS\u201d\u4e00\u680f\uff0c\u5728\u201cinfo\u201d\u6807\u7b7e\u680f\u7684\u201cURL type\u201d\u6dfb\u52a0\u4e00\u6761\u65b0\u7684\u201cURL scheme\u201d\uff0c\u65b0\u7684scheme = tencent + appid\u3002\u5982\u679c\u60a8\u4f7f\u7528\u7684\u662fXCode3\u6216\u8005\u66f4\u4f4e\u7684\u7248\u672c\uff0c\u5219\u9700\u8981\u5728plist\u6587\u4ef6\u4e2d\u6dfb\u52a0\u3002Demo\u4e2d\u6211\u4eec\u6ce8\u518c\u7684appid\u662f222222\u3002\u5982\u4e0b\u56fe<br><\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"495\" height=\"210\" src=\"https:\/\/kb.cdn.yimenapp.com\/yimen\/2022\/12\/20221205164807419.png\" alt=\"\" class=\"wp-image-14429\"\/><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\">\uff082\uff09\u914d\u7f6eLSApplicationQueriesSchemes<\/h3>\n\n\n\n<p>\u5982\u4e0b\u56fe\u5bf9\u7167sdkDemo\u7684\u914d\u7f6e\uff0c\u8fdb\u884c\u586b\u5199\uff0c\u6839\u636e\u5907\u6ce8\u4e2d\u7684\u8bf4\u660e\u53ef\u4ee5\u914c\u60c5\u5220\u51cf\u3002<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><tbody><tr><td>\u4e92\u8054SDK\u4e2d\u4f7f\u7528\u7684scheme<\/td><td>\u5907\u6ce8<\/td><\/tr><tr><td>mqq:\/\/<\/td><td>\u6bd4\u8f83\u5e38\u7528<\/td><\/tr><tr><td>mqqapi:\/\/<\/td><td>\u6bd4\u8f83\u5e38\u7528<\/td><\/tr><tr><td>tim:\/\/<\/td><td>\u6bd4\u8f83\u5e38\u7528<\/td><\/tr><tr><td>mqqopensdknopasteboard:\/\/<\/td><td>\u6bd4\u8f83\u5e38\u7528<\/td><\/tr><tr><td>mqqopensdkapiV2:\/\/<\/td><td>\u6bd4\u8f83\u5e38\u7528<\/td><\/tr><tr><td>mqqgamebindinggroup:\/\/<\/td><td>\u5224\u65ad\u8bbe\u5907\u4e0aQQ\u662f\u5426\u652f\u6301\u7ed1\u5b9a\u7fa4<\/td><\/tr><tr><td>mqqopensdkavatar:\/\/<\/td><td>\u5224\u65ad\u8bbe\u5907\u4e0aQQ\u662f\u5426\u652f\u6301\u8bbe\u7f6e\u5934\u50cf<\/td><\/tr><tr><td>mqqopensdkfriend:\/\/<\/td><td>\u5224\u65ad\u8bbe\u5907\u4e0aQQ\u662f\u5426\u652f\u6301\u6dfb\u52a0\u597d\u53cb<\/td><\/tr><tr><td>mqqopensdklaunchminiapp:\/\/<\/td><td>\u5224\u65ad\u8bbe\u5907\u4e0aQQ\u662f\u5426\u652f\u6301\u542f\u52a8\u5c0f\u7a0b\u5e8f<\/td><\/tr><tr><td>mqzone:\/\/<\/td><td>\u5224\u65ad\u8bbe\u5907\u4e0a\u662f\u5426\u5b89\u88c5\u4e86QQ\u7a7a\u95f4<\/td><\/tr><tr><td>tencentapi.qq.reqContent:\/\/<\/td><td>\u53ea\u5728 [TencentApiInterface isTencentAppSupportTencentApi]\u65b9\u6cd5\u4e2d\u7528\u5230<\/td><\/tr><tr><td>tencentapi.qzone.reqContent:\/\/<\/td><td>\u53ea\u5728 [TencentApiInterface isTencentAppSupportTencentApi]\u65b9\u6cd5\u4e2d\u7528\u5230<\/td><\/tr><tr><td>mqqthirdappgroup:\/\/<\/td><td>\u5224\u65ad\u8bbe\u5907\u4e0aQQ\u662f\u5426\u652f\u6301\u7b2c\u4e09\u65b9\u5e94\u7528\u52a0\u7fa4<\/td><\/tr><tr><td>mqqopensdkminiapp:\/\/<\/td><td>\u5224\u65ad\u8bbe\u5907\u4e0aQQ\u662f\u5426\u652f\u6301\u5c0f\u7a0b\u5e8f\u7684\u76f8\u5173API<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p>\u5982\u679c\u8fd9\u4e2aURL Scheme\u6ca1\u6709\u6b63\u786e\u914d\u7f6e\u7684\u8bdd\uff0c\u8df3\u5230\u624bQ\u4f1a\u62a5\u8fd9\u4e2a\u9519\u8bef\uff1a<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"576\" height=\"1024\" src=\"https:\/\/kb.cdn.yimenapp.com\/yimen\/2022\/12\/20221205164812327.png\" alt=\"\" class=\"wp-image-14430\"\/><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">4.2 \u91cd\u5199AppDelegate \u7684handleOpenURL\u548copenURL\u65b9\u6cd5<\/h2>\n\n\n\n<p>openURL:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation{\n   return [TencentOAuth HandleOpenURL:url];\n}<\/pre>\n\n\n\n<p>handleOpenURL:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">- (BOOL)application:(UIApplication *)application handleOpenURL:(NSURL *)url{\n   return [TencentOAuth HandleOpenURL:url];\n}\n\n\u6ce8\u610f\uff1aXcode11\u4e4b\u540e\u5f15\u5165\u7684SceneDelegate\uff0c\u5982\u679c\u4e1a\u52a1\u7684\u5e94\u7528\u4e0d\u652f\u6301\u591a\u7a97\u53e3\u53ef\u4ee5\u76f4\u63a5\u5220\u9664\u9879\u76eeinfo.plist\u6587\u4ef6\u4e2d\u7684Application Scene Manifest\u7684\u914d\u7f6e\u6570\u636e\uff0c\u5982\u679c\u8981\u652f\u6301\u591a\u7a97\u53e3\uff0c\u9700\u8981\u5bf9\u7cfb\u7edfAppDelegate\u548cSceneDelegate\u505a\u4e00\u4e9b\u5f02\u5316\u5904\u7406\uff0c\u603b\u4e4bQQ\u56de\u6765\u7684URL\u4ea4\u7ed9TencentOauth\u6765handle\u3002<\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">4.3 \u5728\u4ee3\u7801\u4e2d\u5b9e\u73b0TencentSessionDelegate\u534f\u8bae\u4e2d\u7684\u65b9\u6cd5<\/h2>\n\n\n\n<p>\u5177\u4f53\u534f\u8bae\u53ef\u4ee5\u53c2\u7167TencentOpenAPI.framework \/Headers\u4e2d\u7684TencentOAuth.h\u6587\u4ef6\u3002<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">4.4 \u521d\u59cb\u5316iOS SDK API\u6570\u636e\u5bf9\u8c61TencentOAuth\u3002<\/h2>\n\n\n\n<p>\uff081\uff09 \u521b\u5efaTencentOAuth\u5e76\u521d\u59cb\u5316\u5176appid\uff0cdemo\u4e3a222222\u3002delegate\u4e3a\u5b9e\u73b0TencentSessionDelegate\u7684\u5bf9\u8c61\uff1a<\/p>\n\n\n\n<p>[TencentOAuth setIsUserAgreedAuthorization:YES];<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">_tencentOAuth = [[TencentOAuth alloc] initWithAppId:@\"222222\", andDelegate:self];<\/pre>\n\n\n\n<p>\u8fd9\u91ccdelegate\u4e0d\u80fd\u4e3a\u7a7a<\/p>\n\n\n\n<p>\uff082\uff09 \u521d\u59cb\u5316redirectURI\uff08\u8fd9\u91cc\u9700\u8981\u586b\u5199\u6ce8\u518cAPP\u65f6\u586b\u5199\u7684\u57df\u540d\u3002\u9ed8\u8ba4\u53ef\u4ee5\u4e0d\u7528\u586b\u5199\u3002\u5efa\u8bae\u4e0d\u7528\u586b\u5199\u3002demo\u4e2d\u6ce8\u518c\u65f6\u7684\u5730\u5740\u662f\u201cwww.qq.com\u201d\uff09\uff1a<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">_tencentOAuth.redirectURI = @\"www.qq.com\";<\/pre>\n\n\n\n<p>\uff083)\u8bbe\u7f6e\u5e94\u7528\u9700\u8981\u7528\u6237\u6388\u6743\u7684API\u5217\u8868\u3002 (\u5efa\u8bae\u5982\u679c\u6388\u6743\u8fc7\u591a\u7684\u8bdd\uff0c\u53ef\u80fd\u4f1a\u9020\u6210\u7528\u6237\u4e0d\u613f\u610f\u6388\u6743\u3002\u8fd9\u91cc\u6700\u597d\u53ea\u6388\u6743\u5e94\u7528\u9700\u8981\u7528\u6237\u8d4b\u4e88\u7684\u6388\u6743\u3002)\uff1a<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">_permissions&nbsp;=&nbsp;[[NSArray&nbsp;arrayWithObjects:@\"get_user_info\",@\"get_simple_userinfo\",&nbsp;@\"add_t\",&nbsp;nil]&nbsp;retain];<\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">4.5\u8bbe\u7f6e\u7528\u6237\u662f\u5426\u540c\u610f\u9690\u79c1\u534f\u8bae\u3002<\/h2>\n\n\n\n<p>3.5.7\u7248\u672c\u66f4\u65b0\u540e\uff0c\u5728\u521d\u59cb\u5316SDK\u4e4b\u524d\u5fc5\u987b\u8bbe\u7f6e\u7528\u6237\u540c\u610f\u6388\u6743\u9690\u79c1\u534f\u8bae\uff0c\u5982\u679c\u6ca1\u6709\u8bbe\u7f6e\u6216\u8005\u8bbe\u7f6e\u4e3aNO\uff08\u4e0d\u540c\u610f\uff09\u5219\u65e0\u6cd5\u4f7f\u7528SDK\u7684\u63a5\u53e3\uff0c\u8bbe\u7f6e\u65b9\u5f0f\u5982\u4e0b\uff1a<\/p>\n\n\n\n<p>[TencentOAuth setIsUserAgreedAuthorization:YES];<\/p>\n\n\n\n<h1 class=\"wp-block-heading\"><strong>5. \u8c03\u7528SDK\u767b\u5f55<\/strong><\/h1>\n\n\n\n<p>1.\u767b\u5f55\u65f6\uff0c\u8c03\u7528TencetnOAuth\u5bf9\u8c61\u7684authorize\u65b9\u6cd5\uff1a<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">[_tencentOAuth authorize:_permissions inSafari:NO]\uff1b<\/pre>\n\n\n\n<p>2. \u767b\u5f55\u5b8c\u6210\u540e\uff0c\u4f1a\u8c03\u7528TencentSessionDelegate\u4e2d\u5173\u4e8e\u767b\u5f55\u7684\u534f\u8bae\u65b9\u6cd5\u3002<br>\u767b\u5f55\u6210\u529f\uff1a<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">@protocol TencentSessionDelegate &lt;NSObject&gt;\n- (void)tencentDidLogin\n{\n   _labelTitle.text = @\"\u767b\u5f55\u5b8c\u6210\";\n   if (_tencentOAuth.accessToken &amp;&amp; 0 != [_tencentOAuth.accessToken length])\n   {\n   \/\/ \u8bb0\u5f55\u767b\u5f55\u7528\u6237\u7684OpenID\u3001Token\u4ee5\u53ca\u8fc7\u671f\u65f6\u95f4\n      _labelAccessToken.text = _tencentOAuth.accessToken;\n   }\n   else\n   {\n      _labelAccessToken.text = @\"\u767b\u5f55\u4e0d\u6210\u529f \u6ca1\u6709\u83b7\u53d6accesstoken\";\n   }\n}<\/pre>\n\n\n\n<p>\u975e\u7f51\u7edc\u9519\u8bef\u5bfc\u81f4\u767b\u5f55\u5931\u8d25\uff1a<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">@protocol TencentSessionDelegate &lt;NSObject&gt;\n-(void)tencentDidNotLogin:(BOOL)cancelled\n{\n   if (cancelled)\n   {\n      _labelTitle.text = @\"\u7528\u6237\u53d6\u6d88\u767b\u5f55\";\n   }\n   else\n   {\n      _labelTitle.text = @\"\u767b\u5f55\u5931\u8d25\";\n   }\n}<\/pre>\n\n\n\n<p>\u7f51\u7edc\u9519\u8bef\u5bfc\u81f4\u767b\u5f55\u5931\u8d25\uff1a<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">@protocol TencentSessionDelegate &lt;NSObject&gt;\n-(void)tencentDidNotNetWork\n{\n   _labelTitle.text=@\"\u65e0\u7f51\u7edc\u8fde\u63a5\uff0c\u8bf7\u8bbe\u7f6e\u7f51\u7edc\";\n}<\/pre>\n\n\n\n<p>3. \u767b\u5f55\u6210\u529f\u540e\uff0c\u5373\u53ef\u83b7\u53d6\u5230access token\u548copenid\u3002accessToken\u548c openid\u4fdd\u5b58\u5728TencentOAuth\u5bf9\u8c61\u4e2d\u3002\u53ef\u4ee5\u901a\u8fc7\u76f8\u5e94\u7684\u5c5e\u6027\u65b9\u6cd5\u76f4\u63a5\u83b7\u5f97\u3002<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">[_tencentOAuth accessToken] ;\n[_tencentOAuth openId] ;<\/pre>\n\n\n\n<p><strong>\u7279\u522b\u63d0\u793a\uff1a<\/strong><br>1.\u7531\u4e8e\u767b\u5f55\u662f\u5f02\u6b65\u8fc7\u7a0b\uff0c\u8fd9\u91cc\u53ef\u80fd\u4f1a\u7531\u4e8e\u7528\u6237\u7684\u884c\u4e3a\u5bfc\u81f4\u6574\u4e2a\u767b\u5f55\u7684\u7684\u6d41\u7a0b\u65e0\u6cd5\u6b63\u5e38\u8d70\u5b8c\uff0c\u5373\u6709\u53ef\u80fd\u7531\u4e8e\u7528\u6237\u884c\u4e3a\u5bfc\u81f4\u767b\u5f55\u5b8c\u6210\u540e\u4e0d\u4f1a\u6709\u4efb\u4f55\u767b\u5f55\u56de\u8c03\u88ab\u8c03\u7528\u3002\u5f00\u53d1\u8005\u5728\u4f7f\u7528SDK\u8fdb\u884c\u5f00\u53d1\u7684\u65f6\u5019\u9700\u8981\u8003\u8651\u5230\u8fd9\u70b9\uff0c\u9632\u6b62\u7531\u4e8e\u4e00\u76f4\u5728\u540c\u6b65\u7b49\u5f85\u767b\u5f55\u7684\u56de\u8c03\u800c\u9020\u6210\u5e94\u7528\u7684\u5361\u6b7b\uff0c\u5efa\u8bae\u5728\u767b\u5f55\u7684\u65f6\u5019\u5c06\u8fd9\u4e2a\u5b9e\u73b0\u505a\u6210\u4e00\u4e2a\u5f02\u6b65\u8fc7\u7a0b\u3002<br>2.\u83b7\u53d6\u5230\u7684access token\u5177\u670930\u5929\u6709\u6548\u671f\uff0c\u8fc7\u671f\u540e\u63d0\u793a\u7528\u6237\u91cd\u65b0\u767b\u5f55\u6388\u6743\u3002<br>3. \u7b2c\u4e09\u65b9\u7f51\u7ad9\u53ef\u5b58\u50a8access token\u4fe1\u606f\uff0c\u4ee5\u4fbf\u540e\u7eed\u8c03\u7528OpenAPI\u8bbf\u95ee\u548c\u4fee\u6539\u7528\u6237\u4fe1\u606f\u65f6\u4f7f\u7528\u3002\u5982\u679c\u9700\u8981\u4fdd\u5b58\u6388\u6743\u4fe1\u606f\uff0c\u9700\u8981\u4fdd\u5b58\u767b\u5f55\u5b8c\u6210\u540e\u8fd4\u56de\u7684accessToken\uff0copenid \u548c expirationDate\u4e09\u4e2a\u6570\u636e\uff0c\u4e0b\u6b21\u767b\u5f55\u7684\u65f6\u5019\u76f4\u63a5\u5c06\u8fd9\u4e09\u4e2a\u6570\u636e\u662f\u8bbe\u7f6e\u5230TencentOAuth\u5bf9\u8c61\u4e2d\u5373\u53ef\u3002<br>\u83b7\u5f97\uff1a<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">[_tencentOAuth accessToken] ;\n[_tencentOAuth openId] ;\n[_tencentOAuth expirationDate] ;<\/pre>\n\n\n\n<p>\u8bbe\u7f6e\uff1a<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">[_tencentOAuth setAccessToken:accessToken] ;\n[_tencentOAuth setOpenId:openId] ;\n[_tencentOAuth setExpirationDate:expirationDate] ;<\/pre>\n\n\n\n<p>4. \u5efa\u8bae\u5e94\u7528\u5728\u7528\u6237\u767b\u5f55\u540e\uff0c\u5373\u8c03\u7528getUserInfo\u63a5\u53e3\u83b7\u5f97\u8be5\u7528\u6237\u7684\u5934\u50cf\u3001\u6635\u79f0\u5e76\u663e\u793a\u5728\u754c\u9762\u4e0a\uff0c\u4f7f\u7528\u6237\u4f53\u9a8c\u7edf\u4e00\u3002<\/p>\n","protected":false},"excerpt":{"rendered":"<p>QQ\u767b\u5f55iOS SDK \u5c01\u88c5\u4e86QQ\u767b\u5f55\u7684\u767b\u5f55\u6388\u6743\u4ee5\u53ca\u5927\u90e8\u5206OpenAPI\uff0c\u5e94\u7528\u53ea\u9700\u8981\u4fee\u6539\u76f8\u5e94\u53c2\u6570\uff0c\u4e0d\u9700\u8981\u7406\u89e3\u9a8c\u8bc1\u6388\u6743\u6d41\u7a0b\uff0c\u5373\u53ef\u5feb\u901f\u5b9e\u73b0QQ\u767b\u5f55\u529f\u80fd\u3002<\/p>\n","protected":false},"author":1,"featured_media":14419,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[45],"tags":[114,6828,6442,83,84,6866],"special":[69],"attr":[],"class_list":["post-14418","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-kaifangpingtai","tag-apphuanqiqq","tag-appqq","tag-openapi","tag-qqhulian","tag-qqdenglu","tag-qqios","special-qqopen","entry"],"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/www.yimenapp.com\/kb-yimen\/wp-json\/wp\/v2\/posts\/14418","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.yimenapp.com\/kb-yimen\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.yimenapp.com\/kb-yimen\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.yimenapp.com\/kb-yimen\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.yimenapp.com\/kb-yimen\/wp-json\/wp\/v2\/comments?post=14418"}],"version-history":[{"count":2,"href":"https:\/\/www.yimenapp.com\/kb-yimen\/wp-json\/wp\/v2\/posts\/14418\/revisions"}],"predecessor-version":[{"id":14431,"href":"https:\/\/www.yimenapp.com\/kb-yimen\/wp-json\/wp\/v2\/posts\/14418\/revisions\/14431"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.yimenapp.com\/kb-yimen\/wp-json\/wp\/v2\/media\/14419"}],"wp:attachment":[{"href":"https:\/\/www.yimenapp.com\/kb-yimen\/wp-json\/wp\/v2\/media?parent=14418"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.yimenapp.com\/kb-yimen\/wp-json\/wp\/v2\/categories?post=14418"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.yimenapp.com\/kb-yimen\/wp-json\/wp\/v2\/tags?post=14418"},{"taxonomy":"special","embeddable":true,"href":"https:\/\/www.yimenapp.com\/kb-yimen\/wp-json\/wp\/v2\/special?post=14418"},{"taxonomy":"attr","embeddable":true,"href":"https:\/\/www.yimenapp.com\/kb-yimen\/wp-json\/wp\/v2\/attr?post=14418"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}