Initial commit
This commit is contained in:
@@ -0,0 +1,17 @@
|
||||
//
|
||||
// UMSBaeViewController.h
|
||||
// UMSocialSDK
|
||||
//
|
||||
// Created by wyq.Cloudayc on 11/22/16.
|
||||
// Copyright © 2016 UMeng. All rights reserved.
|
||||
//
|
||||
|
||||
#import <UIKit/UIKit.h>
|
||||
|
||||
@interface UMSBaeViewController : UIViewController
|
||||
|
||||
@property (nonatomic, strong) NSString *titleString;
|
||||
|
||||
- (CGFloat)viewOffsetY;
|
||||
|
||||
@end
|
||||
@@ -0,0 +1,52 @@
|
||||
//
|
||||
// UMSocialCore.h
|
||||
// UMSocialCore
|
||||
//
|
||||
// Created by 张军华 on 16/8/24.
|
||||
// Copyright © 2016年 张军华. All rights reserved.
|
||||
//
|
||||
|
||||
#import <UIKit/UIKit.h>
|
||||
|
||||
//! Project version number for UMSocialCore.
|
||||
FOUNDATION_EXPORT double UMSocialCoreVersionNumber;
|
||||
|
||||
//! Project version string for UMSocialCore.
|
||||
FOUNDATION_EXPORT const unsigned char UMSocialCoreVersionString[];
|
||||
|
||||
// In this header, you should import all the public headers of your framework using statements like #import <UMSocialCore/PublicHeader.h>
|
||||
|
||||
//base handle
|
||||
#import <UMSocialCore/UMSocialHandler.h>
|
||||
|
||||
//UI
|
||||
//#import <UMSocialCore/UMSocialShareEditViewController.h>
|
||||
//#import <UMSocialCore/UMSocialSOAuthViewController.h>
|
||||
|
||||
//save socialData
|
||||
#import <UMSocialCore/UMSocialDataManager.h>
|
||||
|
||||
//ImageUtil
|
||||
#import <UMSocialCore/UMSocialImageUtil.h>
|
||||
|
||||
//shareMessageObject
|
||||
#import <UMSocialCore/UMSocialMessageObject.h>
|
||||
#import <UMSocialCore/UMSocialResponse.h>
|
||||
|
||||
//core Social
|
||||
#import <UMSocialCore/UMSocialGlobal.h>
|
||||
#import <UMSocialCore/UMSocialManager.h>
|
||||
#import <UMSocialCore/UMSocialPlatformConfig.h>
|
||||
#import <UMSocialCore/UMSocialPlatformProvider.h>
|
||||
|
||||
//img ImageUtils
|
||||
#import <UMSocialCore/UMSocialCoreImageUtils.h>
|
||||
|
||||
//UMSocial log
|
||||
#import <UMSocialCore/UMSociallogMacros.h>
|
||||
|
||||
|
||||
//watermark
|
||||
#import <UMSocialCore/UMSocialWarterMarkConfig.h>
|
||||
|
||||
|
||||
@@ -0,0 +1,25 @@
|
||||
//
|
||||
// UMSocialCoreImageUtils.h
|
||||
// UMSocialCore
|
||||
//
|
||||
// Created by 张军华 on 16/9/18.
|
||||
// Copyright © 2016年 UMeng. All rights reserved.
|
||||
//
|
||||
|
||||
#import <Foundation/Foundation.h>
|
||||
#import <UIKit/UIKit.h>
|
||||
|
||||
|
||||
@interface UMSocialCoreImageUtils : NSObject
|
||||
|
||||
+ (UIImage *)fixOrientation:(UIImage *)sourceImage;
|
||||
|
||||
+ (UIImage *)imageWithColor:(UIColor *)color;
|
||||
|
||||
+ (UIImage *)imageByScalingImage:(UIImage*)image proportionallyToSize:(CGSize)targetSize;
|
||||
|
||||
+ (NSData *)imageDataByCompressImage:(UIImage*)image toLength:(CGFloat)targetLength;
|
||||
|
||||
+ (UIImage *)imageByCompressImage:(UIImage*)image toLength:(CGFloat)targetLength;
|
||||
|
||||
@end
|
||||
@@ -0,0 +1,33 @@
|
||||
//
|
||||
// UMSocialDataManager.h
|
||||
// UMSocialSDK
|
||||
//
|
||||
// Created by umeng on 16/8/9.
|
||||
// Copyright © 2016年 dongjianxiong. All rights reserved.
|
||||
//
|
||||
|
||||
#import <Foundation/Foundation.h>
|
||||
#import "UMSocialPlatformConfig.h"
|
||||
extern NSString *const kUMSocialAuthUID;
|
||||
extern NSString *const kUMSocialAuthAccessToken;
|
||||
extern NSString *const kUMSocialAuthExpireDate;
|
||||
extern NSString *const kUMSocialAuthRefreshToken;
|
||||
extern NSString *const kUMSocialAuthOpenID;
|
||||
|
||||
@interface UMSocialDataManager : NSObject
|
||||
|
||||
+ (UMSocialDataManager *)defaultManager;
|
||||
|
||||
@property (nonatomic, strong, readonly) NSMutableDictionary *allAuthorUserInfo;
|
||||
|
||||
- (void)setAuthorUserInfo:(NSDictionary *)userInfo platform:(UMSocialPlatformType)platformType;
|
||||
|
||||
- (NSDictionary *)getAuthorUserInfoWithPlatform:(UMSocialPlatformType)platformType;
|
||||
|
||||
- (void)deleteAuthorUserInfoWithPlatform:(UMSocialPlatformType)platformType;
|
||||
|
||||
- (BOOL)isAuth:(UMSocialPlatformType)platformType;
|
||||
|
||||
- (void)clearAllAuthorUserInfo;
|
||||
|
||||
@end
|
||||
@@ -0,0 +1,103 @@
|
||||
//
|
||||
// UMSocialGlobal.h
|
||||
// UMSocialSDK
|
||||
//
|
||||
// Created by 张军华 on 16/8/16.
|
||||
// Copyright © 2016年 dongjianxiong. All rights reserved.
|
||||
//
|
||||
|
||||
#import <Foundation/Foundation.h>
|
||||
|
||||
|
||||
/**
|
||||
* UMSocial的全局配置文件
|
||||
*/
|
||||
|
||||
|
||||
@class UMSocialWarterMarkConfig;
|
||||
|
||||
/**
|
||||
* 用来设置UMSocial的全局设置变量
|
||||
*/
|
||||
@interface UMSocialGlobal: NSObject
|
||||
|
||||
+ (UMSocialGlobal *)shareInstance;
|
||||
|
||||
/**
|
||||
* 是否用cocos2dx,0-没有使用 1-使用cocos2dx 默认为0
|
||||
*/
|
||||
@property(atomic,readwrite, assign)NSInteger use_coco2dx;
|
||||
|
||||
/**
|
||||
* 统计的主题,默认为:UMSocialDefault
|
||||
*/
|
||||
@property(atomic,readwrite,copy)NSString* dc;
|
||||
|
||||
/**
|
||||
* 是否请求的回流统计请求,默认为不请求
|
||||
*/
|
||||
@property(atomic,readwrite,assign)BOOL isUrlRequest;
|
||||
|
||||
/**
|
||||
* type字符串
|
||||
* @discuss type是新加入的字段,目前默认值为@"native"
|
||||
*/
|
||||
@property(atomic,readwrite, copy)NSString* type;
|
||||
|
||||
|
||||
/**
|
||||
* UMSocial的版本号
|
||||
*
|
||||
* @return 返回当前的版本号
|
||||
*/
|
||||
+(NSString*)umSocialSDKVersion;
|
||||
|
||||
|
||||
/**
|
||||
* thumblr平台需要作为标示的字段 tag
|
||||
* @discuss 默认的tag是UMSocial_ThumblrTag,用户可以自己设置自己的tag
|
||||
*/
|
||||
@property(atomic,readwrite,copy)NSString* thumblr_Tag;
|
||||
|
||||
|
||||
/**
|
||||
* 对平台的分享文本的时候,做规定的截断,默认开启
|
||||
* @discuss 针对特定平台(比如:微信,qq,sina等)对当前的分享信息中的文本截断到合理的位置从而能成功分享
|
||||
*/
|
||||
@property(atomic,readwrite,assign)BOOL isTruncateShareText;
|
||||
|
||||
/**
|
||||
* 当前网络请求是否用https
|
||||
* @discuss 针对ios9系统以后强制使用https的网络请求,针对分享的网络图片都必须是https的网络图片(此为苹果官方要求)
|
||||
* @discuss 该函数默认开启https请求
|
||||
* @discuss 如果开启ios9的请求后,自动会过滤ios的http的请求,并返回错误。
|
||||
*
|
||||
*/
|
||||
@property(atomic,readwrite,assign)BOOL isUsingHttpsWhenShareContent;
|
||||
|
||||
|
||||
/**
|
||||
* 是否清除缓存在获得用户资料的时候
|
||||
* 默认设置为YES,代表请求用户的时候需要请求缓存
|
||||
* NO,代表不清楚缓存,用缓存的数据请求用户数据
|
||||
*/
|
||||
@property(atomic,readwrite,assign)BOOL isClearCacheWhenGetUserInfo;
|
||||
|
||||
|
||||
/**
|
||||
* 添加水印功能
|
||||
* @note 此功能为6.2版本以后的功能
|
||||
* @discuss 此函数默认关闭 NO - 关闭水印 YES - 打开水印
|
||||
* @discuss 设置此函数为YES后,必须要设置warterMarkConfig,来配置图片水印和字符串水印,如果不配置,就会用默认的[UMSocialWarterMarkConfig defaultWarterMarkConfig]来显示水印
|
||||
*/
|
||||
@property(atomic,readwrite,assign)BOOL isUsingWaterMark;
|
||||
|
||||
/**
|
||||
* 添加水印的配置类
|
||||
* @note 此功能为6.2版本以后的功能
|
||||
* @discuss 设置isUsingWaterMark此函数为YES后,必须要设置warterMarkConfig,来配置图片水印和字符串水印
|
||||
*/
|
||||
@property(nonatomic,readwrite,strong)UMSocialWarterMarkConfig* warterMarkConfig;
|
||||
|
||||
@end
|
||||
|
||||
@@ -0,0 +1,435 @@
|
||||
//
|
||||
// UMSShareDataTypeTableViewController.h
|
||||
// SocialSDK
|
||||
//
|
||||
// Created by umeng on 16/4/14.
|
||||
// Copyright © 2016年 dongjianxiong. All rights reserved.
|
||||
//
|
||||
|
||||
#import <UIKit/UIKit.h>
|
||||
#import "UMSocialPlatformConfig.h"
|
||||
#import "UMSocialPlatformProvider.h"
|
||||
|
||||
|
||||
extern NSString *const UMSocialErrorDomain;
|
||||
extern NSString *const UMSocialShareDataTypeIllegalMessage;
|
||||
|
||||
@class UMSocialHandlerConfig;
|
||||
|
||||
/**
|
||||
* 实现所有平台的基类
|
||||
* @discuss
|
||||
* 前提条件:需要在主工程配置 other link flag -ObjC
|
||||
* 所有实现UMSocialHandler对应平台类型子类,需要重写如下方法:
|
||||
* 1.+(NSArray*) socialPlatformTypes; 返回对应平台的类型的数组,此处用数组是为了在微信和qq的平台是可以有不同的平台类型(微信,朋友圈等)与统一handler公用
|
||||
* 2.重写load函数:
|
||||
*
|
||||
* 代码示例:
|
||||
* +(void)load
|
||||
* {
|
||||
* [super load];//必须调用
|
||||
* }
|
||||
*
|
||||
* 重载后保证调用基类的[UMSocialHandler load]
|
||||
* 3.重写defaultManager单例类方法,保证运行时能找到defaultManager来获得当前的单例方法,保证其唯一性。
|
||||
*/
|
||||
@interface UMSocialHandler : NSObject<UMSocialPlatformProvider>
|
||||
|
||||
#pragma mark - 子类需要重载的类
|
||||
+(void)load;
|
||||
+(NSArray*) socialPlatformTypes;
|
||||
+ (instancetype)defaultManager;
|
||||
|
||||
#pragma mark -
|
||||
|
||||
@property (nonatomic, copy) NSString *appID;
|
||||
|
||||
@property (nonatomic, copy) NSString *appSecret;
|
||||
|
||||
@property (nonatomic, copy) NSString *redirectURL;
|
||||
|
||||
/**
|
||||
* 当前ViewController(用于一些特定平台弹出相应的页面,默认使用当前ViewController)
|
||||
* since 6.3把currentViewController修改为弱引用,防止用户传入后强引用用户传入的UIViewController,导致内存不释放,
|
||||
* 注意:如果传入currentViewController的时候,一定要保证在(执行对应的分享,授权,获得用户信息的接口需要传入此接口的时候)存在,否则导致弱引用为nil,没有弹出界面的效果。
|
||||
*/
|
||||
@property (nonatomic, weak) UIViewController *currentViewController;
|
||||
|
||||
@property (nonatomic, copy) UMSocialRequestCompletionHandler shareCompletionBlock;
|
||||
|
||||
@property (nonatomic, copy) UMSocialRequestCompletionHandler authCompletionBlock;
|
||||
|
||||
@property (nonatomic, copy) UMSocialRequestCompletionHandler userinfoCompletionBlock;
|
||||
|
||||
|
||||
-(BOOL)searchForURLSchemeWithPrefix:(NSString *)prefix;
|
||||
-(void)setAppId:(NSString *)appID appSecret:(NSString *)secret url:(NSString *)url;
|
||||
-(void)saveuid:(NSString *)uid openid:(NSString *)openid accesstoken:(NSString *)token refreshtoken:(NSString *)retoken expiration:(id )expiration;
|
||||
|
||||
#pragma mark - 6.0.3新加入的平台配置类
|
||||
@property(nonatomic,readonly,strong)UMSocialHandlerConfig* handlerConfig;
|
||||
|
||||
|
||||
@end
|
||||
|
||||
|
||||
/**
|
||||
* 针对平台限制的类别
|
||||
*/
|
||||
@interface UMSocialHandler (UMSocialLimit)
|
||||
|
||||
/**
|
||||
* 检查对应平台的数据数据是否超过限制
|
||||
*
|
||||
* @param text 源文本
|
||||
* @param textLimit 限制文本的大小
|
||||
*
|
||||
* @return YES 代表没有限制,NO 代表超过限制
|
||||
*/
|
||||
-(BOOL) checkText:(NSString*)text withTextLimit:(NSUInteger)textLimit;
|
||||
|
||||
|
||||
/**
|
||||
* 检查对应平台的数据数据是否超过限制
|
||||
*
|
||||
* @param data 源文本
|
||||
* @param dataLimit 限制文本的大小
|
||||
*
|
||||
* @return YES 代表没有限制,NO 代表超过限制
|
||||
*/
|
||||
-(BOOL) checkData:(NSData*)data withDataLimit:(NSUInteger)dataLimit;
|
||||
|
||||
/**
|
||||
* 对应平台超过限制,就截断文本
|
||||
*
|
||||
* @param text 源文本
|
||||
* @param textLimit 限制文本的大小
|
||||
*
|
||||
* @return 返回的截断的文本
|
||||
*/
|
||||
-(NSString*)truncationText:(NSString*)text withTextLimit:(NSUInteger)textLimit;
|
||||
|
||||
|
||||
/**
|
||||
* 压缩对应平台的图片数据到限制发送的大小
|
||||
*
|
||||
* @param imageData 对应的图片数据
|
||||
* @param imageLimit 限制图片的大小
|
||||
*
|
||||
* @return 新的压缩的数据
|
||||
* @dicuss 当前图片小于对应平台的限制大小就返回本身,反之就压缩到指定大小以下发送
|
||||
*/
|
||||
-(NSData*)compressImageData:(NSData*)imageData withImageLimit:(NSUInteger)imageLimit;
|
||||
|
||||
@end
|
||||
|
||||
|
||||
#pragma mark - 6.0.3新增的配置类,用于限制分享类型和分享的内容
|
||||
|
||||
/**
|
||||
* UMeng 分享类型配置信息的基类
|
||||
*/
|
||||
@interface UMSocialShareObjectConfig : NSObject
|
||||
|
||||
/**
|
||||
* 标题
|
||||
* @note 标题的长度依各个平台的要求而定
|
||||
*/
|
||||
@property (nonatomic, readwrite,assign) NSUInteger titleLimit;
|
||||
|
||||
/**
|
||||
* 描述
|
||||
* @note 描述内容的长度依各个平台的要求而定
|
||||
*/
|
||||
@property (nonatomic, readwrite,assign) NSUInteger descrLimit;
|
||||
|
||||
/**
|
||||
* 缩略图数据的大小
|
||||
*/
|
||||
@property (nonatomic, readwrite,assign) NSUInteger thumbImageDataLimit;
|
||||
|
||||
/**
|
||||
* 缩略图URL的大小
|
||||
*/
|
||||
@property (nonatomic, readwrite,assign) NSUInteger thumbImageUrlLimit;
|
||||
|
||||
|
||||
/**
|
||||
* 点击多媒体内容之后呼起第三方应用特定页面的scheme
|
||||
* @warning 长度小于255
|
||||
* //sina平台有此字段限制
|
||||
* @discuss 此字段目前不用
|
||||
*/
|
||||
//@property (nonatomic, strong) NSString *schemeLimit;
|
||||
|
||||
/**
|
||||
* @note 长度不能超过64字节
|
||||
* //微信平台有此字段
|
||||
* @discuss 此字段目前不用
|
||||
*/
|
||||
//@property (nonatomic, retain) NSString *mediaTagName;
|
||||
|
||||
@end
|
||||
/**
|
||||
* 分享文本类型的配置
|
||||
*
|
||||
*/
|
||||
@interface UMSocialShareTextObjectConfig : UMSocialShareObjectConfig
|
||||
|
||||
/**
|
||||
* 文本内容的限制
|
||||
*/
|
||||
@property(nonatomic,readwrite,assign)NSUInteger textLimit;
|
||||
|
||||
@end
|
||||
|
||||
|
||||
/**
|
||||
* 分享图片的类型配置
|
||||
*/
|
||||
@interface UMSocialShareImageObjectConfig : UMSocialShareObjectConfig
|
||||
|
||||
/**
|
||||
* 缩略图数据的大小
|
||||
*/
|
||||
@property (nonatomic, readwrite,assign) NSUInteger shareImageDataLimit;
|
||||
|
||||
/**
|
||||
* 缩略图数据的URL大小
|
||||
*/
|
||||
@property (nonatomic, readwrite,assign) NSUInteger shareImageURLLimit;
|
||||
|
||||
@end
|
||||
|
||||
|
||||
/**
|
||||
* 分享音乐的类型配置
|
||||
*/
|
||||
@interface UMSocialShareMusicObjectConfig : UMSocialShareObjectConfig
|
||||
|
||||
/**
|
||||
* 音乐网页的url地址
|
||||
*/
|
||||
@property (nonatomic, readwrite,assign)NSUInteger musicUrlLimit;
|
||||
|
||||
/**
|
||||
* 音乐lowband网页的url地址
|
||||
*/
|
||||
@property (nonatomic, readwrite,assign)NSUInteger musicLowBandUrlLimit;
|
||||
|
||||
/**
|
||||
* 音乐数据url地址
|
||||
*/
|
||||
@property (nonatomic, readwrite,assign)NSUInteger musicDataUrlLimit;
|
||||
|
||||
/**
|
||||
* 音乐lowband数据url地址
|
||||
*/
|
||||
@property (nonatomic, readwrite,assign)NSUInteger musicLowBandDataUrlLimit;
|
||||
|
||||
@end
|
||||
|
||||
/**
|
||||
* 分享视频的类型配置
|
||||
*/
|
||||
@interface UMSocialShareVideoObjectConfig : UMSocialShareObjectConfig
|
||||
|
||||
/**
|
||||
* 视频网页的url
|
||||
*/
|
||||
@property (nonatomic, readwrite,assign) NSUInteger videoUrlLimit;
|
||||
|
||||
/**
|
||||
* 视频lowband网页的url
|
||||
*/
|
||||
@property (nonatomic, readwrite,assign) NSUInteger videoLowBandUrlLimit;
|
||||
|
||||
/**
|
||||
* 视频数据流url
|
||||
*/
|
||||
@property (nonatomic, readwrite,assign) NSUInteger videoStreamUrlLimit;
|
||||
|
||||
/**
|
||||
* 视频lowband数据流url
|
||||
*/
|
||||
@property (nonatomic, readwrite,assign) NSUInteger videoLowBandStreamUrlLimit;
|
||||
|
||||
@end
|
||||
|
||||
/**
|
||||
* 分享webURL
|
||||
*/
|
||||
@interface UMSocialShareWebpageObjectConfig : UMSocialShareObjectConfig
|
||||
|
||||
/**
|
||||
* 网页的url地址
|
||||
*/
|
||||
@property (nonatomic, readwrite,assign) NSUInteger webpageUrlLimit;
|
||||
|
||||
@end
|
||||
|
||||
/**
|
||||
* 分享Email的类型配置
|
||||
*/
|
||||
@interface UMSocialShareEmailObjectConfig : UMSocialShareObjectConfig
|
||||
|
||||
/**
|
||||
* 接收人
|
||||
*/
|
||||
@property (nonatomic, readwrite,assign) NSUInteger toRecipientLimit;
|
||||
|
||||
/**
|
||||
* 抄送人
|
||||
*/
|
||||
@property (nonatomic, readwrite,assign) NSUInteger ccRecipientLimit;
|
||||
|
||||
/**
|
||||
* 密送人
|
||||
*/
|
||||
@property (nonatomic, readwrite,assign) NSUInteger bccRecipientLimit;
|
||||
|
||||
/**
|
||||
* 文本内容
|
||||
*/
|
||||
@property (nonatomic, readwrite,assign) NSUInteger emailContentLimit;
|
||||
|
||||
/**
|
||||
* 图片大小
|
||||
*/
|
||||
@property (nonatomic, readwrite,assign) NSUInteger emailImageDataLimit;
|
||||
|
||||
/**
|
||||
* 图片URL大小
|
||||
*/
|
||||
@property (nonatomic, readwrite,assign) NSUInteger emailImageUrlLimit;
|
||||
|
||||
/**
|
||||
* 文件(NSData)
|
||||
*/
|
||||
@property (nonatomic, readwrite,assign) NSUInteger emailSendDataLimit;
|
||||
|
||||
/**
|
||||
* 允许的文件格式
|
||||
*/
|
||||
@property (nonatomic, readwrite,strong) NSArray *fileType;
|
||||
|
||||
/**
|
||||
* 文件名,(例如图片 imageName.png, 文件名后要跟文件后缀名,否则没法识别,导致类似图片不显示的问题)
|
||||
*/
|
||||
@property (nonatomic, readwrite,assign) NSUInteger fileNameLimit;
|
||||
|
||||
|
||||
@end
|
||||
|
||||
/**
|
||||
* 分享Email的类型配置
|
||||
*/
|
||||
@interface UMSocialShareSmsObjectConfig : UMSocialShareObjectConfig
|
||||
|
||||
/**
|
||||
* 接收人
|
||||
*/
|
||||
@property (nonatomic, readwrite,assign) NSUInteger recipientLimit;
|
||||
|
||||
/**
|
||||
* 文本内容
|
||||
*/
|
||||
@property (nonatomic, readwrite,assign) NSUInteger smsContentLimit;
|
||||
|
||||
/**
|
||||
* 图片
|
||||
*/
|
||||
@property (nonatomic, readwrite,assign) NSUInteger smsImageDataLimit;
|
||||
@property (nonatomic, readwrite,assign) NSUInteger smsImageUrlLimit;
|
||||
|
||||
/**
|
||||
* 文件数据(NSData)
|
||||
* 必填
|
||||
*/
|
||||
@property (nonatomic, readwrite,assign) NSUInteger smsSendDataLimit;
|
||||
|
||||
/**
|
||||
* 文件格式
|
||||
* 必填,必须指定数据格式,如png图片格式应传入@"png"
|
||||
*/
|
||||
@property (nonatomic, readwrite,strong) NSArray *fileType;
|
||||
|
||||
/**
|
||||
* 文件名,(例如图片 imageName.png, 文件名后要跟文件后缀名,否则没法识别,导致类似图片不显示的问题)
|
||||
*/
|
||||
@property (nonatomic, readwrite,assign) NSUInteger fileNameLimit;
|
||||
|
||||
/**
|
||||
* 文件地址url
|
||||
*/
|
||||
@property (nonatomic, readwrite,assign) NSUInteger fileUrlLimit;
|
||||
|
||||
@end
|
||||
|
||||
/**
|
||||
* 此配置项是特定平台才有的,比如微信,
|
||||
*/
|
||||
@interface UMSocialShareEmotionObjectConfig : UMSocialShareObjectConfig
|
||||
|
||||
//表情的字节大小限制
|
||||
@property(nonatomic,readwrite,assign)NSUInteger emotionDataLimit;
|
||||
|
||||
@end
|
||||
|
||||
|
||||
/**
|
||||
* 此配置项是特定平台才有的,比如微信,
|
||||
*/
|
||||
@interface UMSocialShareFileObjectConfig : UMSocialShareObjectConfig
|
||||
|
||||
@property (nonatomic, readwrite,assign) NSUInteger fileExtensionLimit;
|
||||
|
||||
@property (nonatomic, readwrite,assign) NSUInteger fileDataLimit;
|
||||
|
||||
@end
|
||||
|
||||
/**
|
||||
* 此配置项是特定平台才有的,比如微信
|
||||
*/
|
||||
@interface UMSocialShareExtendObjectConfig : UMSocialShareObjectConfig
|
||||
|
||||
@property (nonatomic, readwrite,assign) NSUInteger urlLimit;
|
||||
|
||||
@property (nonatomic, readwrite,assign) NSUInteger extInfoLimit;
|
||||
|
||||
@property (nonatomic, readwrite,assign) NSUInteger fileDataLimit;
|
||||
|
||||
@end
|
||||
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* 每个平台的配置信息
|
||||
* 包括如下:
|
||||
* 1.对分享内容的限制。
|
||||
*
|
||||
*/
|
||||
@interface UMSocialHandlerConfig : NSObject
|
||||
|
||||
@property(nonatomic,readwrite,strong)UMSocialShareTextObjectConfig* shareTextObjectConfig;
|
||||
@property(nonatomic,readwrite,strong)UMSocialShareImageObjectConfig* shareImageObjectConfig;
|
||||
@property(nonatomic,readwrite,strong)UMSocialShareMusicObjectConfig* shareMusicObjectConfig;
|
||||
@property(nonatomic,readwrite,strong)UMSocialShareVideoObjectConfig* shareVideoObjectConfig;
|
||||
@property(nonatomic,readwrite,strong)UMSocialShareWebpageObjectConfig* shareWebpageObjectConfig;
|
||||
@property(nonatomic,readwrite,strong)UMSocialShareEmailObjectConfig* shareEmailObjectConfig;
|
||||
@property(nonatomic,readwrite,strong)UMSocialShareSmsObjectConfig* shareSmsObjectConfig;
|
||||
@property(nonatomic,readwrite,strong)UMSocialShareEmotionObjectConfig* shareEmotionObjectConfig;
|
||||
@property(nonatomic,readwrite,strong)UMSocialShareFileObjectConfig* shareFileObjectConfig;
|
||||
@property(nonatomic,readwrite,strong)UMSocialShareExtendObjectConfig* shareExtendObjectConfig;
|
||||
|
||||
//检查输入的text是否符合对应平台的输入
|
||||
+(BOOL) checkText:(NSString*)text withTextLimit:(NSUInteger)textLimit;
|
||||
+(BOOL) checkData:(NSData*)data withDataLimit:(NSUInteger)dataLimit;
|
||||
+(NSString*) truncationText:(NSString*)text withTextLimit:(NSUInteger)textLimit;
|
||||
|
||||
//压缩图片
|
||||
+ (NSData *)compressImageData:(NSData*)imageData toLength:(CGFloat)imageLimit;
|
||||
+ (NSData *)compressImage:(UIImage*)image toLength:(CGFloat)imageLimit;
|
||||
|
||||
@end
|
||||
@@ -0,0 +1,13 @@
|
||||
//
|
||||
// UMSocialImageUtil.h
|
||||
// UMSocialSDK
|
||||
//
|
||||
// Created by wangfei on 16/8/12.
|
||||
// Copyright © 2016年 dongjianxiong. All rights reserved.
|
||||
//
|
||||
|
||||
#import <Foundation/Foundation.h>
|
||||
#import <UIKit/UIKit.h>
|
||||
@interface UMSocialImageUtil : NSObject
|
||||
+(UIImage*)scaleImage:(UIImage *) image ToSize:(CGSize)size;
|
||||
@end
|
||||
@@ -0,0 +1,191 @@
|
||||
//
|
||||
// UMComPlatformProviderManager.h
|
||||
// UMSocialSDK
|
||||
//
|
||||
// Created by 张军华 on 16/8/5.
|
||||
// Copyright © 2016年 dongjianxiong. All rights reserved.
|
||||
//
|
||||
|
||||
#import <Foundation/Foundation.h>
|
||||
#import "UMSocialPlatformProvider.h"
|
||||
#import "UMSocialGlobal.h"
|
||||
@class UMSocialMessageObject;
|
||||
@interface UMSocialManager : NSObject
|
||||
|
||||
+(instancetype)defaultManager;
|
||||
|
||||
/**
|
||||
友盟appkey
|
||||
*/
|
||||
@property(nonatomic,strong)NSString* umSocialAppkey;
|
||||
@property(nonatomic,strong)NSString* umSocialAppSecret;
|
||||
|
||||
/**
|
||||
返回当前有效(安装并是可用的)平台列表
|
||||
*/
|
||||
@property(nonatomic,readonly,strong) NSArray * platformTypeArray;
|
||||
|
||||
|
||||
/**
|
||||
* 打开日志
|
||||
*
|
||||
* @param isOpen YES代表打开,No代表关闭
|
||||
*/
|
||||
-(void) openLog:(BOOL)isOpen;
|
||||
|
||||
/**
|
||||
* 设置平台的appkey
|
||||
*
|
||||
* @param platformType 平台类型 @see UMSocialPlatformType
|
||||
* @param appKey 第三方平台的appKey(QQ平台为appID)
|
||||
* @param appSecret 第三方平台的appSecret(QQ平台为appKey)
|
||||
* @param redirectURL redirectURL
|
||||
*/
|
||||
- (BOOL)setPlaform:(UMSocialPlatformType)platformType
|
||||
appKey:(NSString *)appKey
|
||||
appSecret:(NSString *)appSecret
|
||||
redirectURL:(NSString *)redirectURL;
|
||||
|
||||
|
||||
/**
|
||||
* 设置分享平台
|
||||
*
|
||||
* @param platformType 平台类型 @see UMSocialPlatformType
|
||||
* @param messageObject 分享的content @see UMSocialMessageObject
|
||||
* @param currentViewController 用于弹出类似邮件分享、短信分享等这样的系统页面
|
||||
* @param completion 回调
|
||||
* @discuss currentViewController 只正对sms,email等平台需要传入viewcontroller的平台,其他不需要的平台可以传入nil
|
||||
*/
|
||||
- (void)shareToPlatform:(UMSocialPlatformType)platformType
|
||||
messageObject:(UMSocialMessageObject *)messageObject
|
||||
currentViewController:(id)currentViewController
|
||||
completion:(UMSocialRequestCompletionHandler)completion;
|
||||
|
||||
/**
|
||||
* 取消授权
|
||||
*
|
||||
* @param platformType 平台类型 @see UMSocialPlatformType
|
||||
* @param completion 回调
|
||||
*/
|
||||
- (void)cancelAuthWithPlatform:(UMSocialPlatformType)platformType
|
||||
completion:(UMSocialRequestCompletionHandler)completion;
|
||||
|
||||
/**
|
||||
* 授权并获取用户信息
|
||||
* @param platformType 平台类型 @see UMSocialPlatformType
|
||||
* @param currentViewController 用于弹出类似邮件分享、短信分享等这样的系统页面
|
||||
* @param completion 回调
|
||||
*/
|
||||
- (void)getUserInfoWithPlatform:(UMSocialPlatformType)platformType
|
||||
currentViewController:(id)currentViewController
|
||||
completion:(UMSocialRequestCompletionHandler)completion;
|
||||
|
||||
/**
|
||||
* 获得从sso或者web端回调到本app的回调
|
||||
*
|
||||
* @param url 第三方sdk的打开本app的回调的url
|
||||
*
|
||||
* @return 是否处理 YES代表处理成功,NO代表不处理
|
||||
*/
|
||||
-(BOOL)handleOpenURL:(NSURL *)url;
|
||||
|
||||
/**
|
||||
* 获得从sso或者web端回调到本app的回调
|
||||
*
|
||||
* @param url 第三方sdk的打开本app的回调的url
|
||||
* @param sourceApplication 回调的源程序
|
||||
* @param annotation annotation
|
||||
*
|
||||
* @return 是否处理 YES代表处理成功,NO代表不处理
|
||||
*
|
||||
* @note 此函数在6.3版本加入
|
||||
*/
|
||||
-(BOOL)handleOpenURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation;
|
||||
|
||||
/**
|
||||
* 获得从sso或者web端回调到本app的回调
|
||||
*
|
||||
* @param url 第三方sdk的打开本app的回调的url
|
||||
* @param options 回调的参数
|
||||
*
|
||||
* @return 是否处理 YES代表处理成功,NO代表不处理
|
||||
*
|
||||
* @note 此函数在6.3版本加入
|
||||
*/
|
||||
-(BOOL)handleOpenURL:(NSURL *)url options:(NSDictionary*)options;
|
||||
|
||||
|
||||
/**
|
||||
* 动态的增加用户自定义的PlatformProvider
|
||||
*
|
||||
* @param userDefinePlatformProvider 用户自定义的userDefinePlatformProvider必须实现UMSocialPlatformProvider
|
||||
* @param platformType 平台类型 @see platformType platformType的有效范围在 (UMSocialPlatformType_UserDefine_Begin,UMSocialPlatformType_UserDefine_End)之间
|
||||
*
|
||||
* @return YES代表返回成功,NO代表失败
|
||||
* @disuss 在调用此函数前,必须先设置对应的平台的配置信息 @see - (BOOL)setPlaform:(UMSocialPlatformType)platformType appKey:(NSString *)appKey appSecret:(NSString *)appSecret redirectURL:(NSString *)redirectURL;
|
||||
*/
|
||||
-(BOOL)addAddUserDefinePlatformProvider:(id<UMSocialPlatformProvider>)userDefinePlatformProvider
|
||||
withUserDefinePlatformType:(UMSocialPlatformType)platformType;
|
||||
|
||||
|
||||
/**
|
||||
* 获得对应的平台类型platformType的PlatformProvider
|
||||
*
|
||||
* @param platformType 平台类型 @see platformType
|
||||
*
|
||||
* @return 返回继承UMSocialPlatformProvider的handle
|
||||
*/
|
||||
-(id<UMSocialPlatformProvider>)platformProviderWithPlatformType:(UMSocialPlatformType)platformType;
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* 动态的删除不想显示的平台,不管是预定义还是用户自定义的
|
||||
*
|
||||
* @param platformTypeArray 平台类型数组
|
||||
*/
|
||||
-(void) removePlatformProviderWithPlatformTypes:(NSArray *)platformTypeArray;
|
||||
|
||||
/**
|
||||
* 动态的删除PlatformProvider,不管是预定义还是用户自定义的
|
||||
*
|
||||
* @param platformType 平台类型 @see UMSocialPlatformType
|
||||
*/
|
||||
-(void) removePlatformProviderWithPlatformType:(UMSocialPlatformType)platformType;
|
||||
|
||||
|
||||
/**
|
||||
* 平台是否安装
|
||||
*
|
||||
* @param platformType 平台类型 @see UMSocialPlatformType
|
||||
*
|
||||
* @return YES 代表安装,NO 代表未安装
|
||||
* @note 在判断QQ空间的App的时候,QQApi判断会出问题
|
||||
*/
|
||||
-(BOOL) isInstall:(UMSocialPlatformType)platformType;
|
||||
|
||||
/**
|
||||
* 当前平台是否支持分享
|
||||
*
|
||||
* @param platformType 平台类型 @see UMSocialPlatformType
|
||||
*
|
||||
* @return YES代表支持,NO代表不支持
|
||||
*/
|
||||
-(BOOL) isSupport:(UMSocialPlatformType)platformType;
|
||||
|
||||
|
||||
#pragma mark - NOT COMMON METHOD
|
||||
/**
|
||||
* 授权平台 (此方法仅获取授权token,不包含获取用户信息。推荐使用上面的 getUserInfoWithPlatform... 接口获取授权及用户信息)
|
||||
*
|
||||
* @param platformType 平台类型 @see UMSocialPlatformType
|
||||
* @param currentViewController 用于弹出类似邮件分享、短信分享等这样的系统页面
|
||||
* @discuss currentViewController 只对sms,email等平台需要传入viewcontroller的平台,其他不需要的平台可以传入nil
|
||||
* @param completion 回调
|
||||
*/
|
||||
- (void)authWithPlatform:(UMSocialPlatformType)platformType
|
||||
currentViewController:(UIViewController *)currentViewController
|
||||
completion:(UMSocialRequestCompletionHandler)completion;
|
||||
|
||||
@end
|
||||
|
||||
@@ -0,0 +1,425 @@
|
||||
//
|
||||
// UMSocialMessageObject.h
|
||||
// SocialSDK
|
||||
//
|
||||
// Created by umeng on 16/4/22.
|
||||
// Copyright © 2016年 dongjianxiong. All rights reserved.
|
||||
//
|
||||
|
||||
#import <Foundation/Foundation.h>
|
||||
|
||||
|
||||
@interface UMSocialMessageObject : NSObject
|
||||
|
||||
|
||||
/**
|
||||
* 文本标题
|
||||
* @disucss v6.0.3版本后增加的一个字段,
|
||||
* @disucss 该字段目前只有Tumblr平台会使用到。
|
||||
* @discuss 该字段以后会在需要文本title字段中扩展,具体请参看官方文档。
|
||||
*/
|
||||
@property (nonatomic,copy)NSString* title;
|
||||
|
||||
/**
|
||||
* text 文本内容
|
||||
* @note 非纯文本分享文本
|
||||
*/
|
||||
@property (nonatomic, copy) NSString *text;
|
||||
|
||||
/**
|
||||
* 分享的所媒体内容对象
|
||||
*/
|
||||
@property (nonatomic, strong) id shareObject;
|
||||
|
||||
/**
|
||||
* 其他相关参数,见相应平台说明
|
||||
*/
|
||||
@property (nonatomic, strong) NSDictionary *moreInfo;
|
||||
|
||||
+ (UMSocialMessageObject *)messageObject;
|
||||
|
||||
+ (UMSocialMessageObject *)messageObjectWithMediaObject:(id)mediaObject;
|
||||
|
||||
|
||||
@end
|
||||
|
||||
|
||||
@interface UMShareObject : NSObject
|
||||
|
||||
/**
|
||||
* 标题
|
||||
* @note 标题的长度依各个平台的要求而定
|
||||
*/
|
||||
@property (nonatomic, copy) NSString *title;
|
||||
|
||||
/**
|
||||
* 描述
|
||||
* @note 描述内容的长度依各个平台的要求而定
|
||||
*/
|
||||
@property (nonatomic, copy) NSString *descr;
|
||||
|
||||
/**
|
||||
* 缩略图 UIImage或者NSData类型或者NSString类型(图片url)
|
||||
*/
|
||||
@property (nonatomic, strong) id thumbImage;
|
||||
|
||||
/**
|
||||
* @param title 标题
|
||||
* @param descr 描述
|
||||
* @param thumImage 缩略图(UIImage或者NSData类型,或者image_url)
|
||||
*
|
||||
*/
|
||||
+ (id)shareObjectWithTitle:(NSString *)title
|
||||
descr:(NSString *)descr
|
||||
thumImage:(id)thumImage;
|
||||
|
||||
+ (void)um_imageDataWithImage:(id)image completion:(void (^)(NSData *image))completion;
|
||||
|
||||
#pragma mark - 6.0.3新版本的函数
|
||||
+ (void)um_imageDataWithImage:(id)image withCompletion:(void (^)(NSData *imageData,NSError* error))completion;
|
||||
|
||||
@end
|
||||
|
||||
|
||||
|
||||
@interface UMShareImageObject : UMShareObject
|
||||
|
||||
/** 图片内容 (可以是UIImage类对象,也可以是NSdata类对象,也可以是图片链接imageUrl NSString类对象)
|
||||
* @note 图片大小根据各个平台限制而定
|
||||
*/
|
||||
@property (nonatomic, retain) id shareImage;
|
||||
|
||||
/**
|
||||
* @param title 标题
|
||||
* @param descr 描述
|
||||
* @param thumImage 缩略图(UIImage或者NSData类型,或者image_url)
|
||||
*
|
||||
*/
|
||||
+ (UMShareImageObject *)shareObjectWithTitle:(NSString *)title
|
||||
descr:(NSString *)descr
|
||||
thumImage:(id)thumImage;
|
||||
|
||||
@end
|
||||
|
||||
@interface UMShareMusicObject : UMShareObject
|
||||
|
||||
/** 音乐网页的url地址
|
||||
* @note 长度不能超过10K
|
||||
*/
|
||||
@property (nonatomic, retain) NSString *musicUrl;
|
||||
/** 音乐lowband网页的url地址
|
||||
* @note 长度不能超过10K
|
||||
*/
|
||||
@property (nonatomic, retain) NSString *musicLowBandUrl;
|
||||
/** 音乐数据url地址
|
||||
* @note 长度不能超过10K
|
||||
*/
|
||||
@property (nonatomic, retain) NSString *musicDataUrl;
|
||||
|
||||
/**音乐lowband数据url地址
|
||||
* @note 长度不能超过10K
|
||||
*/
|
||||
@property (nonatomic, retain) NSString *musicLowBandDataUrl;
|
||||
|
||||
/**
|
||||
* @param title 标题
|
||||
* @param descr 描述
|
||||
* @param thumImage 缩略图(UIImage或者NSData类型,或者image_url)
|
||||
*
|
||||
*/
|
||||
+ (UMShareMusicObject *)shareObjectWithTitle:(NSString *)title
|
||||
descr:(NSString *)descr
|
||||
thumImage:(id)thumImage;
|
||||
|
||||
@end
|
||||
|
||||
|
||||
@interface UMShareVideoObject : UMShareObject
|
||||
|
||||
/**
|
||||
视频网页的url
|
||||
|
||||
@warning 不能为空且长度不能超过255
|
||||
*/
|
||||
@property (nonatomic, strong) NSString *videoUrl;
|
||||
|
||||
/**
|
||||
视频lowband网页的url
|
||||
|
||||
@warning 长度不能超过255
|
||||
*/
|
||||
@property (nonatomic, strong) NSString *videoLowBandUrl;
|
||||
|
||||
/**
|
||||
视频数据流url
|
||||
|
||||
@warning 长度不能超过255
|
||||
*/
|
||||
@property (nonatomic, strong) NSString *videoStreamUrl;
|
||||
|
||||
/**
|
||||
视频lowband数据流url
|
||||
|
||||
@warning 长度不能超过255
|
||||
*/
|
||||
@property (nonatomic, strong) NSString *videoLowBandStreamUrl;
|
||||
|
||||
|
||||
/**
|
||||
* @param title 标题
|
||||
* @param descr 描述
|
||||
* @param thumImage 缩略图(UIImage或者NSData类型,或者image_url)
|
||||
*
|
||||
*/
|
||||
+ (UMShareVideoObject *)shareObjectWithTitle:(NSString *)title
|
||||
descr:(NSString *)descr
|
||||
thumImage:(id)thumImage;
|
||||
|
||||
@end
|
||||
|
||||
|
||||
@interface UMShareWebpageObject : UMShareObject
|
||||
|
||||
/** 网页的url地址
|
||||
* @note 不能为空且长度不能超过10K
|
||||
*/
|
||||
@property (nonatomic, retain) NSString *webpageUrl;
|
||||
|
||||
/**
|
||||
* @param title 标题
|
||||
* @param descr 描述
|
||||
* @param thumImage 缩略图(UIImage或者NSData类型,或者image_url)
|
||||
*
|
||||
*/
|
||||
+ (UMShareWebpageObject *)shareObjectWithTitle:(NSString *)title
|
||||
descr:(NSString *)descr
|
||||
thumImage:(id)thumImage;
|
||||
|
||||
@end
|
||||
|
||||
|
||||
/*! @brief 分享消息中的邮件分享对象
|
||||
*
|
||||
* @see UMSocialMessageObject
|
||||
*/
|
||||
|
||||
@interface UMShareEmailObject : UMShareObject
|
||||
|
||||
/**
|
||||
* 主题
|
||||
*/
|
||||
@property (nonatomic, strong) NSString *subject;
|
||||
|
||||
/**
|
||||
* 接收人
|
||||
*/
|
||||
@property (nonatomic, strong) NSArray *toRecipients;
|
||||
|
||||
/**
|
||||
* 抄送人
|
||||
*/
|
||||
@property (nonatomic, strong) NSArray *ccRecipients;
|
||||
|
||||
/**
|
||||
* 密送人
|
||||
*/
|
||||
@property (nonatomic, strong) NSArray *bccRecipients;
|
||||
|
||||
/**
|
||||
* 文本内容
|
||||
*/
|
||||
@property (nonatomic, copy) NSString *emailContent;
|
||||
|
||||
/**
|
||||
* 图片,最好是本地图片(UIImage,或者NSdata)
|
||||
*/
|
||||
@property (nonatomic, strong) id emailImage;
|
||||
|
||||
/**
|
||||
* 发送图片的类型 @see MIME
|
||||
* 默认 "image/ *"
|
||||
*/
|
||||
@property (nonatomic, copy) NSString* emailImageType;
|
||||
/**
|
||||
* 发送图片的名字
|
||||
* 默认 "um_share_image.png"
|
||||
*/
|
||||
@property (nonatomic, copy) NSString* emailImageName;
|
||||
|
||||
/**
|
||||
* 文件(NSData)
|
||||
*/
|
||||
@property (nonatomic, strong) NSData *emailSendData;
|
||||
|
||||
/**
|
||||
* 文件格式
|
||||
* @see MIME
|
||||
* 默认 "text/ *"
|
||||
*/
|
||||
@property (nonatomic, copy) NSString *fileType;
|
||||
|
||||
/**
|
||||
* 文件名,(例如图片 imageName.png, 文件名后要跟文件后缀名,否则没法识别,导致类似图片不显示的问题)
|
||||
* 默认 "um_share_file.txt"
|
||||
*/
|
||||
@property (nonatomic, copy) NSString *fileName;
|
||||
|
||||
@end
|
||||
|
||||
|
||||
/*! @brief 分享消息中的短信分享对象
|
||||
*
|
||||
* @see UMSocialMessageObject
|
||||
* @discuss UMShareSmsObject只能发送的附件是图片!!!!
|
||||
* 如果发送其他的文件的话,虽然能在短信界面显示发送的文件,但是会发送不成功
|
||||
*/
|
||||
@interface UMShareSmsObject : UMShareObject
|
||||
|
||||
/**
|
||||
* 接收人
|
||||
*/
|
||||
@property (nonatomic, strong) NSArray *recipients;
|
||||
|
||||
/**
|
||||
* 主题
|
||||
*/
|
||||
@property (nonatomic, strong) NSString *subject;
|
||||
|
||||
/**
|
||||
* 文本内容
|
||||
*/
|
||||
@property (nonatomic, copy) NSString *smsContent;
|
||||
|
||||
/**
|
||||
* 图片
|
||||
*/
|
||||
@property (nonatomic, strong) id smsImage;//UIImage对象必填
|
||||
@property (nonatomic, copy) NSString *imageType;//图片格式必填,必须指定数据格式,如png图片格式应传入@"png"
|
||||
@property (nonatomic, copy) NSString *imageName;//图片 例如 imageName.png, 文件名后要跟文件后缀名,否则没法识别,导致类似图片不显示的问题)
|
||||
|
||||
|
||||
#pragma mark - 以下字段为非图片的属性
|
||||
/**
|
||||
* 文件数据(NSData)
|
||||
* 必填
|
||||
*/
|
||||
@property (nonatomic, strong) NSData *smsSendData;
|
||||
|
||||
/**
|
||||
* 文件格式
|
||||
* 必填,必须指定数据格式,如png图片格式应传入@"txt"
|
||||
*/
|
||||
@property (nonatomic, copy) NSString *fileType;
|
||||
|
||||
/**
|
||||
* 文件名,(例如图片 fileName.txt, 文件名后要跟文件后缀名,否则没法识别,导致类似图片不显示的问题)
|
||||
*/
|
||||
@property (nonatomic, copy) NSString *fileName;
|
||||
|
||||
/**
|
||||
* 文件地址url(http:// or file:// ...../fileName.txt)
|
||||
*/
|
||||
@property (nonatomic, copy) NSString *fileUrl;
|
||||
|
||||
@end
|
||||
|
||||
|
||||
/**
|
||||
* 表情的类
|
||||
* 表请的缩略图数据请存放在UMShareEmotionObject中
|
||||
* 注意:emotionData和emotionURL成员不能同时为空,若同时出现则取emotionURL
|
||||
*/
|
||||
@interface UMShareEmotionObject : UMShareObject
|
||||
|
||||
/**
|
||||
* 表情数据,如GIF等
|
||||
* @note 微信的话大小不能超过10M
|
||||
*/
|
||||
@property (nonatomic, strong) NSData *emotionData;
|
||||
|
||||
/**
|
||||
* @param title 标题
|
||||
* @param descr 描述
|
||||
* @param thumImage 缩略图(UIImage或者NSData类型,或者image_url)
|
||||
*
|
||||
*/
|
||||
+ (UMShareEmotionObject *)shareObjectWithTitle:(NSString *)title
|
||||
descr:(NSString *)descr
|
||||
thumImage:(id)thumImage;
|
||||
|
||||
@end
|
||||
|
||||
|
||||
#pragma mark - UMSAppExtendObject
|
||||
/*! @brief 多媒体消息中包含的App扩展数据对象
|
||||
*
|
||||
* 第三方程序向微信终端发送包含UMShareExtendObject的多媒体消息,
|
||||
* 微信需要处理该消息时,会调用该第三方程序来处理多媒体消息内容。
|
||||
* @note url,extInfo和fileData不能同时为空
|
||||
* @see UMShareObject
|
||||
*/
|
||||
@interface UMShareExtendObject : UMShareObject
|
||||
|
||||
/** 若第三方程序不存在,微信终端会打开该url所指的App下载地址
|
||||
* @note 长度不能超过10K
|
||||
*/
|
||||
@property (nonatomic, retain) NSString *url;
|
||||
/** 第三方程序自定义简单数据,微信终端会回传给第三方程序处理
|
||||
* @note 长度不能超过2K
|
||||
*/
|
||||
@property (nonatomic, retain) NSString *extInfo;
|
||||
/** App文件数据,该数据发送给微信好友,微信好友需要点击后下载数据,微信终端会回传给第三方程序处理
|
||||
* @note 大小不能超过10M
|
||||
*/
|
||||
@property (nonatomic, retain) NSData *fileData;
|
||||
|
||||
@end
|
||||
|
||||
|
||||
#pragma mark - UMFileObject
|
||||
/*! @brief 多媒体消息中包含的文件数据对象
|
||||
*
|
||||
* @see UMShareObject
|
||||
*/
|
||||
@interface UMShareFileObject : UMShareObject
|
||||
|
||||
/** 文件后缀名
|
||||
* @note 长度不超过64字节
|
||||
*/
|
||||
@property (nonatomic, retain) NSString *fileExtension;
|
||||
|
||||
/** 文件真实数据内容
|
||||
* @note 大小不能超过10M
|
||||
*/
|
||||
@property (nonatomic, retain) NSData *fileData;
|
||||
|
||||
|
||||
@end
|
||||
|
||||
|
||||
#pragma mark - UMMiniProgramObject
|
||||
|
||||
/*! @brief 多媒体消息中包含 分享微信小程序的数据对象
|
||||
*
|
||||
* @see UMShareObject
|
||||
*/
|
||||
@interface UMShareMiniProgramObject : UMShareObject
|
||||
|
||||
/**
|
||||
低版本微信网页链接
|
||||
*/
|
||||
@property (nonatomic, strong) NSString *webpageUrl;
|
||||
|
||||
/**
|
||||
小程序username
|
||||
*/
|
||||
@property (nonatomic, strong) NSString *userName;
|
||||
|
||||
/**
|
||||
小程序页面的路径
|
||||
*/
|
||||
@property (nonatomic, strong) NSString *path;
|
||||
|
||||
@end
|
||||
|
||||
|
||||
@@ -0,0 +1,432 @@
|
||||
//
|
||||
// UMSocialPlatformConfig.h
|
||||
// UMSocialSDK
|
||||
//
|
||||
// Created by 张军华 on 16/8/5.
|
||||
// Copyright © 2016年 dongjianxiong. All rights reserved.
|
||||
//
|
||||
|
||||
#import <Foundation/Foundation.h>
|
||||
#import <UIKit/UIKit.h>
|
||||
|
||||
|
||||
/**
|
||||
新浪微博
|
||||
*/
|
||||
extern NSString *const UMSPlatformNameSina;
|
||||
|
||||
/**
|
||||
腾讯微博
|
||||
*/
|
||||
extern NSString *const UMSPlatformNameTencentWb;
|
||||
|
||||
/**
|
||||
钉钉
|
||||
*/
|
||||
extern NSString *const UMSPlatformNameDingDing;
|
||||
|
||||
/**
|
||||
人人网
|
||||
*/
|
||||
extern NSString *const UMSPlatformNameRenren;
|
||||
|
||||
/**
|
||||
豆瓣
|
||||
*/
|
||||
extern NSString *const UMSPlatformNameDouban;
|
||||
|
||||
/**
|
||||
QQ空间
|
||||
*/
|
||||
extern NSString *const UMSPlatformNameQzone;
|
||||
|
||||
/**
|
||||
邮箱
|
||||
*/
|
||||
extern NSString *const UMSPlatformNameEmail;
|
||||
|
||||
/**
|
||||
短信
|
||||
*/
|
||||
extern NSString *const UMSPlatformNameSms;
|
||||
|
||||
/**
|
||||
微信好友
|
||||
*/
|
||||
extern NSString *const UMSPlatformNameWechatSession;
|
||||
|
||||
/**
|
||||
微信朋友圈
|
||||
*/
|
||||
extern NSString *const UMSPlatformNameWechatTimeline;
|
||||
|
||||
/**
|
||||
微信收藏
|
||||
*/
|
||||
extern NSString *const UMSPlatformNameWechatFavorite;
|
||||
|
||||
/**
|
||||
支付宝好友
|
||||
*/
|
||||
extern NSString *const UMSPlatformNameAlipaySession;
|
||||
|
||||
/**
|
||||
手机QQ
|
||||
*/
|
||||
extern NSString *const UMSPlatformNameQQ;
|
||||
|
||||
/**
|
||||
Facebook
|
||||
*/
|
||||
extern NSString *const UMSPlatformNameFacebook;
|
||||
|
||||
/**
|
||||
Twitter
|
||||
*/
|
||||
extern NSString *const UMSPlatformNameTwitter;
|
||||
|
||||
|
||||
/**
|
||||
易信好友
|
||||
*/
|
||||
extern NSString *const UMSPlatformNameYXSession;
|
||||
|
||||
/**
|
||||
易信朋友圈
|
||||
*/
|
||||
extern NSString *const UMSPlatformNameYXTimeline;
|
||||
|
||||
/**
|
||||
来往好友
|
||||
*/
|
||||
extern NSString *const UMSPlatformNameLWSession;
|
||||
|
||||
/**
|
||||
来往朋友圈
|
||||
*/
|
||||
extern NSString *const UMSPlatformNameLWTimeline;
|
||||
|
||||
/**
|
||||
分享到Instragram
|
||||
*/
|
||||
extern NSString *const UMSPlatformNameInstagram;
|
||||
|
||||
/**
|
||||
分享到Whatsapp
|
||||
*/
|
||||
extern NSString *const UMSPlatformNameWhatsapp;
|
||||
|
||||
/**
|
||||
分享到Line
|
||||
*/
|
||||
extern NSString *const UMSPlatformNameLine;
|
||||
|
||||
/**
|
||||
分享到Tumblr
|
||||
*/
|
||||
extern NSString *const UMSPlatformNameTumblr;
|
||||
|
||||
/**
|
||||
领英
|
||||
*/
|
||||
extern NSString *const UMSPlatformNameLinkedin;
|
||||
|
||||
/**
|
||||
分享到Pinterest
|
||||
*/
|
||||
extern NSString *const UMSPlatformNamePinterest;
|
||||
|
||||
/**
|
||||
分享到KakaoTalk
|
||||
*/
|
||||
extern NSString *const UMSPlatformNameKakaoTalk;
|
||||
|
||||
/**
|
||||
分享到Flickr
|
||||
*/
|
||||
extern NSString *const UMSPlatformNameFlickr;
|
||||
|
||||
|
||||
/**
|
||||
* 有道云笔记
|
||||
*/
|
||||
extern NSString *const UMSPlatformNameYouDaoNote;
|
||||
|
||||
/**
|
||||
* 印象笔记
|
||||
*/
|
||||
extern NSString *const UMSPlatformNameEverNote;
|
||||
|
||||
/**
|
||||
* google+
|
||||
*/
|
||||
extern NSString *const UMSPlatformNameGooglePlus;
|
||||
|
||||
/**
|
||||
* Pocket
|
||||
*/
|
||||
extern NSString *const UMSPlatformNamePocket;
|
||||
|
||||
/**
|
||||
* dropbox
|
||||
*/
|
||||
extern NSString *const UMSPlatformNameDropBox;
|
||||
|
||||
/**
|
||||
* vkontakte
|
||||
*/
|
||||
extern NSString *const UMSPlatformNameVKontakte;
|
||||
|
||||
/**
|
||||
* FaceBookMessenger
|
||||
*/
|
||||
extern NSString *const UMSPlatformNameFaceBookMessenger;
|
||||
|
||||
|
||||
/**
|
||||
* 授权,分享,UserProfile等操作的回调
|
||||
*
|
||||
* @param result 表示回调的结果
|
||||
* @param error 表示回调的错误码
|
||||
*/
|
||||
typedef void (^UMSocialRequestCompletionHandler)(id result,NSError *error);
|
||||
|
||||
/**
|
||||
* 授权,分享,UserProfile等操作的回调
|
||||
*
|
||||
* @param shareResponse 表示回调的结果
|
||||
* @param error 表示回调的错误码
|
||||
*/
|
||||
typedef void (^UMSocialShareCompletionHandler)(id shareResponse,NSError *error);
|
||||
|
||||
/**
|
||||
* 授权,分享,UserProfile等操作的回调
|
||||
*
|
||||
* @param authResponse 表示回调的结果
|
||||
* @param error 表示回调的错误码
|
||||
*/
|
||||
typedef void (^UMSocialAuthCompletionHandler)(id authResponse,NSError *error);
|
||||
|
||||
/**
|
||||
* 授权,分享,UserProfile等操作的回调
|
||||
*
|
||||
* @param userInfoResponse 表示回调的结果
|
||||
* @param error 表示回调的错误码
|
||||
*/
|
||||
typedef void (^UMSocialGetUserInfoCompletionHandler)(id userInfoResponse,NSError *error);
|
||||
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
//平台的失败错误码--start
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
/**
|
||||
* U-Share返回错误类型
|
||||
*/
|
||||
typedef NS_ENUM(NSInteger, UMSocialPlatformErrorType) {
|
||||
UMSocialPlatformErrorType_Unknow = 2000, // 未知错误
|
||||
UMSocialPlatformErrorType_NotSupport = 2001, // 不支持(url scheme 没配置,或者没有配置-ObjC, 或则SDK版本不支持或则客户端版本不支持)
|
||||
UMSocialPlatformErrorType_AuthorizeFailed = 2002, // 授权失败
|
||||
UMSocialPlatformErrorType_ShareFailed = 2003, // 分享失败
|
||||
UMSocialPlatformErrorType_RequestForUserProfileFailed = 2004, // 请求用户信息失败
|
||||
UMSocialPlatformErrorType_ShareDataNil = 2005, // 分享内容为空
|
||||
UMSocialPlatformErrorType_ShareDataTypeIllegal = 2006, // 分享内容不支持
|
||||
UMSocialPlatformErrorType_CheckUrlSchemaFail = 2007, // schemaurl fail
|
||||
UMSocialPlatformErrorType_NotInstall = 2008, // 应用未安装
|
||||
UMSocialPlatformErrorType_Cancel = 2009, // 取消操作
|
||||
UMSocialPlatformErrorType_NotNetWork = 2010, // 网络异常
|
||||
UMSocialPlatformErrorType_SourceError = 2011, // 第三方错误
|
||||
|
||||
UMSocialPlatformErrorType_ProtocolNotOverride = 2013, // 对应的 UMSocialPlatformProvider的方法没有实现
|
||||
UMSocialPlatformErrorType_NotUsingHttps = 2014, // 没有用https的请求,@see UMSocialGlobal isUsingHttpsWhenShareContent
|
||||
|
||||
};
|
||||
|
||||
/** The domain name used for the UMSocialPlatformErrorType */
|
||||
extern NSString* const UMSocialPlatformErrorDomain;
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
//平台的失败错误码--end
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
//平台的特性--begin
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
/**
|
||||
* 平台的特性枚举变量
|
||||
*/
|
||||
typedef NS_OPTIONS(NSUInteger, UMSocialPlatformFeature)
|
||||
{
|
||||
UMSocialPlatformFeature_None = 0,
|
||||
|
||||
//App
|
||||
UMSocialPlatformFeature_IsAppInstalled = 1 << 0,
|
||||
UMSocialPlatformFeature_IsCanOpenApp = 1 << 1,
|
||||
UMSocialPlatformFeature_IsAppApiSupport = 1 << 2,
|
||||
|
||||
//Authorize
|
||||
UMSocialPlatformFeature_IsCanAuthorize = 1 << 10,
|
||||
UMSocialPlatformFeature_IsCanWebViewAuthorize = 1 << 11,
|
||||
|
||||
//SSOShare
|
||||
UMSocialPlatformFeature_IsCanShare_Text = 1 << 22,
|
||||
UMSocialPlatformFeature_IsCanShare_Image = 1 << 23,
|
||||
UMSocialPlatformFeature_IsCanShare_Media = 1 << 24,
|
||||
UMSocialPlatformFeature_IsCanShare_TextAndImage = 1 << 25,
|
||||
UMSocialPlatformFeature_IsCanShare_TextAndMedia = 1 << 26,
|
||||
|
||||
//mask
|
||||
UMSocialPlatformFeature_Mask = 0xFFFFFFFF,
|
||||
};
|
||||
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
//平台的特性--end
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
//平台的类型--start
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
typedef NS_ENUM(NSInteger,UMSocialPlatformType)
|
||||
{
|
||||
UMSocialPlatformType_UnKnown = -2,
|
||||
//预定义的平台
|
||||
UMSocialPlatformType_Predefine_Begin = -1,
|
||||
UMSocialPlatformType_Sina = 0, //新浪
|
||||
UMSocialPlatformType_WechatSession = 1, //微信聊天
|
||||
UMSocialPlatformType_WechatTimeLine = 2,//微信朋友圈
|
||||
UMSocialPlatformType_WechatFavorite = 3,//微信收藏
|
||||
UMSocialPlatformType_QQ = 4,//QQ聊天页面
|
||||
UMSocialPlatformType_Qzone = 5,//qq空间
|
||||
UMSocialPlatformType_TencentWb = 6,//腾讯微博
|
||||
UMSocialPlatformType_AlipaySession = 7,//支付宝聊天页面
|
||||
UMSocialPlatformType_YixinSession = 8,//易信聊天页面
|
||||
UMSocialPlatformType_YixinTimeLine = 9,//易信朋友圈
|
||||
UMSocialPlatformType_YixinFavorite = 10,//易信收藏
|
||||
UMSocialPlatformType_LaiWangSession = 11,//点点虫(原来往)聊天页面
|
||||
UMSocialPlatformType_LaiWangTimeLine = 12,//点点虫动态
|
||||
UMSocialPlatformType_Sms = 13,//短信
|
||||
UMSocialPlatformType_Email = 14,//邮件
|
||||
UMSocialPlatformType_Renren = 15,//人人
|
||||
UMSocialPlatformType_Facebook = 16,//Facebook
|
||||
UMSocialPlatformType_Twitter = 17,//Twitter
|
||||
UMSocialPlatformType_Douban = 18,//豆瓣
|
||||
UMSocialPlatformType_KakaoTalk = 19,//KakaoTalk
|
||||
UMSocialPlatformType_Pinterest = 20,//Pinteres
|
||||
UMSocialPlatformType_Line = 21,//Line
|
||||
|
||||
UMSocialPlatformType_Linkedin = 22,//领英
|
||||
|
||||
UMSocialPlatformType_Flickr = 23,//Flickr
|
||||
|
||||
UMSocialPlatformType_Tumblr = 24,//Tumblr
|
||||
UMSocialPlatformType_Instagram = 25,//Instagram
|
||||
UMSocialPlatformType_Whatsapp = 26,//Whatsapp
|
||||
UMSocialPlatformType_DingDing = 27,//钉钉
|
||||
|
||||
UMSocialPlatformType_YouDaoNote = 28,//有道云笔记
|
||||
UMSocialPlatformType_EverNote = 29,//印象笔记
|
||||
UMSocialPlatformType_GooglePlus = 30,//Google+
|
||||
UMSocialPlatformType_Pocket = 31,//Pocket
|
||||
UMSocialPlatformType_DropBox = 32,//dropbox
|
||||
UMSocialPlatformType_VKontakte = 33,//vkontakte
|
||||
UMSocialPlatformType_FaceBookMessenger = 34,//FaceBookMessenger
|
||||
|
||||
UMSocialPlatformType_Predefine_end = 999,
|
||||
|
||||
//用户自定义的平台
|
||||
UMSocialPlatformType_UserDefine_Begin = 1000,
|
||||
UMSocialPlatformType_UserDefine_End = 2000,
|
||||
};
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
//平台的类型--end
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
|
||||
|
||||
//通过图片名称读取UMSocialSDKResources.bundle里的平台icon
|
||||
#define UMSocialPlatformIconWithName(name) [NSString stringWithFormat:@"UMSocialSDKResources.bundle/SnsPlatform/%@",name]
|
||||
|
||||
////通过图片名称读取UMSocialSDKResources.bundle/Buttons/中的图片
|
||||
#define UMSocialButtonImageWithName(name) [NSString stringWithFormat:@"UMSocialSDKResources.bundle/Buttons/%@",name]
|
||||
//
|
||||
|
||||
/** 本地化 */
|
||||
#define UMLocalizedString(key,defaultValue) NSLocalizedStringWithDefaultValue(key,@"UMSocialLocalizable", [NSBundle mainBundle], defaultValue, nil)
|
||||
|
||||
/**
|
||||
* 平台配置类
|
||||
*/
|
||||
@interface UMSocialPlatformConfig : NSObject
|
||||
|
||||
|
||||
@property(nonatomic,strong)NSString* appKey;
|
||||
@property(nonatomic,strong)NSString* appSecret;
|
||||
@property(nonatomic,strong)NSString* redirectURL;
|
||||
|
||||
|
||||
/**
|
||||
* 根据平台类型获得平台名称
|
||||
*
|
||||
* @param platformType 平台类型
|
||||
* @see UMSocialPlatformType
|
||||
*
|
||||
* @return 返回对应的平台名称
|
||||
*/
|
||||
+ (NSString *)platformNameWithPlatformType:(UMSocialPlatformType)platformType;
|
||||
|
||||
/**
|
||||
* 根据平台的类型返回对应平台的对象
|
||||
*
|
||||
* @param platformType 平台类型
|
||||
*
|
||||
* @return 返回对应的平台对象
|
||||
*/
|
||||
+ (id)platformHandlerWithPlatformType:(UMSocialPlatformType)platformType;
|
||||
|
||||
|
||||
/**
|
||||
* 创建错误类型
|
||||
*
|
||||
* @param errorType 平台类型
|
||||
* @param userInfo 用户的自定义信息userInfo
|
||||
*
|
||||
* @return 返回错误对象
|
||||
*/
|
||||
+ (NSError *)errorWithSocialErrorType:(UMSocialPlatformErrorType)errorType userInfo:(id)userInfo;
|
||||
|
||||
@end
|
||||
|
||||
|
||||
/**
|
||||
* 云端授权/分享编辑页面配置类
|
||||
* 云端授权/分享页面目前适用于腾讯微博、豆瓣、人人的授权和分享编辑页面的自定义配置
|
||||
*/
|
||||
@interface UMSocialCloudViewConfig : NSObject
|
||||
|
||||
|
||||
/**
|
||||
授权页面
|
||||
*/
|
||||
@property (nonatomic, strong) NSString *authViewTitle;
|
||||
@property (nonatomic, strong) UIColor *authViewTitleColor;
|
||||
@property( nonatomic, strong) UIColor *authViewNavBarColor;
|
||||
// button仅需改动title或image即可,touch事件内部触发
|
||||
@property (nonatomic, strong) UIButton *authViewCloseButton;
|
||||
|
||||
@property (nonatomic, strong) NSString *editViewTitle;
|
||||
@property (nonatomic, strong) UIColor *editViewTitleColor;
|
||||
@property( nonatomic, strong) UIColor *editViewNavBarColor;
|
||||
// button仅需改动title或image即可,touch事件内部触发
|
||||
@property (nonatomic, strong) UIButton *editViewCloseButton;
|
||||
@property (nonatomic, strong) UIButton *editViewShareButton;
|
||||
|
||||
|
||||
|
||||
+ (instancetype)sharedInstance;
|
||||
|
||||
@end
|
||||
@@ -0,0 +1,156 @@
|
||||
//
|
||||
// UMSocialPlatformProvider.h
|
||||
// UMSocialSDK
|
||||
//
|
||||
// Created by 张军华 on 16/8/4.
|
||||
// Copyright © 2016年 dongjianxiong. All rights reserved.
|
||||
//
|
||||
|
||||
#import <Foundation/Foundation.h>
|
||||
#import <UIKit/UIKit.h>
|
||||
#import "UMSocialPlatformConfig.h"
|
||||
|
||||
@class UMSocialMessageObject;
|
||||
|
||||
/**
|
||||
* 每个平台的必须实现的协议
|
||||
*/
|
||||
@protocol UMSocialPlatformProvider <NSObject>
|
||||
|
||||
@optional
|
||||
/**
|
||||
* 当前UMSocialPlatformProvider对应操作的UMSocialPlatformType
|
||||
* @discuss 当前很多平台对应多个平台类型,出现一对多的关系
|
||||
* 例如:QQ提供UMSocialPlatformType_Qzone 和 UMSocialPlatformType_QQ,用户点击分享或者认证的时候,需要区分用户分享或者认证的对应的哪个平台
|
||||
*/
|
||||
@property(nonatomic,assign)UMSocialPlatformType socialPlatformType;
|
||||
|
||||
/**
|
||||
* 初始化平台
|
||||
*
|
||||
* @param appKey 对应的appkey
|
||||
* @param appSecret 对应的appSecret
|
||||
* @param redirectURL 对应的重定向url
|
||||
* @discuss appSecret和redirectURL如果平台必须要的话就传入,不需要就传入nil
|
||||
*/
|
||||
-(void)umSocial_setAppKey:(NSString *)appKey
|
||||
withAppSecret:(NSString *)appSecret
|
||||
withRedirectURL:(NSString *)redirectURL;
|
||||
|
||||
/**
|
||||
* 授权
|
||||
*
|
||||
* @param userInfo 用户的授权的自定义数据
|
||||
* @param completionHandler 授权后的回调
|
||||
* @discuss userInfo在有些平台可以带入,如果没有就传入nil.
|
||||
*/
|
||||
-(void)umSocial_AuthorizeWithUserInfo:(NSDictionary *)userInfo
|
||||
withCompletionHandler:(UMSocialRequestCompletionHandler)completionHandler;
|
||||
|
||||
/**
|
||||
* 授权
|
||||
*
|
||||
* @param userInfo 用户的授权的自定义数据
|
||||
* @param completionHandler 授权后的回调
|
||||
* @parm viewController 分享需要的viewController
|
||||
* @discuss userInfo在有些平台可以带入,如果没有就传入nil.
|
||||
* 这个函数用于sms,email等需要传入viewController的平台
|
||||
*/
|
||||
-(void)umSocial_AuthorizeWithUserInfo:(NSDictionary *)userInfo
|
||||
withViewController:(UIViewController*)viewController
|
||||
withCompletionHandler:(UMSocialRequestCompletionHandler)completionHandler;
|
||||
|
||||
/**
|
||||
* 分享
|
||||
*
|
||||
* @param object 分享的对象数据模型
|
||||
* @param completionHandler 分享后的回调
|
||||
*/
|
||||
-(void)umSocial_ShareWithObject:(UMSocialMessageObject *)object
|
||||
withCompletionHandler:(UMSocialRequestCompletionHandler)completionHandler;
|
||||
|
||||
/**
|
||||
* 分享
|
||||
*
|
||||
* @param object 分享的对象数据模型
|
||||
* @param completionHandler 分享后的回调
|
||||
* @parm viewController 分享需要的viewController
|
||||
* @dicuss 这个函数用于sms,email等需要传入viewController的平台
|
||||
*/
|
||||
-(void)umSocial_ShareWithObject:(UMSocialMessageObject *)object
|
||||
withViewController:(UIViewController*)viewController
|
||||
withCompletionHandler:(UMSocialRequestCompletionHandler)completionHandler;
|
||||
|
||||
/**
|
||||
* 取消授权
|
||||
*
|
||||
* @param completionHandler 授权后的回调
|
||||
* @discuss userInfo在有些平台可以带入,如果没有就传入nil.
|
||||
*/
|
||||
-(void)umSocial_cancelAuthWithCompletionHandler:(UMSocialRequestCompletionHandler)completionHandler;
|
||||
|
||||
/**
|
||||
* 授权成功后获得用户的信息
|
||||
*
|
||||
* @param completionHandler 请求的回调
|
||||
*/
|
||||
-(void)umSocial_RequestForUserProfileWithCompletionHandler:(UMSocialRequestCompletionHandler)completionHandler;
|
||||
|
||||
|
||||
/**
|
||||
* 获取用户信息
|
||||
* @param currentViewController 用于弹出类似邮件分享、短信分享等这样的系统页面
|
||||
* @param completion 回调
|
||||
*/
|
||||
- (void)umSocial_RequestForUserProfileWithViewController:(id)currentViewController
|
||||
completion:(UMSocialRequestCompletionHandler)completion;
|
||||
|
||||
|
||||
/**
|
||||
* 清除平台的数据F
|
||||
*/
|
||||
-(void)umSocial_clearCacheData;
|
||||
|
||||
/**
|
||||
* 获得从sso或者web端回调到本app的回调
|
||||
*
|
||||
* @param url 第三方sdk的打开本app的回调的url
|
||||
*
|
||||
* @return 是否处理 YES代表处理成功,NO代表不处理
|
||||
*/
|
||||
-(BOOL)umSocial_handleOpenURL:(NSURL *)url;
|
||||
-(BOOL)umSocial_handleOpenURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation;
|
||||
-(BOOL)umSocial_handleOpenURL:(NSURL *)url options:(NSDictionary*)options;
|
||||
|
||||
|
||||
#pragma mark - 平台的特性
|
||||
/**
|
||||
* 平台的特性
|
||||
*
|
||||
* @return 返回平台特性
|
||||
*
|
||||
*/
|
||||
-(UMSocialPlatformFeature)umSocial_SupportedFeatures;
|
||||
|
||||
/**
|
||||
* 平台的版本
|
||||
*
|
||||
* @return 当前平台sdk的version
|
||||
*/
|
||||
-(NSString *)umSocial_PlatformSDKVersion;
|
||||
|
||||
/**
|
||||
* 检查urlschema
|
||||
*
|
||||
*/
|
||||
-(BOOL)checkUrlSchema;
|
||||
|
||||
|
||||
-(BOOL)umSocial_isInstall;
|
||||
|
||||
-(BOOL)umSocial_isSupport;
|
||||
|
||||
|
||||
@end
|
||||
|
||||
|
||||
@@ -0,0 +1,61 @@
|
||||
//
|
||||
// UMSocialResponse.h
|
||||
// UMSocialSDK
|
||||
//
|
||||
// Created by wangfei on 16/8/12.
|
||||
// Copyright © 2016年 dongjianxiong. All rights reserved.
|
||||
//
|
||||
|
||||
#import <Foundation/Foundation.h>
|
||||
#import "UMSocialPlatformConfig.h"
|
||||
|
||||
@interface UMSocialResponse : NSObject
|
||||
|
||||
@property (nonatomic, copy) NSString *uid;
|
||||
@property (nonatomic, copy) NSString *openid;
|
||||
@property (nonatomic, copy) NSString *refreshToken;
|
||||
@property (nonatomic, copy) NSDate *expiration;
|
||||
@property (nonatomic, copy) NSString *accessToken;
|
||||
|
||||
@property (nonatomic, assign) UMSocialPlatformType platformType;
|
||||
/**
|
||||
* 第三方原始数据
|
||||
*/
|
||||
@property (nonatomic, strong) id originalResponse;
|
||||
|
||||
@end
|
||||
|
||||
@interface UMSocialShareResponse : UMSocialResponse
|
||||
|
||||
@property (nonatomic, copy) NSString *message;
|
||||
|
||||
+ (UMSocialShareResponse *)shareResponseWithMessage:(NSString *)message;
|
||||
|
||||
@end
|
||||
|
||||
@interface UMSocialAuthResponse : UMSocialResponse
|
||||
|
||||
@end
|
||||
|
||||
@interface UMSocialUserInfoResponse : UMSocialResponse
|
||||
|
||||
/**
|
||||
第三方平台昵称
|
||||
*/
|
||||
@property (nonatomic, copy) NSString *name;
|
||||
|
||||
/**
|
||||
第三方平台头像地址
|
||||
*/
|
||||
@property (nonatomic, copy) NSString *iconurl;
|
||||
|
||||
/**
|
||||
通用平台性别属性
|
||||
QQ、微信、微博返回 "男", "女"
|
||||
Facebook返回 "male", "female"
|
||||
*/
|
||||
@property (nonatomic, copy) NSString *unionGender;
|
||||
|
||||
@property (nonatomic, copy) NSString *gender;
|
||||
|
||||
@end
|
||||
+24
@@ -0,0 +1,24 @@
|
||||
//
|
||||
// UMSocialSOAuthViewController.h
|
||||
// UMSocialSDK
|
||||
//
|
||||
// Created by wangfei on 16/8/15.
|
||||
// Copyright © 2016年 dongjianxiong. All rights reserved.
|
||||
//
|
||||
|
||||
#import <UIKit/UIKit.h>
|
||||
#import "UMSBaeViewController.h"
|
||||
|
||||
#import "UMSocialPlatformConfig.h"
|
||||
|
||||
@interface UMSocialSOAuthViewController : UMSBaeViewController<UIWebViewDelegate,UIAlertViewDelegate>
|
||||
|
||||
@property (nonatomic,strong) UIWebView *webView;
|
||||
|
||||
@property(nonatomic,assign) UMSocialPlatformType platformType;
|
||||
|
||||
@property (nonatomic, copy) UMSocialRequestCompletionHandler authCompletionBlock;
|
||||
|
||||
@property (nonatomic,strong) NSString* waitUrl;
|
||||
|
||||
@end
|
||||
+31
@@ -0,0 +1,31 @@
|
||||
//
|
||||
// UMSocialShareEditViewController.h
|
||||
// UMSocialSDK
|
||||
//
|
||||
// Created by wangfei on 16/8/16.
|
||||
// Copyright © 2016年 dongjianxiong. All rights reserved.
|
||||
//
|
||||
|
||||
#import <UIKit/UIKit.h>
|
||||
#import "UMSocialPlatformConfig.h"
|
||||
#import "UMSBaeViewController.h"
|
||||
|
||||
@class UMSocialMessageObject;
|
||||
|
||||
@interface UMSocialShareEditViewController : UMSBaeViewController
|
||||
|
||||
@property (nonatomic,strong) UIImageView* editBar;
|
||||
@property (nonatomic,strong) UILabel* numLabel;
|
||||
@property (nonatomic,strong) UIImageView* imageView;
|
||||
@property (nonatomic,strong) UIButton* delBtn;
|
||||
@property (nonatomic,strong) UITextView* editView;
|
||||
@property (nonatomic,strong) UIView* editViewBack;
|
||||
@property (nonatomic,strong) UILabel* titleLabel;
|
||||
@property (nonatomic,strong) UILabel* desLabel;
|
||||
@property (nonatomic,strong) UMSocialMessageObject *shareContent;
|
||||
@property (nonatomic, copy) UMSocialRequestCompletionHandler shareCompletionBlock;
|
||||
@property (nonatomic,strong) NSString* usid;
|
||||
@property (nonatomic,assign) UMSocialPlatformType platformType;
|
||||
|
||||
|
||||
@end
|
||||
@@ -0,0 +1,222 @@
|
||||
//
|
||||
// UMSocialWarterMarkConfig.h
|
||||
// testWatermarkImage
|
||||
//
|
||||
// Created by 张军华 on 16/12/23.
|
||||
// Copyright © 2016年 张军华. All rights reserved.
|
||||
//
|
||||
|
||||
#import <Foundation/Foundation.h>
|
||||
#import <UIKit/UIKit.h>
|
||||
#import <CoreGraphics/CoreGraphics.h>
|
||||
|
||||
@class UMSocialStringWarterMarkConfig;
|
||||
@class UMSocialImageWarterMarkConfig;
|
||||
|
||||
typedef NS_ENUM(NSInteger, UMSocialWarterMarkPositon) {
|
||||
UMSocialWarterMarkPositonNone = 0,
|
||||
|
||||
/************************************************************************
|
||||
水印字符串的位置,目前并没有用--start
|
||||
*************************************************************************/
|
||||
UMSocialStringWarterMarkTopLeft = (1 << 0),
|
||||
UMSocialStringWarterMarkTopRight = (1 << 1),
|
||||
UMSocialStringWarterMarkBottomLeft = (1 << 2),
|
||||
UMSocialStringWarterMarkBottomRight = (1 << 3),
|
||||
/************************************************************************
|
||||
水印字符串的位置,目前并没有用--end
|
||||
*************************************************************************/
|
||||
|
||||
//水印图片的位置
|
||||
UMSocialImageWarterMarkTopLeft = (1 << 4),
|
||||
UMSocialImageWarterMarkTopRight = (1 << 5),
|
||||
UMSocialImageWarterMarkBottomLeft = (1 << 6),
|
||||
UMSocialImageWarterMarkBottomRight = (1 << 7),
|
||||
|
||||
/************************************************************************
|
||||
水印字符串和水印图片的相对位置,目前并没有用(如果图片和字符串都在同一个位置,就需要设置相对位置)--start
|
||||
*************************************************************************/
|
||||
UMSocialImageWarterMarkForwardStringWarterMark = (1 << 8), //图片在字符串前面
|
||||
UMSocialStringWarterMarkForwardImageWarterMark = (1 << 9),//字符串在图片前面
|
||||
UMSocialImageWarterMarkAboveStringWarterMark = (1 << 10),//图片在字符串上面
|
||||
UMSocialStringWarterMarkAboveImageWarterMark = (1 << 11),//字符串在图片上面
|
||||
/************************************************************************
|
||||
水印字符串和水印图片的相对位置,目前并没有用(如果图片和字符串都在同一个位置,就需要设置相对位置)--end
|
||||
*************************************************************************/
|
||||
};
|
||||
|
||||
typedef NS_OPTIONS(NSInteger, UMSocialStringAndImageWarterMarkPositon) {
|
||||
UMSocialStringAndImageWarterMarkPositonNone = 0,
|
||||
|
||||
UMSocialOnlyImageWarterMarkTopLeft = UMSocialImageWarterMarkTopLeft,//水印图片左上
|
||||
UMSocialOnlyImageWarterMarkTopRight = UMSocialImageWarterMarkTopRight,//水印图片右上
|
||||
UMSocialOnlyImageWarterMarkBottomLeft = UMSocialImageWarterMarkBottomLeft,//水印图片左下
|
||||
UMSocialOnlyImageWarterMarkBottomRight = UMSocialImageWarterMarkBottomRight,//水印图片右下
|
||||
|
||||
/************************************************************************
|
||||
以下的枚举变量,目前并没有用--start
|
||||
*************************************************************************/
|
||||
UMSocialStringWarterMarkTopLeftAndImageWarterMarkTopLeft = (UMSocialStringWarterMarkTopLeft | UMSocialImageWarterMarkTopLeft),//水印字符串左上,水印图片左上
|
||||
UMSocialStringWarterMarkTopLeftAndImageWarterMarkTopRight = (UMSocialStringWarterMarkTopLeft | UMSocialImageWarterMarkTopRight),//水印字符串左上,水印图片右上
|
||||
UMSocialStringWarterMarkTopLeftAndImageWarterMarkBottomLeft = (UMSocialStringWarterMarkTopLeft | UMSocialImageWarterMarkBottomLeft),//水印字符串左上,水印图片左下
|
||||
UMSocialStringWarterMarkTopLeftAndImageWarterMarkBottomRight = (UMSocialStringWarterMarkTopLeft | UMSocialImageWarterMarkBottomRight),//水印字符串左上,水印图片右下
|
||||
|
||||
UMSocialStringWarterMarkTopRightAndImageWarterMarkTopLeft = (UMSocialStringWarterMarkTopRight | UMSocialImageWarterMarkTopLeft),//水印字符串右上,水印图片左上
|
||||
UMSocialStringWarterMarkTopRightAndImageWarterMarkTopRight = (UMSocialStringWarterMarkTopRight | UMSocialImageWarterMarkTopRight),//水印字符串右上,水印图片右上
|
||||
UMSocialStringWarterMarkTopRightAndImageWarterMarkBottomLeft = (UMSocialStringWarterMarkTopRight | UMSocialImageWarterMarkBottomLeft),//水印字符串右上,水印图片左下
|
||||
UMSocialStringWarterMarkTopRightAndImageWarterMarkBottomRight = (UMSocialStringWarterMarkTopRight | UMSocialImageWarterMarkBottomRight),//水印字符串右上,水印图片右下
|
||||
|
||||
UMSocialStringWarterMarkBottomLeftAndImageWarterMarkTopLeft = (UMSocialStringWarterMarkBottomLeft | UMSocialImageWarterMarkTopLeft),//水印字符串左下,水印图片左上
|
||||
UMSocialStringWarterMarkBottomLeftAndImageWarterMarkTopRight = (UMSocialStringWarterMarkBottomLeft | UMSocialImageWarterMarkTopRight),//水印字符串左下,水印图片右上
|
||||
UMSocialStringWarterMarkBottomLeftAndImageWarterMarkBottomLeft = (UMSocialStringWarterMarkBottomLeft | UMSocialImageWarterMarkBottomLeft),//水印字符串左下,水印图片左下
|
||||
UMSocialStringWarterMarkBottomLeftAndImageWarterMarkBottomRight = (UMSocialStringWarterMarkBottomLeft | UMSocialImageWarterMarkBottomRight),//水印字符串左下,水印图片右下
|
||||
|
||||
UMSocialStringWarterMarkBottomRightAndImageWarterMarkTopLeft = (UMSocialStringWarterMarkBottomRight | UMSocialImageWarterMarkTopLeft),//水印字符串右下,水印图片左上
|
||||
UMSocialStringWarterMarkBottomRightAndImageWarterMarkTopRight = (UMSocialStringWarterMarkBottomRight | UMSocialImageWarterMarkTopRight),//水印字符串右下,水印图片右上
|
||||
UMSocialStringWarterMarkBottomRightAndImageWarterMarkBottomLeft = (UMSocialStringWarterMarkBottomRight | UMSocialImageWarterMarkBottomLeft),//水印字符串右下,水印图片左下
|
||||
UMSocialStringWarterMarkBottomRightAndImageWarterMarkBottomRight = (UMSocialStringWarterMarkBottomRight | UMSocialImageWarterMarkBottomRight),//水印字符串右下,水印图片右下
|
||||
|
||||
/************************************************************************
|
||||
以下的枚举变量,目前并没有用---end
|
||||
*************************************************************************/
|
||||
};
|
||||
|
||||
extern UMSocialWarterMarkPositon getStringWarterMarkPostion(UMSocialStringAndImageWarterMarkPositon stringAndImageWarterMarkPositon);
|
||||
extern UMSocialWarterMarkPositon getImageWarterMarkPostion(UMSocialStringAndImageWarterMarkPositon stringAndImageWarterMarkPositon);
|
||||
extern UMSocialWarterMarkPositon getRelatedWarterMarkPostion(UMSocialStringAndImageWarterMarkPositon stringAndImageWarterMarkPositon);
|
||||
|
||||
|
||||
/**
|
||||
* 水印配置类
|
||||
* 用户可以设置水印的配置类,目前只是提供图片水印
|
||||
*
|
||||
* method1:
|
||||
* 用户可以通过默认的配置类来配置水印
|
||||
* 代码如下:
|
||||
UMSocialWarterMarkConfig* warterMarkConfig = [UMSocialWarterMarkConfig defaultWarterMarkConfig];
|
||||
*
|
||||
* method2:
|
||||
* 用户可以通过创建自己的配置类来配置水印
|
||||
* 代码如下:
|
||||
//创建UMSocialImageWarterMarkConfig
|
||||
UMSocialImageWarterMarkConfig* imageWarterMarkConfig = [[UMSocialImageWarterMarkConfig alloc] init];
|
||||
//配置imageWarterMarkConfig的参数
|
||||
//...TODO
|
||||
//创建UMSocialWarterMarkConfig
|
||||
UMSocialWarterMarkConfig* warterMarkConfig = [[UMSocialWarterMarkConfig alloc] init];
|
||||
//配置warterMarkConfig的参数
|
||||
//...TODO
|
||||
//设置配置类
|
||||
[warterMarkConfig setUserDefinedImageWarterMarkConfig:imageWarterMarkConfig];
|
||||
*
|
||||
*
|
||||
*/
|
||||
@interface UMSocialWarterMarkConfig : NSObject<NSCopying>
|
||||
|
||||
/**
|
||||
* 默认配置类
|
||||
*
|
||||
* @return 默认配置类
|
||||
*/
|
||||
+(UMSocialWarterMarkConfig*)defaultWarterMarkConfig;
|
||||
|
||||
|
||||
@property(nonatomic,readonly,strong)UMSocialStringWarterMarkConfig* stringWarterMarkConfig;//字符串配置类对象
|
||||
@property(nonatomic,readonly,strong)UMSocialImageWarterMarkConfig* imageWarterMarkConfig;//图片配置类对象
|
||||
|
||||
/**
|
||||
* 字符串和图片的位置
|
||||
* 默认是defaultWarterMarkConfig的配置为文字和图片右下角,图片在前文字在后
|
||||
*/
|
||||
@property(nonatomic,readwrite,assign)UMSocialStringAndImageWarterMarkPositon stringAndImageWarterMarkPositon;//字符串和图片的位置
|
||||
@property(nonatomic,readwrite,assign)CGFloat spaceBetweenStringWarterMarkAndImageWarterMark;//字符水印和图片水印的间距
|
||||
|
||||
/**
|
||||
* 设置用户自定义的配置类
|
||||
*
|
||||
* @param imageWarterMarkConfig 图片配置类对象
|
||||
*/
|
||||
-(void)setUserDefinedImageWarterMarkConfig:(UMSocialImageWarterMarkConfig*)imageWarterMarkConfig;
|
||||
|
||||
@end
|
||||
|
||||
|
||||
/**
|
||||
* 字符水印配置类
|
||||
* 目前此配置类没有使用
|
||||
*/
|
||||
@interface UMSocialStringWarterMarkConfig : NSObject<NSCopying>
|
||||
|
||||
/**
|
||||
* 默认配置类
|
||||
*
|
||||
* @return 默认配置类
|
||||
*/
|
||||
+(UMSocialStringWarterMarkConfig*)defaultStringWarterMarkConfig;
|
||||
|
||||
//检查参数是否有效
|
||||
-(BOOL)checkValid;
|
||||
|
||||
@property(nonatomic,readwrite,strong)NSAttributedString* warterMarkAttributedString;//水印字符串
|
||||
@property(nonatomic,readwrite,assign)NSUInteger warterMarkStringLimit;//水印字符串的字数限制
|
||||
@property(nonatomic,readwrite,strong)UIColor* warterMarkStringColor;//水印字符串的颜色(要想保证色值半透明,可以创建半透明的颜色对象)
|
||||
@property(nonatomic,readwrite,strong)UIFont* warterMarkStringFont;//水印字符串的字体
|
||||
|
||||
/**
|
||||
* 靠近水平边的边距
|
||||
* 与UMSocialWarterMarkPositon的停靠位置有关,
|
||||
如:为UMSocialStringWarterMarkBottomRight时,paddingToHorizontalParentBorder代表与父窗口的右边间隙.
|
||||
如:UMSocialStringWarterMarkTopLeft时,paddingToHorizontalParentBorder代表与父窗口的左边间隙.
|
||||
*/
|
||||
@property(nonatomic,readwrite,assign)CGFloat paddingToHorizontalParentBorder;//靠近水平边的边距
|
||||
|
||||
/**
|
||||
* 靠近垂直边的边距
|
||||
* 与UMSocialWarterMarkPositon的停靠位置有关,
|
||||
如:为UMSocialStringWarterMarkBottomRight时,paddingToHorizontalParentBorder代表与父窗口的下边的间隙.
|
||||
如:UMSocialStringWarterMarkTopLeft时,paddingToHorizontalParentBorder代表与父窗口的上边间隙.
|
||||
*/
|
||||
@property(nonatomic,readwrite,assign)CGFloat paddingToVerticalParentBorder;//靠近垂直边的边距
|
||||
|
||||
@property(nonatomic,readonly,assign)CGAffineTransform warterMarkStringTransform;//水印字符串的矩阵
|
||||
|
||||
@end
|
||||
|
||||
/**
|
||||
* 图片配置类
|
||||
*/
|
||||
@interface UMSocialImageWarterMarkConfig : NSObject<NSCopying>
|
||||
|
||||
/**
|
||||
* 默认配置类
|
||||
*
|
||||
* @return 默认配置类
|
||||
*/
|
||||
+(UMSocialImageWarterMarkConfig*)defaultImageWarterMarkConfig;
|
||||
|
||||
//检查参数是否有效
|
||||
-(BOOL)checkValid;
|
||||
|
||||
@property(nonatomic,readwrite,strong)UIImage* warterMarkImage;//水印图片
|
||||
@property(nonatomic,readwrite,assign)CGFloat warterMarkImageScale;//水印图片相对父图片的缩放因素(0-1之间)
|
||||
@property(nonatomic,readwrite,assign)CGFloat warterMarkImageAlpha;//水印图片的Alpha混合值
|
||||
|
||||
/**
|
||||
* 靠近水平边的边距
|
||||
* 与UMSocialWarterMarkPositon的停靠位置有关,
|
||||
如:为UMSocialImageWarterMarkBottomRight时,paddingToHorizontalParentBorder代表与父窗口的右边间隙.
|
||||
如:UMSocialImageWarterMarkTopLeft时,paddingToHorizontalParentBorder代表与父窗口的左边间隙.
|
||||
*/
|
||||
@property(nonatomic,readwrite,assign)CGFloat paddingToHorizontalParentBorder;//靠近水平边的边距
|
||||
|
||||
/**
|
||||
* 靠近垂直边的边距
|
||||
* 与UMSocialWarterMarkPositon的停靠位置有关,
|
||||
如:为UMSocialImageWarterMarkBottomRight时,paddingToHorizontalParentBorder代表与父窗口的下边间隙.
|
||||
如:UMSocialImageWarterMarkTopLeft时,paddingToHorizontalParentBorder代表与父窗口的上边间隙.
|
||||
*/
|
||||
@property(nonatomic,readwrite,assign)CGFloat paddingToVerticalParentBorder;//靠近垂直边的边距
|
||||
|
||||
@property(nonatomic,readonly,assign)CGAffineTransform warterMarkImageTransform;//水印图片的矩阵
|
||||
|
||||
@end
|
||||
@@ -0,0 +1,61 @@
|
||||
//
|
||||
// UMSociallogMacros.h
|
||||
// UMSocialCore
|
||||
//
|
||||
// Created by 张军华 on 16/9/7.
|
||||
// Copyright © 2016年 张军华. All rights reserved.
|
||||
//
|
||||
|
||||
#import <Foundation/Foundation.h>
|
||||
|
||||
|
||||
/**
|
||||
* 设置全局的日志等级
|
||||
*
|
||||
* @param levelString 日志分级字符串 @see UMSocialLogClosedString,UMSocialLogErrorString,UMSocialLogWarnString,UMSocialLogInfoString,UMSocialLogDebugString,UMSocialLogVerboseString
|
||||
* @discuss 普通用户可以设置UMSocialLogClosedString,UMSocialLogErrorString,UMSocialLogWarnString,UMSocialLogInfoString,UMSocialLogDebugString的字符串,如果设置UMSocialLogVerboseString的时候,如果不是本库的开发者,是降低其等级到UMSocialLogDebugString
|
||||
*/
|
||||
FOUNDATION_EXPORT void setGlobalLogLevelString(NSString* levelString);
|
||||
FOUNDATION_EXPORT NSString* getGlobalLogLevelString();
|
||||
|
||||
FOUNDATION_EXPORT NSString* const UMSocialLogClosedLevelString;
|
||||
FOUNDATION_EXPORT NSString* const UMSocialLogErrorLevelString;
|
||||
FOUNDATION_EXPORT NSString* const UMSocialLogWarnLevelString;
|
||||
FOUNDATION_EXPORT NSString* const UMSocialLogInfoLevelString;
|
||||
FOUNDATION_EXPORT NSString* const UMSocialLogDebugLevelString;
|
||||
FOUNDATION_EXPORT NSString* const UMSocialLogVerboseLevelString;
|
||||
|
||||
|
||||
/**
|
||||
* 根据等级打印日志
|
||||
*
|
||||
* @param flagString 控制打印分级的标志字符串
|
||||
* @see below UMSocialLogClosedFlagString...and so on
|
||||
* @param file 打印日志的文件
|
||||
* @param function 打印日志的函数
|
||||
* @param line 打印的日志的行数
|
||||
* @param format 需要打印的日志格式内容
|
||||
* @param ... 可变参数
|
||||
* @dicuss 本库不需要直接调用,可以用简易函数宏 @see UMSocialLogError,UMSocialLogWarn,UMSocialLogInfo,UMSocialLogDebug
|
||||
*/
|
||||
FOUNDATION_EXPORT void UMSocialLog(NSString* flagString,const char* file,const char* function,NSUInteger line,NSString *format, ...) NS_FORMAT_FUNCTION(5,6);
|
||||
|
||||
FOUNDATION_EXPORT NSString* const UMSocialLogErrorFlagString;
|
||||
FOUNDATION_EXPORT NSString* const UMSocialLogWarnFlagString;
|
||||
FOUNDATION_EXPORT NSString* const UMSocialLogInfoFlagString;
|
||||
FOUNDATION_EXPORT NSString* const UMSocialLogDebugFlagString;
|
||||
FOUNDATION_EXPORT NSString* const UMSocialLogVerboseFlagString;
|
||||
|
||||
//简易函数类似于系统的NSLog函数,线程安全
|
||||
#define UMSocialLogError(format, ...) UMSocialLog(UMSocialLogErrorFlagString,__FILE__,__PRETTY_FUNCTION__,__LINE__,format,##__VA_ARGS__)
|
||||
#define UMSocialLogWarn(format, ...) UMSocialLog(UMSocialLogWarnFlagString,__FILE__,__PRETTY_FUNCTION__,__LINE__,format,##__VA_ARGS__)
|
||||
#define UMSocialLogInfo(format, ...) UMSocialLog(UMSocialLogInfoFlagString,__FILE__,__PRETTY_FUNCTION__,__LINE__,format,##__VA_ARGS__)
|
||||
#define UMSocialLogDebug(format, ...) UMSocialLog(UMSocialLogDebugFlagString,__FILE__,__PRETTY_FUNCTION__,__LINE__,format,##__VA_ARGS__)
|
||||
#define UMSocialLogVerbose(format, ...) UMSocialLog(UMSocialLogVerboseFlagString,__FILE__,__PRETTY_FUNCTION__,__LINE__,format,##__VA_ARGS__)
|
||||
|
||||
|
||||
//日志国际化的相关的函数和宏
|
||||
FOUNDATION_EXPORT NSString* UMSocialLogWithLocalizedKey(NSString* key);
|
||||
#define UMSocialLogLocalizedString(key) UMSocialLogWithLocalizedKey(key)
|
||||
|
||||
|
||||
Binary file not shown.
Binary file not shown.
@@ -0,0 +1,26 @@
|
||||
|
||||
|
||||
#import <Foundation/Foundation.h>
|
||||
#import "UMSocialTaskConfig.h"
|
||||
|
||||
|
||||
@interface UMSocialHttpFactory : NSObject
|
||||
|
||||
/**
|
||||
* 创建一个NSMutableURLRequest的对象
|
||||
*
|
||||
* @param method @see UMSocialHttpMethodType
|
||||
* @param path base path 如: http://www.umeng.com
|
||||
* @param pathParameters 加入到path后面的键值对
|
||||
* @param bodyParameters 加入到body的键值对
|
||||
* @param headers 加入的http的header的键值对
|
||||
*
|
||||
* @return @see NSMutableURLRequest
|
||||
*/
|
||||
+ (NSMutableURLRequest *)makeRequestWithMethod:(UMSocialHttpMethodType)method
|
||||
path:(NSString *)path
|
||||
pathParameters:(NSDictionary *)pathParameters
|
||||
bodyParameters:(NSDictionary *)bodyParameters
|
||||
headers:(NSDictionary *)headers;
|
||||
|
||||
@end
|
||||
@@ -0,0 +1,23 @@
|
||||
//
|
||||
// UMSocialNetwork.h
|
||||
// UMSocialNetwork
|
||||
//
|
||||
// Created by 张军华 on 16/8/29.
|
||||
// Copyright © 2016年 张军华. All rights reserved.
|
||||
//
|
||||
|
||||
#import <UIKit/UIKit.h>
|
||||
|
||||
//! Project version number for UMSocialNetwork.
|
||||
FOUNDATION_EXPORT double UMSocialNetworkVersionNumber;
|
||||
|
||||
//! Project version string for UMSocialNetwork.
|
||||
FOUNDATION_EXPORT const unsigned char UMSocialNetworkVersionString[];
|
||||
|
||||
// In this header, you should import all the public headers of your framework using statements like #import <UMSocialNetwork/PublicHeader.h>
|
||||
|
||||
#import <UMSocialNetwork/UMSocialHttpFactory.h>
|
||||
#import <UMSocialNetwork/UMSocialTaskConfig.h>
|
||||
|
||||
#import <UMSocialNetwork/UMSocialTask.h>
|
||||
#import <UMSocialNetwork/UMSocialTaskManager.h>
|
||||
@@ -0,0 +1,65 @@
|
||||
//
|
||||
// UMSocialTask.h
|
||||
// UMSocialSDK
|
||||
//
|
||||
// Created by 张军华 on 16/8/11.
|
||||
// Copyright © 2016年 dongjianxiong. All rights reserved.
|
||||
//
|
||||
|
||||
#import <Foundation/Foundation.h>
|
||||
|
||||
#import "UMSocialTaskConfig.h"
|
||||
|
||||
@class UMSocialTaskOperation;
|
||||
@class UMSocialTask;
|
||||
|
||||
NS_ASSUME_NONNULL_BEGIN
|
||||
/**
|
||||
* task的回调代理
|
||||
*/
|
||||
@protocol UMSocialTaskDelegate <NSObject>
|
||||
|
||||
-(void)handleTask:(UMSocialTask*)task withError:(NSError*) error;
|
||||
|
||||
@end
|
||||
|
||||
/**
|
||||
* 所有网络请求的基本任务类
|
||||
*/
|
||||
@interface UMSocialTask : NSObject<NSCopying,NSCoding>
|
||||
|
||||
@property(nonatomic,assign)UMSocialHttpMethodType httpMethodType; //http请求类型
|
||||
@property(nonatomic,copy)NSString* hostUrlPath;//http请求的host
|
||||
@property(nonatomic,copy)NSString* relatedUrlPath; //http请求的相对url
|
||||
@property(nonatomic,strong)NSDictionary* paramDic; //post或者get请求需要的字典
|
||||
@property(nonatomic,copy)UMSocialTaskCompletion completion;//回调
|
||||
|
||||
@property(nonatomic,readonly,assign)NSInteger taskIdentifier; //唯一id
|
||||
@property(nonatomic,readonly,assign)NSInteger retryCount;//retryCount
|
||||
@property(nonatomic,readonly,assign)UMSoicalTaskState taskState;//task的状态
|
||||
|
||||
|
||||
#pragma mark - override
|
||||
/**
|
||||
* 创建的NSURLRequest
|
||||
*
|
||||
* @return @see NSURLRequest
|
||||
* @discuss 用户可以重载此函数,自己实现makeURLRequest的逻辑,
|
||||
* 如果不重载此函数会用
|
||||
* 默认会用httpMethodType,relatedUrlPath,paramDic来产生对应的NSURLRequest
|
||||
*/
|
||||
-(NSURLRequest*)makeURLRequest;
|
||||
|
||||
#pragma mark - private
|
||||
/**
|
||||
* 在指定的operationTaskQueue的执行对应task的任务
|
||||
*
|
||||
* @param operationTaskQueue @see NSOperationQueue
|
||||
* @discuss 本函数不需要直接调用,UMSocialNetworkCore会自动调用
|
||||
* @see UMSocialTaskManager -(void)addAndExcuteSocialTask:(UMSocialTask*)task
|
||||
*/
|
||||
-(void)executeTaskWithOperationQueue:(NSOperationQueue*)operationTaskQueue;
|
||||
|
||||
@end
|
||||
|
||||
NS_ASSUME_NONNULL_END
|
||||
@@ -0,0 +1,59 @@
|
||||
//
|
||||
// UMSocialTaskConfig.h
|
||||
// UMSocialSDK
|
||||
//
|
||||
// Created by 张军华 on 16/8/12.
|
||||
// Copyright © 2016年 dongjianxiong. All rights reserved.
|
||||
//
|
||||
|
||||
#import <Foundation/Foundation.h>
|
||||
|
||||
//task的网络请求
|
||||
typedef NS_ENUM(NSInteger, UMSocialHttpMethodType)
|
||||
{
|
||||
UMSocialHttpMethodTypeGet,
|
||||
UMSocialHttpMethodTypePut,
|
||||
UMSocialHttpMethodTypePost,
|
||||
UMSocialHttpMethodTypeMultipartPost,
|
||||
UMSocialHttpMethodTypeMultipartPut,
|
||||
UMSocialHttpMethodTypeDelete
|
||||
};
|
||||
|
||||
//task的状态
|
||||
typedef NS_ENUM(NSInteger, UMSoicalTaskState)
|
||||
{
|
||||
UMSoicalTaskState_Paused = -1,//目前没用
|
||||
UMSoicalTaskState_Ready = 1,
|
||||
UMSoicalTaskState_Executing = 2,
|
||||
UMSoicalTaskState_ExecutingDependency = 3,
|
||||
UMSoicalTaskState_Finished = 4,
|
||||
UMSoicalTaskState_Canceled = 5,//目前没有用
|
||||
UMSoicalTaskState_Error = 6,
|
||||
};
|
||||
|
||||
|
||||
/**
|
||||
* task完成的回调
|
||||
*
|
||||
* @param result 返回的数据
|
||||
* @param error @see NSError
|
||||
*/
|
||||
typedef void (^UMSocialTaskCompletion)(id result,NSError* error);
|
||||
|
||||
|
||||
/**
|
||||
* task error
|
||||
*/
|
||||
extern NSString* const UMSoicalTaskErrorDomain;
|
||||
extern NSString* const UMSoicalTaskErrorUserInfoKey;
|
||||
typedef NS_ENUM(NSInteger, UMSoicalTaskErrorType)
|
||||
{
|
||||
UMSoicalTaskErrorType_UnKnown,
|
||||
UMSoicalTaskErrorType_ParameterError,//参数错误 例如没有设置OperationQueue等
|
||||
UMSoicalTaskErrorType_CFNetworkErrors, //http的请求的错误 @see CFNetworkErrors,该错误放在UMSoicalTaskErrorUserInfoKey为key的字典中
|
||||
UMSoicalTaskErrorType_UMSoicalServerCode,//服务器的错误,根据当前UMSocial服务器的错误码文档来区分
|
||||
};
|
||||
|
||||
extern NSError* errorWithSoicalTaskError(UMSoicalTaskErrorType taskErrorType,id userInfo);
|
||||
|
||||
|
||||
@@ -0,0 +1,32 @@
|
||||
//
|
||||
// UMSocialTaskManager.h
|
||||
// UMSocialSDK
|
||||
//
|
||||
// Created by 张军华 on 16/8/12.
|
||||
// Copyright © 2016年 dongjianxiong. All rights reserved.
|
||||
//
|
||||
|
||||
#import <Foundation/Foundation.h>
|
||||
|
||||
@class UMSocialTask;
|
||||
@class UMSocialTaskOperation;
|
||||
|
||||
NS_ASSUME_NONNULL_BEGIN
|
||||
|
||||
/**
|
||||
* 所有task的管理类
|
||||
*/
|
||||
@interface UMSocialTaskManager : NSObject
|
||||
|
||||
+(instancetype)shareManager;
|
||||
|
||||
/**
|
||||
* 创建好task直接执行task
|
||||
*
|
||||
* @param task @see UMSocialTask
|
||||
*/
|
||||
-(void)addAndExcuteSocialTask:(UMSocialTask*)task;
|
||||
|
||||
@end
|
||||
|
||||
NS_ASSUME_NONNULL_END
|
||||
Binary file not shown.
Binary file not shown.
+77
@@ -0,0 +1,77 @@
|
||||
/* A single strings file, whose title is specified in your preferences schema. The strings files provide the localized content to display to the user for each of your preferences. */
|
||||
|
||||
|
||||
//core模块的平台相关
|
||||
"core_platform_error_1" = "创建相应平台失败:%@\n请检查:\n1、平台类已实现<UMSocialPlatformProvider>协议\n2、此平台枚举值在正常枚举区间内,参考UMSocialPlatformConfig.h —> UMSocialPlatformType枚举。 参考链接检查 https://at.umeng.com/mKfWve?cid=2723";
|
||||
"core_platform_error_2" = "创建平台失败:%@ 参考链接检查 https://at.umeng.com/mKfWve?cid=2723";
|
||||
|
||||
"core_platform_warn_1" = "平台检查失败:%@,请检查是否实现 @selector(socialPlatformType),参考UMSocialPlatformConfig.h头文件说明。 参考链接检查 https://at.umeng.com/mKfWve?cid=2723";
|
||||
"core_platform_warn_2" = "平台异常:%@ > 未实现相应方法:@selector(umSocial_setAppKey:withAppSecret:withRedirectURL:)";
|
||||
|
||||
//core模块认证相关
|
||||
"core_auth_error_1" = "未发现平台相应类:%@\n请检查:\n1、平台类已实现<UMSocialPlatformProvider>协议\n2、此平台枚举值在正常枚举区间内,参考UMSocialPlatformConfig.h —> UMSocialPlatformType枚举。 参考链接检查 https://at.umeng.com/mKfWve?cid=2723";
|
||||
"core_auth_error_2" = "未实现<UMSocialPlatformProvider>协议方法@selector(umSocial_AuthorizeWithUserInfo:withViewController:withCompletionHandler:):%@";
|
||||
"core_auth_error_3" = "未实现<UMSocialPlatformProvider>协议方法@selector(umSocial_cancelAuthWithCompletionHandler:):%@";
|
||||
"core_auth_error_4" = "未发现平台相应类:%@\n请检查:\n1、平台类已实现<UMSocialPlatformProvider>协议\n2、此平台枚举值在正常枚举区间内,参考UMSocialPlatformConfig.h —> UMSocialPlatformType枚举。 参考链接检查 https://at.umeng.com/mKfWve?cid=2723";
|
||||
"core_auth_error_5" = "未实现<UMSocialPlatformProvider>协议方法@selector(umSocial_AuthorizeWithUserInfo:withCompletionHandler:):%@";
|
||||
"core_auth_error_6" = "平台%@分享时,传入的参数currentViewController应该是nil或者是继承UIViewController的子类";
|
||||
|
||||
//core模块获得用户资料相关
|
||||
"core_getuserinfo_error_1" = "未发现平台相应类:%@\n请检查:\n1、平台类已实现<UMSocialPlatformProvider>协议\n2、此平台枚举值在正常枚举区间内,参考UMSocialPlatformConfig.h —> UMSocialPlatformType枚举。 参考链接检查 https://at.umeng.com/mKfWve?cid=2723";
|
||||
"core_getuserinfo_error_2" = "未实现<UMSocialPlatformProvider>协议方法@selector(umSocial_RequestForUserProfileWithViewController:completion:):%@";
|
||||
"core_getuserinfo_error_3" = "平台%@分享时,传入的参数currentViewController应该是nil或者是继承UIViewController的子类";
|
||||
|
||||
//core模块分享相关
|
||||
"core_share_error_1" = "传入平台('%@')的UMSocialMessageObject类型参数messageObject的数据类型无效,请检查\n1.messageObject是否空。\n2.messageObject.text和messageObject.shareObject是否同时为空";
|
||||
"core_share_error_2" = "未发现平台相应类:%@\n请检查:\n1、平台类已实现<UMSocialPlatformProvider>协议\n2、此平台枚举值在正常枚举区间内,参考UMSocialPlatformConfig.h —> UMSocialPlatformType枚举。 参考链接检查 https://at.umeng.com/mKfWve?cid=2723";
|
||||
"core_share_error_3" = "未实现<UMSocialPlatformProvider>协议方法@selector(umSocial_ShareWithObject:withCompletionHandler:):%@";
|
||||
"core_share_error_4" = "未发现平台相应类:%@\n请检查:\n1、平台类已实现<UMSocialPlatformProvider>协议\n2、此平台枚举值在正常枚举区间内,参考UMSocialPlatformConfig.h —> UMSocialPlatformType枚举。 参考链接检查 https://at.umeng.com/mKfWve?cid=2723";
|
||||
"core_share_error_5" = "未实现<UMSocialPlatformProvider>协议方法@selector(umSocial_ShareWithObject:withViewController:withCompletionHandler:):%@";
|
||||
"core_share_error_6" = "平台%@分享时,传入的参数currentViewController应该是nil或者是继承UIViewController的子类";
|
||||
|
||||
|
||||
//wechat
|
||||
"wechat_auth_error_1" = "请检查是否设置了微信的URLSchema。参考链接检查 https://at.umeng.com/O1Lryy?cid=2723";
|
||||
|
||||
"wechat_getuserinfo_error_1" = "请检查是否设置了微信的URLSchema。参考链接检查 https://at.umeng.com/O1Lryy?cid=2723";
|
||||
|
||||
|
||||
"wechat_share_error_1" = "请检查是否设置了微信的URLSchema。参考链接检查 https://at.umeng.com/O1Lryy?cid=2723";
|
||||
"wechat_share_error_2" = "分享前,请检查微信是否安装。参考链接检查 https://at.umeng.com/1DCO5D?cid=2723";
|
||||
"wechat_share_error_3" = "当前的sdk不支持微信的OpenAPI,请更新最新的微信SDK。";
|
||||
"wechat_share_error_4" = "微信分享不支持的分享类型,微信的分享类型为:文本,图片,网络链接,音乐链接,视频链接,Gif表情,文件。";
|
||||
"wechat_share_error_5" = "下载UMShareImageObject的shareImage失败,请检查图片参数是否正确。(本地图片,请检查是否赋值,网络图片请检查是否为https,防止下载失败)。";
|
||||
|
||||
"wechat_shareWebPage_warn_1" = "微信分享网页链接的时候,提供的缩略图为错误的下载url或者下载失败,具体的原因如下:%@";
|
||||
"wechat_shareWebPage_warn_2" = "微信分享网页链接的时候,提供的缩略图为错误的下载url或者下载失败。";
|
||||
|
||||
"wechat_shareImage_warn_1" = "微信分享图片的时候,提供的缩略图为为错误的下载url或者下载失败,具体的原因如下:%@";
|
||||
"wechat_shareImage_warn_2" = "微信分享图片的时候,提供的缩略图为为错误的下载url或者下载失败。";
|
||||
|
||||
//qq
|
||||
"qq_auth_error_1" = "请检查是否设置了QQ的URLSchema。参考链接检查 https://at.umeng.com/aeuC0D?cid=2723";
|
||||
"qq_auth_error_2" = "授权失败,点击qq授权没有跳转,请查看是否设置了appid,查看初始化函数:[[UMSocialManager defaultManager] setPlaform:UMSocialPlatformType_QQ appKey:??? appSecret:nil redirectURL:???];";
|
||||
|
||||
"qq_getuserinfo_error_1" = "请检查是否设置了QQ的URLSchema。 参考链接检查 https://at.umeng.com/aeuC0D?cid=2723";
|
||||
"qq_getuserinfo_info_1" = "提示获得用户信息的时候是否清除缓存,可以设置UMSocialGlobal的isClearCacheWhenGetUserInfo变量来改变,默认是每次都清除用户的授权缓存";
|
||||
|
||||
|
||||
"qq_share_error_1" = "请检查是否设置了QQ的URLSchema。 参考链接检查 https://at.umeng.com/aeuC0D?cid=2723";
|
||||
"qq_share_error_2" = "请检查是否安装了QQ。参考链接检查 https://at.umeng.com/1nu05b?cid=2723";
|
||||
"qq_share_error_3" = "请检查当前的SDK是否支持API调用,如果不能请升级SDK或者QQ的版本。";
|
||||
"qq_share_error_4" = "QQ分享不支持的分享类型,QQ的分享类型为:文本,图片,网络链接,音乐链接,视频链接。";
|
||||
|
||||
"qq_shareWebPage_warn_1" = "QQ分享网页链接的时候,提供的缩略图为错误的下载url或者下载失败,具体的原因如下:%@";
|
||||
"qq_shareWebPage_warn_2" = "QQ分享网页链接的时候,提供的缩略图为错误的下载url或者下载失败";
|
||||
//sina
|
||||
"sina_auth_error_1" = "请检查是否设置了sina的URLSchema。 参考链接检查 https://at.umeng.com/ju49Du?cid=2723";
|
||||
|
||||
"sina_getuserinfo_error_1" = "请检查是否设置了sina的URLSchema。 参考链接检查 https://at.umeng.com/ju49Du?cid=2723";
|
||||
|
||||
"sina_share_error_1" = "请检查是否设置了sina的URLSchema。 参考链接检查 https://at.umeng.com/ju49Du?cid=2723";
|
||||
"sina_share_error_2" = "新浪分享不支持的分享类型,新浪的分享类型为:文本,图片,图文,网络链接,音乐链接,视频链接。";
|
||||
"sina_shareWebPage_error_1"="新浪分享webpage类型(需要强制加入缩略图)错误,具体原因如下:%@";
|
||||
"sina_shareText_Info_1" = "新浪文本分享最大的字是140个,如果超过就不能分享成功,sdk默认开启截断功能,如果需要停止截断需要在调用分享前加入代码[UMSocialGlobal shareInstance].isTruncateShareText=NO";
|
||||
|
||||
//facebook
|
||||
"facebook_share_error_1" = "facebook分享不支持的分享类型,facebook的分享类型为:文本,图片,网络链接,音乐链接,视频链接。(新版的facebook采用的是对话框的形式分享的,如果设置文本的话需要有publish_actions权限调用OpenAPI)";
|
||||
+77
@@ -0,0 +1,77 @@
|
||||
/* A single strings file, whose title is specified in your preferences schema. The strings files provide the localized content to display to the user for each of your preferences. */
|
||||
|
||||
|
||||
//core模块的平台相关
|
||||
"core_platform_error_1" = "创建相应平台失败:%@\n请检查:\n1、平台类已实现<UMSocialPlatformProvider>协议\n2、此平台枚举值在正常枚举区间内,参考UMSocialPlatformConfig.h —> UMSocialPlatformType枚举。 参考链接检查 https://at.umeng.com/mKfWve?cid=2723";
|
||||
"core_platform_error_2" = "创建平台失败:%@ 参考链接检查 https://at.umeng.com/mKfWve?cid=2723";
|
||||
|
||||
"core_platform_warn_1" = "平台检查失败:%@,请检查是否实现 @selector(socialPlatformType),参考UMSocialPlatformConfig.h头文件说明。 参考链接检查 https://at.umeng.com/mKfWve?cid=2723";
|
||||
"core_platform_warn_2" = "平台异常:%@ > 未实现相应方法:@selector(umSocial_setAppKey:withAppSecret:withRedirectURL:)";
|
||||
|
||||
//core模块认证相关
|
||||
"core_auth_error_1" = "未发现平台相应类:%@\n请检查:\n1、平台类已实现<UMSocialPlatformProvider>协议\n2、此平台枚举值在正常枚举区间内,参考UMSocialPlatformConfig.h —> UMSocialPlatformType枚举。 参考链接检查 https://at.umeng.com/mKfWve?cid=2723";
|
||||
"core_auth_error_2" = "未实现<UMSocialPlatformProvider>协议方法@selector(umSocial_AuthorizeWithUserInfo:withViewController:withCompletionHandler:):%@";
|
||||
"core_auth_error_3" = "未实现<UMSocialPlatformProvider>协议方法@selector(umSocial_cancelAuthWithCompletionHandler:):%@";
|
||||
"core_auth_error_4" = "未发现平台相应类:%@\n请检查:\n1、平台类已实现<UMSocialPlatformProvider>协议\n2、此平台枚举值在正常枚举区间内,参考UMSocialPlatformConfig.h —> UMSocialPlatformType枚举。 参考链接检查 https://at.umeng.com/mKfWve?cid=2723";
|
||||
"core_auth_error_5" = "未实现<UMSocialPlatformProvider>协议方法@selector(umSocial_AuthorizeWithUserInfo:withCompletionHandler:):%@";
|
||||
"core_auth_error_6" = "平台%@分享时,传入的参数currentViewController应该是nil或者是继承UIViewController的子类";
|
||||
|
||||
//core模块获得用户资料相关
|
||||
"core_getuserinfo_error_1" = "未发现平台相应类:%@\n请检查:\n1、平台类已实现<UMSocialPlatformProvider>协议\n2、此平台枚举值在正常枚举区间内,参考UMSocialPlatformConfig.h —> UMSocialPlatformType枚举。 参考链接检查 https://at.umeng.com/mKfWve?cid=2723";
|
||||
"core_getuserinfo_error_2" = "未实现<UMSocialPlatformProvider>协议方法@selector(umSocial_RequestForUserProfileWithViewController:completion:):%@";
|
||||
"core_getuserinfo_error_3" = "平台%@分享时,传入的参数currentViewController应该是nil或者是继承UIViewController的子类";
|
||||
|
||||
//core模块分享相关
|
||||
"core_share_error_1" = "传入平台('%@')的UMSocialMessageObject类型参数messageObject的数据类型无效,请检查\n1.messageObject是否空。\n2.messageObject.text和messageObject.shareObject是否同时为空";
|
||||
"core_share_error_2" = "未发现平台相应类:%@\n请检查:\n1、平台类已实现<UMSocialPlatformProvider>协议\n2、此平台枚举值在正常枚举区间内,参考UMSocialPlatformConfig.h —> UMSocialPlatformType枚举。 参考链接检查 https://at.umeng.com/mKfWve?cid=2723";
|
||||
"core_share_error_3" = "未实现<UMSocialPlatformProvider>协议方法@selector(umSocial_ShareWithObject:withCompletionHandler:):%@";
|
||||
"core_share_error_4" = "未发现平台相应类:%@\n请检查:\n1、平台类已实现<UMSocialPlatformProvider>协议\n2、此平台枚举值在正常枚举区间内,参考UMSocialPlatformConfig.h —> UMSocialPlatformType枚举。 参考链接检查 https://at.umeng.com/mKfWve?cid=2723";
|
||||
"core_share_error_5" = "未实现<UMSocialPlatformProvider>协议方法@selector(umSocial_ShareWithObject:withViewController:withCompletionHandler:):%@";
|
||||
"core_share_error_6" = "平台%@分享时,传入的参数currentViewController应该是nil或者是继承UIViewController的子类";
|
||||
|
||||
|
||||
//wechat
|
||||
"wechat_auth_error_1" = "请检查是否设置了微信的URLSchema。参考链接检查 https://at.umeng.com/O1Lryy?cid=2723";
|
||||
|
||||
"wechat_getuserinfo_error_1" = "请检查是否设置了微信的URLSchema。参考链接检查 https://at.umeng.com/O1Lryy?cid=2723";
|
||||
|
||||
|
||||
"wechat_share_error_1" = "请检查是否设置了微信的URLSchema。参考链接检查 https://at.umeng.com/O1Lryy?cid=2723";
|
||||
"wechat_share_error_2" = "分享前,请检查微信是否安装。参考链接检查 https://at.umeng.com/1DCO5D?cid=2723";
|
||||
"wechat_share_error_3" = "当前的sdk不支持微信的OpenAPI,请更新最新的微信SDK。";
|
||||
"wechat_share_error_4" = "微信分享不支持的分享类型,微信的分享类型为:文本,图片,网络链接,音乐链接,视频链接,Gif表情,文件。";
|
||||
"wechat_share_error_5" = "下载UMShareImageObject的shareImage失败,请检查图片参数是否正确。(本地图片,请检查是否赋值,网络图片请检查是否为https,防止下载失败)。";
|
||||
|
||||
"wechat_shareWebPage_warn_1" = "微信分享网页链接的时候,提供的缩略图为错误的下载url或者下载失败,具体的原因如下:%@";
|
||||
"wechat_shareWebPage_warn_2" = "微信分享网页链接的时候,提供的缩略图为错误的下载url或者下载失败。";
|
||||
|
||||
"wechat_shareImage_warn_1" = "微信分享图片的时候,提供的缩略图为为错误的下载url或者下载失败,具体的原因如下:%@";
|
||||
"wechat_shareImage_warn_2" = "微信分享图片的时候,提供的缩略图为为错误的下载url或者下载失败。";
|
||||
|
||||
//qq
|
||||
"qq_auth_error_1" = "请检查是否设置了QQ的URLSchema。参考链接检查 https://at.umeng.com/aeuC0D?cid=2723";
|
||||
"qq_auth_error_2" = "授权失败,点击qq授权没有跳转,请查看是否设置了appid,查看初始化函数:[[UMSocialManager defaultManager] setPlaform:UMSocialPlatformType_QQ appKey:??? appSecret:nil redirectURL:???];";
|
||||
|
||||
"qq_getuserinfo_error_1" = "请检查是否设置了QQ的URLSchema。 参考链接检查 https://at.umeng.com/aeuC0D?cid=2723";
|
||||
"qq_getuserinfo_info_1" = "提示获得用户信息的时候是否清除缓存,可以设置UMSocialGlobal的isClearCacheWhenGetUserInfo变量来改变,默认是每次都清除用户的授权缓存";
|
||||
|
||||
|
||||
"qq_share_error_1" = "请检查是否设置了QQ的URLSchema。 参考链接检查 https://at.umeng.com/aeuC0D?cid=2723";
|
||||
"qq_share_error_2" = "请检查是否安装了QQ。参考链接检查 https://at.umeng.com/1nu05b?cid=2723";
|
||||
"qq_share_error_3" = "请检查当前的SDK是否支持API调用,如果不能请升级SDK或者QQ的版本。";
|
||||
"qq_share_error_4" = "QQ分享不支持的分享类型,QQ的分享类型为:文本,图片,网络链接,音乐链接,视频链接。";
|
||||
|
||||
"qq_shareWebPage_warn_1" = "QQ分享网页链接的时候,提供的缩略图为错误的下载url或者下载失败,具体的原因如下:%@";
|
||||
"qq_shareWebPage_warn_2" = "QQ分享网页链接的时候,提供的缩略图为错误的下载url或者下载失败";
|
||||
//sina
|
||||
"sina_auth_error_1" = "请检查是否设置了sina的URLSchema。 参考链接检查 https://at.umeng.com/ju49Du?cid=2723";
|
||||
|
||||
"sina_getuserinfo_error_1" = "请检查是否设置了sina的URLSchema。 参考链接检查 https://at.umeng.com/ju49Du?cid=2723";
|
||||
|
||||
"sina_share_error_1" = "请检查是否设置了sina的URLSchema。 参考链接检查 https://at.umeng.com/ju49Du?cid=2723";
|
||||
"sina_share_error_2" = "新浪分享不支持的分享类型,新浪的分享类型为:文本,图片,图文,网络链接,音乐链接,视频链接。";
|
||||
"sina_shareWebPage_error_1"="新浪分享webpage类型(需要强制加入缩略图)错误,具体原因如下:%@";
|
||||
"sina_shareText_Info_1" = "新浪文本分享最大的字是140个,如果超过就不能分享成功,sdk默认开启截断功能,如果需要停止截断需要在调用分享前加入代码[UMSocialGlobal shareInstance].isTruncateShareText=NO";
|
||||
|
||||
//facebook
|
||||
"facebook_share_error_1" = "facebook分享不支持的分享类型,facebook的分享类型为:文本,图片,网络链接,音乐链接,视频链接。(新版的facebook采用的是对话框的形式分享的,如果设置文本的话需要有publish_actions权限调用OpenAPI)";
|
||||
Reference in New Issue
Block a user