日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 >

iOS:ShareSDk的分享

發(fā)布時間:2025/7/14 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 iOS:ShareSDk的分享 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

使用分享類的SDK其實有很多,例如友盟、ShareSDK等等,參照他們的文檔集成起來并不是很難,可能出的一些問題也就是配置文件的問題,這里我個人使用了ShareSDK分享,具體操作可出現(xiàn)的問題如下:

1.首先去ShareSDK官方網(wǎng)站注冊開發(fā)者賬號,獲取AppKey用來注冊SDK:http://www.mob.com/#/

2.下載SDK:http://www.mob.com/#/downloadDetail/ShareSDK/ios

(1) ShareSDK.framework:核心靜態(tài)庫。(必要) (2) Support 文件夾。其中包含三個文件夾 :(a) Required (需要的類庫) :----- MOBFoundation.framework:基礎(chǔ)功能框架。(必要)----- ShareSDK.bundle:ShareSDK資源文件。(必要)----- ShareSDKConnector.framework:用于ShareSDK框架與外部框架連接的代理框架插件。(使用第三方SDK時必要。)(b) Optional (可選類庫):----- ShareSDKExtension.framework:對ShareSDK功能的擴(kuò)展框架插件。(主要提供第三方平臺登錄、 一鍵分享、截屏分享、搖一搖分享等相關(guān)功能。需要使用以上功能時必要。)----- ShareSDKInterfaceAdapter.framework:ShareSDK v2.x對簡潔版的接口兼容包。----- ShareSDKUI.bundle:分享菜單欄和分享編輯頁面資源包。(如果自定義這些UI可直接移除)----- ShareSDKUI.framework:分享菜單欄和分享編輯頁面。(如果自定義這些UI可直接移除)(c) PlatformSDK 第三方平臺SDK。(不需要的平臺的SDK可直接移除)

?

3.去新浪微博開放平臺、騰訊開放平臺、微信開放平臺等去注冊賬號,獲取AppKey、AppID、APPScret等

平臺 開放平臺地址 APPkey 申請流程
新浪微博 http://open.weibo.com http://bbs.mob.com/thread-89-1-4.html 新浪微博開放平臺接入tips
騰訊微博 http://dev.t.qq.com http://bbs.mob.com/thread-265-1-1.html
QQ空間[2] http://open.qq.com/ http://bbs.mob.com/thread-98-1-4.html
微信[3] http://open.weixin.qq.com http://bbs.mob.com/thread-95-1-4.html
Facebook https://developers.facebook.com 如何創(chuàng)建facebook的應(yīng)用? ? facebook審核流程:iOS??Android
Twitter https://dev.twitter.com http://bbs.mob.com/thread-119-1-3.html
google+https://console.developers.google.com/ http://bbs.mob.com/forum.php?mod=viewthread&tid=20731&page=1&extra=#pid45156
豆瓣 http://developers.douban.com http://bbs.mob.com/thread-253-1-1.html
有道云筆記 http://note.youdao.com/open/developguide.html#app http://bbs.mob.com/thread-256-1-1.html
印象筆記 https://dev.evernote.com/ http://bbs.mob.com/thread-263-1-1.html
Linkedin https://www.linkedin.com/secure/developer?newapp= http://bbs.mob.com/forum.php?mod=viewthread&tid=20729&extra=page%3D1
Flickr http://www.flickr.com/services/ http://bbs.mob.com/thread-245-1-2.html
Pinterest http://developers.pinterest.com/
http://bbs.mob.com/forum.php?mod=viewthread&tid=20730&page=1&extra=#pid45154
Tumblr http://www.tumblr.com/developers http://bbs.mob.com/thread-248-1-2.html
Dropbox https://www.dropbox.com/developers http://bbs.mob.com/thread-249-1-2.html
Instagram http://instagram.com/developer# http://bbs.mob.com/thread-250-1-1.html
VKontakte http://vk.com/dev http://bbs.mob.com/thread-251-1-1.html
易信好友[4] http://open.yixin.im/ http://bbs.mob.com/thread-236-1-2.html
明道 http://open.mingdao.com/ http://bbs.mob.com/thread-257-1-1.html
人人網(wǎng) http://dev.renren.com http://bbs.mob.com/thread-309-1-1.html
開心網(wǎng) http://open.kaixin001.com http://bbs.mob.com/thread-308-1-1.html
搜狐隨身看https://open.sohu.com/ http://bbs.mob.com/thread-331-1-1.html

?

