iOS-友盟SDK6.0,自定義分享(復制鏈接)

由于友盟分享SDK6.0整體重構,6.0以下SDK中的接口大都不能夠使用了,以至于自定義分享功能不能使用原接口。
在網(wǎng)上也搜索了好久,只有一個人提出了這個問題,但是沒有人回復,淚奔。。。
研究了半天,也崩潰了半天,最后,我成功實現(xiàn)原先可用的 復制鏈接 功能。

如果是 友盟SDK6.1,請轉到此處

話不多說,直接上代碼:

在 SDK 路徑
UMSocalSDK -- UMSocialCore.framework -- Headers -- UMSocialPlatformConfig.h 
文件中定義你需要的平臺類型
// 用戶自定義的平臺
UMSocialPlatformType_UserDefine_Begin = 1000,
// 注:1000 < xxxx < 200
UMSocialPlatformType_Link = xxxx,
UMSocialPlatformType_UserDefine_End = 2000,

自定義分享平臺類(重要的是遵循 UMSocialPlatformProvider 協(xié)議)

// ZXCustomSharePlatform.h
#import <UMSocialCore/UMSocialCore.h>

@interface ZXCustomSharePlatform : UMSocialPlatformConfig <UMSocialPlatformProvider>

@end

實現(xiàn)(全部方法都得有,但是挑幾個必須實現(xiàn)的寫)

// ZXCustomSharePlatform.m
#import "ZXCustomSharePlatform.h"
@implementation ZXCustomSharePlatform

+ (NSString *)platformNameWithPlatformType:(UMSocialPlatformType)platformType {
    return @"復制鏈接";
}

-(void)umSocial_ShareWithObject:(UMSocialMessageObject *)object
          withCompletionHandler:(UMSocialRequestCompletionHandler)completionHandler {
    UMShareWebpageObject *webObjc = object.shareObject;
    UIPasteboard *pastboad = [UIPasteboard generalPasteboard];
    pastboad.string = webObjc.webpageUrl;
    [ZXCusAlert alertWithTitles:@[@"鏈接復制成功"]];
}

注:因為我分享的是網(wǎng)頁類型,所以 object.shareObject 的類型是 UMShareWebpageObject

-(BOOL)umSocial_handleOpenURL:(NSURL *)url {
    return YES;
}

-(UMSocialPlatformFeature)umSocial_SupportedFeatures {
    return UMSocialPlatformFeature_None;
}

-(NSString *)umSocial_PlatformSDKVersion {
    return [UMSocialGlobal umSocialSDKVersion];
}

-(BOOL)checkUrlSchema {
    return YES;
}

-(BOOL)umSocial_isInstall {
    return YES;
}

-(BOOL)umSocial_isSupport {
    return YES;
}

@end
在 SDK 路徑
UMSocialUI -- UMShareMenuSelectionView.m
文件中的
- dictWithPlatformName:
方法中,添加自定義平臺的圖片名稱和平臺名稱
注:必須向 UMSocialUI -- Resource -- UMSocialSDKResources.bundle -- SnsPlatform 
   文件夾中添加平臺顯示的按鈕圖片(我添加的圖片名稱為icon_link)
case UMSocialPlatformType_Link:
    imageName = @"icon_link";
    platformName = UMLocalizedString(@"copyLink",@"復制鏈接");
    break;

最后,在 Appdelegate.m 文件中 其他分享平臺代碼下方 添加自定義平臺代碼:

ZXCustomSharePlatform *cusPlatform = [[ZXCustomSharePlatform alloc] init];
[[UMSocialManager defaultManager] addAddUserDefinePlatformProvider:cusPlatform withUserDefinePlatformType:UMSocialPlatformType_Link];
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 178,932評論 25 709
  • 發(fā)現(xiàn) 關注 消息 iOS 第三方庫、插件、知名博客總結 作者大灰狼的小綿羊哥哥關注 2017.06.26 09:4...
    肇東周閱讀 15,179評論 4 61
  • 由于友盟分享SDK6整體重構,6.0以下SDK中的接口大都不能夠使用了,以至于自定義分享功能不能使用原接口。 如果...
    知德閱讀 2,357評論 3 7
  • 昨晚,和多年知心朋友聊了兩句。本是想了解了解朋友最近的狀況,過的好不好。聊著聊著就說到了暑假打算怎么過。我說打算留...
    drongehwl閱讀 198評論 0 1
  • 本周的新爸日記,真的是在寶媽威逼利誘中草草趕出來的……總想寫的好點再好點,卻遲遲不知道該如何動筆??傁肭纹?..
    久違舊友閱讀 320評論 0 1

友情鏈接更多精彩內容