日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

iOS:ShareSDk的分享

發布時間:2025/7/14 编程问答 23 豆豆
生活随笔 收集整理的這篇文章主要介紹了 iOS:ShareSDk的分享 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

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

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

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

(1) ShareSDK.framework:核心靜態庫。(必要) (2) Support 文件夾。其中包含三個文件夾 :(a) Required (需要的類庫) :----- MOBFoundation.framework:基礎功能框架。(必要)----- ShareSDK.bundle:ShareSDK資源文件。(必要)----- ShareSDKConnector.framework:用于ShareSDK框架與外部框架連接的代理框架插件。(使用第三方SDK時必要。)(b) Optional (可選類庫):----- ShareSDKExtension.framework:對ShareSDK功能的擴展框架插件。(主要提供第三方平臺登錄、 一鍵分享、截屏分享、搖一搖分享等相關功能。需要使用以上功能時必要。)----- 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 如何創建facebook的應用? ? 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
人人網 http://dev.renren.com http://bbs.mob.com/thread-309-1-1.html
開心網 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協議,如果適配iSO9,需要暫時回退到http協議 info plist加<key>NSAppTransportSecurity</key><dict><key>NSAllowsArbitraryLoads</key><true/></dict>(2)設置白名單在plist文件的URL Types中設置URL Schemes白名單:具體設置可以參照官方文檔,很詳細
(3)涉及到客戶端跳轉,一定要設置scheme到LSApplicationQueriesSchemes,只有設置了這個,在真機才能實現客戶端的跳轉,進入QQ、微信、新浪等 進入QQ客戶端:

? ? ? ? ? ? ?

進入微信客戶端:

? ? ? ? ? ? ?

  新浪微博客戶端:

      


好了,一定準備就緒,直接上代碼:
//1.創建一個AppDelegate分類
#import "AppDelegate.h"//shareSDK #import <ShareSDK/ShareSDK.h> #import <ShareSDKConnector/ShareSDKConnector.h>//騰訊開放平臺(對應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{/*** 設置ShareSDK的appKey,如果尚未在ShareSDK官網注冊過App,請移步到http://mob.com/login 登錄后臺進行應用注冊,* 在將生成的AppKey傳入到此方法中。* 方法中的第二個第三個參數為需要連接社交平臺SDK時觸發,* 在此事件中寫入連接代碼。第四個參數則為配置本地社交平臺時觸發,根據返回的平臺類型來配置平臺信息。* 如果您使用的時服務端托管平臺信息時,第二、四項參數可以傳入nil,第三項參數則根據服務端托管平臺來決定要連接的社交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://設置新浪微博應用信息,其中authType設置為使用SSO+Web形式授權[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類中直接調用即可

#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、最后一步就是分享內容了

//點擊微信 -(void)weiixnBtnClicked:(UIButton *)sender{//1.隱藏分享視圖 [self cancelBtnClicked:nil];//2、創建分享參數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、創建分享參數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、創建分享參數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和微信也是一樣的

?

?

總結:

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

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

?

本人原創,轉載須注明出處,謝謝!

轉載于:https://www.cnblogs.com/XYQ-208910/p/5437194.html

總結

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

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。