4.在plist文件配置屬性

(1)Htpp協(xié)議,如果適配iSO9,需要暫時回退到http協(xié)議 info plist加<key>NSAppTransportSecurity</key><dict><key>NSAllowsArbitraryLoads</key><true/></dict>(2)設(shè)置白名單在plist文件的URL Types中設(shè)置URL Schemes白名單:具體設(shè)置可以參照官方文檔,很詳細(xì)
(3)涉及到客戶端跳轉(zhuǎn),一定要設(shè)置scheme到LSApplicationQueriesSchemes,只有設(shè)置了這個,在真機才能實現(xiàn)客戶端的跳轉(zhuǎn),進(jìn)入QQ、微信、新浪等 進(jìn)入QQ客戶端:

? ? ? ? ? ? ?

進(jìn)入微信客戶端:

? ? ? ? ? ? ?

  新浪微博客戶端:

      


好了,一定準(zhǔn)備就緒,直接上代碼:
//1.創(chuàng)建一個AppDelegate分類
#import "AppDelegate.h"//shareSDK #import <ShareSDK/ShareSDK.h> #import <ShareSDKConnector/ShareSDKConnector.h>//騰訊開放平臺(對應(yīng)QQ和QQ空間)SDK頭文件 #import <TencentOpenAPI/TencentOAuth.h> #import <TencentOpenAPI/QQApiInterface.h>//微信SDK頭文件 #import "WXApi.h"//新浪微博SDK頭文件 //新浪微博SDK需要在項目Build Settings中的Other Linker Flags添加"-ObjC" #import "WeiboSDK.h"@interface AppDelegate (KJShareSDk)-(void)shareApplication:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions;@end // AppDelegate+KJShareSDk.m // KenJiao // // Created by mac on 16/4/26. // Copyright ? 2016年 mac. All rights reserved. // #import "AppDelegate+KJShareSDk.h"@implementation AppDelegate (KJShareSDk)-(void)shareApplication:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions{/*** 設(shè)置ShareSDK的appKey,如果尚未在ShareSDK官網(wǎng)注冊過App,請移步到http://mob.com/login 登錄后臺進(jìn)行應(yīng)用注冊,* 在將生成的AppKey傳入到此方法中。* 方法中的第二個第三個參數(shù)為需要連接社交平臺SDK時觸發(fā),* 在此事件中寫入連接代碼。第四個參數(shù)則為配置本地社交平臺時觸發(fā),根據(jù)返回的平臺類型來配置平臺信息。* 如果您使用的時服務(wù)端托管平臺信息時,第二、四項參數(shù)可以傳入nil,第三項參數(shù)則根據(jù)服務(wù)端托管平臺來決定要連接的社交SDK。*/[ShareSDK registerApp:@"121f16c6xxxxx"activePlatforms:@[@(SSDKPlatformTypeSinaWeibo),@(SSDKPlatformTypeWechat),@(SSDKPlatformTypeQQ)]onImport:^(SSDKPlatformType platformType){switch (platformType){case SSDKPlatformTypeWechat:[ShareSDKConnector connectWeChat:[WXApi class]];break;case SSDKPlatformTypeQQ:[ShareSDKConnector connectQQ:[QQApiInterface class] tencentOAuthClass:[TencentOAuth class]];break;case SSDKPlatformTypeSinaWeibo:[ShareSDKConnector connectWeibo:[WeiboSDK class]];break;default:break;}}onConfiguration:^(SSDKPlatformType platformType, NSMutableDictionary *appInfo){switch (platformType){case SSDKPlatformTypeSinaWeibo://設(shè)置新浪微博應(yīng)用信息,其中authType設(shè)置為使用SSO+Web形式授權(quán)[appInfo SSDKSetupSinaWeiboByAppKey:@"117501xxx"appSecret:@"ac85119d8a70e9c954bbf62364xxxx"redirectUri:@"http://www.baidu.com"authType:SSDKAuthTypeBoth];break;case SSDKPlatformTypeWechat:[appInfo SSDKSetupWeChatByAppId:@"wx365f7b8b89dxxxx"appSecret:@"652feede37bd1ff5484abb1ed51xxxxf"];break;case SSDKPlatformTypeQQ:[appInfo SSDKSetupQQByAppId:@"1105359xxx"appKey:@"ewgzpB2GOf3SIxxx"authType:SSDKAuthTypeBoth];break;default:break;}}]; }@end

//2.在AppDelegate類中直接調(diào)用即可

#import "AppDelegate.h" #import "AppDelegate+KJShareSDk.h"@interface AppDelegate ()@end@implementation AppDelegate- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {//注冊shareSDK [self shareApplication:application didFinishLaunchingWithOptions:launchOptions];return YES; } @end

//3、最后一步就是分享內(nèi)容了

//點擊微信 -(void)weiixnBtnClicked:(UIButton *)sender{//1.隱藏分享視圖 [self cancelBtnClicked:nil];//2、創(chuàng)建分享參數(shù)NSMutableDictionary *shareParams = [NSMutableDictionary dictionary];[shareParams SSDKSetupShareParamsByText:[NSString stringWithFormat:@"班級號:%@",self.currentClass.class_id]images:nilurl:niltitle:@"將該班級號分享到微信"type:SSDKContentTypeAuto];//3、分享(微信平臺) [self startSharePlatform:SSDKPlatformTypeWechat parameters:shareParams];} //點擊QQ -(void)QQBtnClicked:(UIButton *)sender{//1.隱藏分享視圖 [self cancelBtnClicked:nil];//2、創(chuàng)建分享參數(shù)NSMutableDictionary *shareParams = [NSMutableDictionary dictionary];[shareParams SSDKSetupShareParamsByText:[NSString stringWithFormat:@"班級號:%@",self.currentClass.class_id]images:nilurl:niltitle:@"將該班級號分享到QQ"type:SSDKContentTypeAuto];//3、分享(QQ平臺) [self startSharePlatform:SSDKPlatformTypeQQ parameters:shareParams]; } //點擊微博 -(void)weiBoBtnClicked:(UIButton *)sender{//1.隱藏分享視圖 [self cancelBtnClicked:nil];//2、創(chuàng)建分享參數(shù)NSMutableDictionary *shareParams = [NSMutableDictionary dictionary];
   [shareParams SSDKEnableUseClientShare];//登錄客戶端
   [shareParams SSDKSetupShareParamsByText:[NSString stringWithFormat:@"班級號:%@",self.currentClass.class_id] images:nilurl:niltitle:@"將該班級號分享到微博"type:SSDKContentTypeAuto];//3、分享(新浪微博平臺) [self startSharePlatform:SSDKPlatformTypeSinaWeibo parameters:shareParams];} //開始分享 -(void)startSharePlatform:(SSDKPlatformType)platform parameters:(NSMutableDictionary *)parameters{[ShareSDK share:platform parameters:parameters onStateChanged:^(SSDKResponseState state, NSDictionary *userData, SSDKContentEntity *contentEntity, NSError *error) {switch (state) {case SSDKResponseStateSuccess:{UIAlertView *alertView = [[UIAlertView alloc] initWithTitle:@"分享成功" message:nil delegate:nil cancelButtonTitle:@"確定" otherButtonTitles:nil];[alertView show];break;}case SSDKResponseStateFail:{UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"分享失敗" message:[NSString stringWithFormat:@"%@",error] delegate:nil cancelButtonTitle:@"OK" otherButtonTitles:nil, nil];[alert show];break;}default:break;}}]; } //點擊取消 -(void)cancelBtnClicked:(UIButton *)sender{[self.inviteStuView removeFromSuperview];[self.inviteStuView.backgroundView removeFromSuperview]; }?

手機測試截圖:例如立即邀請后,使用新浪微博分享班級號,此時打開新浪微博客戶端。QQ和微信也是一樣的

?

?

總結(jié):

總結(jié):像適配iOS9此類問題 使用第三方的直接看別人官網(wǎng)就行了,要不訪問提供方的如微信,QQ,支付寶API官方看開發(fā)文檔
如果是用sharesdk 友盟此類的 去看他們的開發(fā)文檔都會第一時間給開發(fā)者提供解決方案的

sharesdk分享 iOS9適配文檔地址
http://wiki.mob.com/ios9-%E5%AF%B9sharesdk%E7%9A%84%E5%BD%B1%E5%93%8D%EF%BC%88%E9%80%82%E9%85%8Dios-9%E5%BF%85%E8%AF%BB%EF%BC%89/

友盟分享 iOS9適配地址
http://dev.umeng.com/social/ios/ios9

?

本人原創(chuàng),轉(zhuǎn)載須注明出處,謝謝!

轉(zhuǎn)載于:https://www.cnblogs.com/XYQ-208910/p/5437194.html

總結(jié)

以上是生活随笔為你收集整理的iOS:ShareSDk的分享的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。