MOD:更新 WeiBo_SDK 为 3.4.0,但是因为 WeiBo_SDK 3.4.0 还未发布到 CocoaPods,先本地引入使用

This commit is contained in:
litang0908 2024-12-11 18:43:51 +08:00
parent 03af38b480
commit 0aaa5874e5
9 changed files with 968 additions and 9 deletions

View File

@ -0,0 +1,17 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>NSPrivacyAccessedAPITypes</key>
<array>
<dict>
<key>NSPrivacyAccessedAPIType</key>
<string>NSPrivacyAccessedAPICategoryUserDefaults</string>
<key>NSPrivacyAccessedAPITypeReasons</key>
<array>
<string>CA92.1</string>
</array>
</dict>
</array>
</dict>
</plist>

View File

@ -0,0 +1,193 @@
//
// WBHttpRequest.h
// WeiboSDK
//
// Created by DannionQiu on 14-9-18.
// Copyright (c) 2014 SINA iOS Team. All rights reserved.
//
#import <Foundation/Foundation.h>
#import <UIKit/UIKit.h>
#pragma mark - WBHttpRequest and WBHttpRequestDelegate
@class WBHttpRequest;
/**
sdk对于网络请求接口的调用响应 logOutWithToken的请求
*/
@protocol WBHttpRequestDelegate <NSObject>
/**
Http请求的响应
@param response
*/
@optional
- (void)request:(WBHttpRequest *)request didReceiveResponse:(NSURLResponse *)response;
/**
Http请求失败的响应
@param error
*/
@optional
- (void)request:(WBHttpRequest *)request didFailWithError:(NSError *)error;
/**
Http请求的网络返回
@param result
*/
@optional
- (void)request:(WBHttpRequest *)request didFinishLoadingWithResult:(NSString *)result;
/**
Http请求的网络返回
@param data
*/
@optional
- (void)request:(WBHttpRequest *)request didFinishLoadingWithDataResult:(NSData *)data;
/**
SSO授权的重定向
@param URI
*/
@optional
- (void)request:(WBHttpRequest *)request didReciveRedirectResponseWithURI:(NSURL *)redirectUrl;
@end
/**
Http请求的消息结构
*/
@interface WBHttpRequest : NSObject
{
NSURLSessionDataTask *sessionDataTask;
NSMutableData *responseData;
}
/**
URL
*/
@property (nonatomic, strong) NSString *url;
/**
"GET" "POST"
*/
@property (nonatomic, strong) NSString *httpMethod;
/**
*/
@property (nonatomic, strong) NSDictionary *params;
/**
WBHttpRequestDelegate对象SDK对于发起的接口请求的请求的响应
*/
@property (nonatomic, weak) id<WBHttpRequestDelegate> delegate;
/**
TAG
Request
*/
@property (nonatomic, strong) NSString* tag;
/**
HTTP请求接口
HTTP网络请求
@param url url地址
@param httpMethod "GET" "POST"
@param params
@param delegate WBHttpRequestDelegate对象SDK对于发起的接口请求的请求的响应
@param tag TAG,WBHttpRequest实例的tag属性返回
*/
+ (WBHttpRequest *)requestWithURL:(NSString *)url
httpMethod:(NSString *)httpMethod
params:(NSDictionary *)params
delegate:(id<WBHttpRequestDelegate>)delegate
withTag:(NSString *)tag;
/**
Open API HTTP请求接口
HTTP网络请求访open api
@param accessToken accessToken
@param url url地址
@param httpMethod "GET" "POST"
@param params
@param delegate WBHttpRequestDelegate对象SDK对于发起的接口请求的请求的响应
@param tag TAG,WBHttpRequest实例的tag属性返回
*/
+ (WBHttpRequest *)requestWithAccessToken:(NSString *)accessToken
url:(NSString *)url
httpMethod:(NSString *)httpMethod
params:(NSDictionary *)params
delegate:(id<WBHttpRequestDelegate>)delegate
withTag:(NSString *)tag;
/**
[WBHttpRequest setDelegate:nil];
使delegate的request方法有效使block的request的网络请求接口
*/
- (void)disconnect;
#pragma mark - block extension
typedef void (^WBRequestHandler)(WBHttpRequest *httpRequest,
id result,
NSError *error);
/**
Open API HTTP请求接口
HTTP网络请求访open api
@param url url地址
@param httpMethod "GET" "POST"
@param params
@param queue NSOperationQueue对象queue为nil,线[NSOperationQueue mainQueue]
@param handler block方法
*/
+ (WBHttpRequest *)requestWithURL:(NSString *)url
httpMethod:(NSString *)httpMethod
params:(NSDictionary *)params
queue:(NSOperationQueue*)queue
withCompletionHandler:(WBRequestHandler)handler;
/**
HTTP请求接口
HTTP网络请求
@param url url地址
@param httpMethod "GET" "POST"
@param params
@param queue NSOperationQueue对象queue为nil,线[NSOperationQueue mainQueue]
@param handler block方法
*/
+ (WBHttpRequest *)requestWithAccessToken:(NSString *)accessToken
url:(NSString *)url
httpMethod:(NSString *)httpMethod
params:(NSDictionary *)params
queue:(NSOperationQueue*)queue
withCompletionHandler:(WBRequestHandler)handler;
/**
线
HTTP网络请求
@param url url地址
@param httpMethod "GET" "POST"
@param params
@param handler block方法
*/
+ (WBHttpRequest *)requestWithURL:(NSString *)url
httpMethod:(NSString *)httpMethod
params:(NSDictionary *)params
withCompletionHandler:(WBRequestHandler)handler;
@end

Binary file not shown.

After

Width:  |  Height:  |  Size: 367 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 378 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.0 KiB

734
ios/Weibo_SDK/WeiboSDK.h Normal file
View File

@ -0,0 +1,734 @@
//
// WeiboSDKHeaders.h
// WeiboSDKDemo
//
// Created by Wade Cheng on 4/3/13.
// Copyright (c) 2013 SINA iOS Team. All rights reserved.
//
#import <Foundation/Foundation.h>
#import <UIKit/UIKit.h>
#import "WBHttpRequest.h"
typedef NS_ENUM(NSInteger, WeiboSDKResponseStatusCode)
{
WeiboSDKResponseStatusCodeSuccess = 0,//
WeiboSDKResponseStatusCodeUserCancel = -1,//
WeiboSDKResponseStatusCodeSentFail = -2,//
WeiboSDKResponseStatusCodeAuthDeny = -3,//
WeiboSDKResponseStatusCodeUserCancelInstall = -4,//
WeiboSDKResponseStatusCodePasteboardUnenable = -6,//
WeiboSDKResponseStatusCodeShareInSDKFailed = -8,// response UserInfo
WeiboSDKResponseStatusCodeUnsupport = -99,//
WeiboSDKResponseStatusCodeUnknown = -100,
};
@protocol WeiboSDKDelegate;
@protocol WBHttpRequestDelegate;
@class WBBaseRequest;
@class WBBaseResponse;
@class WBMessageObject;
@class WBImageObject;
@class WBBaseMediaObject;
@class WBHttpRequest;
@class PHAsset;
@class WBNewVideoObject;
@class WBSuperGroupObject;
/**
SDK接口类
*/
@interface WeiboSDK : NSObject
/**
@return YESNO
*/
+ (BOOL)isWeiboAppInstalled;
/**
@return 使YES使NO
*/
+ (BOOL)isCanShareInWeiboAPP;
/**
使SSO授权
@return 使YES使NO
*/
+ (BOOL)isCanSSOInWeiboApp;
/**
@return YESNO
*/
+ (void)openWeiboApp:(void(^_Nullable)(BOOL success))complection;
/**
itunes安装地址
@return itunes安装地址
*/
+ (NSString *_Nullable)getWeiboAppInstallUrl;
/**
getSDKVersion
sdk版本号使用 getWeiboSDKVersion
*/
+ (NSString *_Nullable)getSDKVersion;
/**
@param appKey appKey
@param universalLink Universal Link
@return YESNO
*/
+ (BOOL)registerApp:(NSString * __nonnull)appKey universalLink:(NSString * __nonnull)universalLink;
/**
URL启动第三方应用时传递的数据
application:openURL:sourceApplication:annotation:application:handleOpenURL中调用
@param url URL
@param delegate WeiboSDKDelegate对象
@see WeiboSDKDelegate
*/
+ (BOOL)handleOpenURL:(NSURL *_Nullable)url delegate:(id<WeiboSDKDelegate>_Nullable)delegate;
/*! @brief Universal Link启动App时传递的数据
*
* application:continueUserActivity:restorationHandler:
* @param userActivity API传递过来的userActivity
* @param delegate WXApiDelegate对象
* @return YESNO
*/
+ (BOOL)handleOpenUniversalLink:(NSUserActivity *_Nullable)userActivity delegate:(nullable id<WeiboSDKDelegate>)delegate;
/**
[WeiboSDKDelegate didReceiveWeiboResponse:]
@param request
@see [WeiboSDKDelegate didReceiveWeiboResponse:]
@see WBBaseResponse
@param completion 线block
*/
+ (void)sendRequest:(WBBaseRequest *_Nullable)request completion:(void (^ __nullable)(BOOL success))completion;
/**
@param response
@see WBBaseRequest
@param completion 线block
*/
+ (void)sendResponse:(WBBaseResponse *_Nullable)response completion:(void (^ __nullable)(BOOL success))completion;
/**
WeiboSDK的调试模式
WeiboSDK会在控制台输出详细的日志信息 NO
@param enabled WeiboSDK的调试模式
*/
+ (void)enableDebugMode:(BOOL)enabled;
/**
WeiboSDK是否获取idfa
*/
+ (void)banGetIdfa:(BOOL)isBan;
/**
token将失效
@param token Token
@param delegate WBHttpRequestDelegate对象SDK对于发起的接口请求的请求的响应
@param tag TAG,WBHttpRequest实例的tag属性返回
*/
+ (void)logOutWithToken:(NSString *_Nonnull)token delegate:(id<WBHttpRequestDelegate>_Nullable)delegate withTag:(NSString*_Nullable)tag;
/**
H5页面SDK自动检测是否安装微博客户端SDK相关方法时
webView H5页面
@param uid id
@param mid id
@param aid id
*/
//
+ (void)linkToUser:(NSString *_Nullable)uid;
//
+ (void)linkToSingleBlog:(NSString *_Nullable)uid blogID:(NSString *_Nullable)mid;
//
+ (void)linkToArticle:(NSString *_Nullable)aid;
//
+ (void)shareToWeibo:(NSString *_Nullable)content;
//
+ (void)commentToWeibo:(NSString *_Nullable)mid;
//
+ (void)linkToSearch:(NSString *_Nullable)keyword;
//
+ (void)linkToTimeLine;
//
+ (void)linkToProfile;
@end
/**
*/
@protocol WeiboSDKDelegate <NSObject>
/**
[WeiboSDK sendResponse:]
@param request
*/
- (void)didReceiveWeiboRequest:(WBBaseRequest *_Nullable)request;
/**
WBBaseResponse.userInfo
@param response
*/
- (void)didReceiveWeiboResponse:(WBBaseResponse *_Nullable)response;
@end
#pragma mark - DataTransferObject and Base Request/Response
/**
*/
@interface WBDataTransferObject : NSObject
/**
request userInfo
@warning userInfo中的数据必须是实现了 `NSCoding`
@warning 10M
*/
@property (nonatomic, strong) NSDictionary * _Nullable userInfo;
/**
SDK版本号
sdkVersion为当前SDK的版本号sdkVersion为数据发送方SDK版本号
*/
@property (strong, nonatomic, readonly) NSString * _Nullable sdkVersion;
/**
YESAlert询问用户是否要打开微博App的安装页面YES
*/
@property (nonatomic, assign) BOOL shouldOpenWeiboAppInstallPageIfNotInstalled;
@end
/**
SDK所有请求类的基类
*/
@interface WBBaseRequest : WBDataTransferObject
/**
WBBaseRequest
@return **WBBaseRequest对象
*/
+ (id _Nonnull )request;
@end
/**
SDK所有响应类的基类
*/
@interface WBBaseResponse : WBDataTransferObject
/**
request
response requestUserInfo request.userInfo
@see WBBaseRequest.userInfo
*/
@property (strong, nonatomic, readonly) NSDictionary * _Nullable requestUserInfo;
/**
statusCode判断请求的处理结果
*/
@property (nonatomic, assign) WeiboSDKResponseStatusCode statusCode;
/**
WBBaseResponse
@return **WBBaseResponse对象
*/
+ (id _Nonnull )response;
@end
#pragma mark - Authorize Request/Response
/**
[WeiboSDK sendRequest:] WBAuthorizeRequest
WBAuthorizeResponse
*/
@interface WBAuthorizeRequest : WBBaseRequest
/**
`http://`
http://open.weibo.com/wiki/%E6%8E%88%E6%9D%83%E6%9C%BA%E5%88%B6%E8%AF%B4%E6%98%8E#.E5.AE.A2.E6.88.B7.E7.AB.AF.E9.BB.98.E8.AE.A4.E5.9B.9E.E8.B0.83.E9.A1.B5
@warning `http://`
@warning 1K
*/
@property (nonatomic, strong) NSString * _Nullable redirectURI;
/**
scopescrope用逗号分隔
http://open.weibo.com/wiki/%E6%8E%88%E6%9D%83%E6%9C%BA%E5%88%B6%E8%AF%B4%E6%98%8E#scope
@warning 1K
*/
@property (nonatomic, strong) NSString * _Nullable scope;
/**
SSO的时候是否弹出SDK自带的Webview进行授权
YESSSO的时候会自动弹出SDK自带的Webview进行授权
NO shouldOpenWeiboAppInstallPageIfNotInstalled /
YES
*/
@property (nonatomic, assign) BOOL shouldShowWebViewForAuthIfCannotSSO;
@end
/**
WBAuthorizeResponse userID accessToken expirationDate refresh_token userInfo
*/
@interface WBAuthorizeResponse : WBBaseResponse
/**
ID
*/
@property (nonatomic, strong) NSString * _Nullable userID;
/**
*/
@property (nonatomic, strong) NSString * _Nullable accessToken;
/**
*/
@property (nonatomic, strong) NSDate * _Nullable expirationDate;
/**
*/
@property (nonatomic, strong) NSString * _Nullable refreshToken;
@end
#pragma mark - ProvideMessageForWeibo Request/Response
/**
*/
@interface WBProvideMessageForWeiboRequest : WBBaseRequest
@end
/**
*/
@interface WBProvideMessageForWeiboResponse : WBBaseResponse
/**
*/
@property (nonatomic, strong) WBMessageObject * _Nonnull message;
/**
WBProvideMessageForWeiboResponse
@param message
@return **WBProvideMessageForWeiboResponse对象
*/
+ (id _Nullable )responseWithMessage:(WBMessageObject *_Nullable)message;
@end
#pragma mark - SendMessageToWeibo Request/Response
/**
*/
@interface WBSendMessageToWeiboRequest : WBBaseRequest
/**
*/
@property (nonatomic, strong) WBMessageObject * _Nonnull message;
/**
WBSendMessageToWeiboRequest
[WeiboSDK sendRequest:]
shouldOpenWeiboAppInstallPageIfNotInstalled /
@param message
@return **WBSendMessageToWeiboRequest对象
*/
+ (id _Nullable )requestWithMessage:(WBMessageObject *_Nullable)message;
/**
WBSendMessageToWeiboRequest
,
SDK內微博发布器
@param message
@param authRequest ,access_token二者至少有一个不为空,access_token为空并且需要弹出SDK內发布器时会通过此信息先进行授权后再分享
@param access_token Token,,使token进行分享
@return **WBSendMessageToWeiboRequest对象
*/
+ (id _Nullable )requestWithMessage:(WBMessageObject *_Nullable)message
authInfo:(WBAuthorizeRequest *_Nullable)authRequest
access_token:(NSString *_Nullable)access_token;
@end
/**
WBSendMessageToWeiboResponse
*/
@interface WBSendMessageToWeiboResponse : WBBaseResponse
/**
*/
@property (nonatomic,strong) WBAuthorizeResponse * _Nullable authResponse;
@end
#pragma mark - ShareMessageToContact Request/Response
/**
*/
@interface WBShareMessageToContactRequest : WBBaseRequest
/**
*/
@property (nonatomic, strong) WBMessageObject * _Nonnull message;
/**
WBShareMessageToContactRequest
[WeiboSDK sendRequest:]
@param message
@return **WBSendMessageToWeiboRequest对象
*/
+ (void)requestWithMessage:(WBMessageObject *_Nullable)message;
@end
/**
WBSendMessageToWeiboResponse
*/
@interface WBShareMessageToContactResponse : WBBaseResponse
/**
*/
@property (nonatomic,strong) WBAuthorizeResponse * _Nullable authResponse;
@end
#pragma mark - MessageObject / ImageObject
/**
()
*/
@interface WBMessageObject : NSObject
/**
@warning 2000
*/
@property (nonatomic, strong) NSString * _Nullable text;
/**
@see WBImageObject
*/
@property (nonatomic, strong) WBImageObject * _Nullable imageObject;
/**
@see WBBaseMediaObject
*/
@property (nonatomic, strong) WBBaseMediaObject * _Nullable mediaObject;
/**
@see WBVideoObject
*/
@property (nonatomic, strong) WBNewVideoObject * _Nullable videoObject;
/**
@see WBSuperGroupObject
*/
@property (nonatomic, strong)WBSuperGroupObject * _Nullable superTopicObject;
/**
WBMessageObject
@return **WBMessageObject对象
*/
+ (id _Nonnull )message;
@end
/**
*/
typedef NS_ENUM(NSInteger, WBSDKMediaTransferErrorCode)
{
WBSDKMediaTransferAlbumPermissionError = 0,//
WBSDKMediaTransferAlbumWriteError = 1,//
WBSDKMediaTransferAlbumAssetTypeError = 2,//
};
/**
*/
@protocol WBMediaTransferProtocol <NSObject>
/**
*/
-(void)wbsdk_TransferDidReceiveObject:(id _Nullable )object;
/**
*/
-(void)wbsdk_TransferDidFailWithErrorCode:(WBSDKMediaTransferErrorCode)errorCode andError:(NSError*_Nullable)error;
@end
/**
*/
@interface WBImageObject : NSObject
/**
finalAssetArray只能存在一项10M,
使
@warning 10M
*/
@property (nonatomic, strong) NSData * _Nullable imageData;
/**
story
*/
@property (nonatomic) BOOL isShareToStory DEPRECATED_MSG_ATTRIBUTE("shareToStory is no longer being maintained");
/**
WBImageObject
@return **WBImageObject对象
*/
+ (id _Nullable )object;
/**
UIImage
@return **UIImage对象
*/
- (UIImage *_Nullable)image;
/**
*/
@property(nonatomic,weak)id<WBMediaTransferProtocol> _Nullable delegate;
/**
30MB
*/
- (void)addImages:(NSArray<UIImage *>*_Nullable)imageArray;
/**
livePhoto图片 40MB ios9.1
*/
- (void)setLivePhotoAsset:(PHAsset *_Nonnull)livePhotoAsset completion:(void (^ __nullable)(NSString * _Nullable error))completion;
/**
livePhoto格式图片 image不能超过10MB video不能超过30MB_Nonnull
*/
- (void)setLivePhotoImageUrl:(NSURL *_Nonnull)imageUrl livePhotoVideoUrl:(NSURL *_Nonnull)videoUrl;
/**
*/
-(NSArray*_Nullable)finalAssetArray;
@end
@interface WBNewVideoObject : NSObject
/**
WBNewVideoObject
@return **WBNewVideoObject对象
*/
+ (id _Nullable )object;
/**
story
*/
@property (nonatomic) BOOL isShareToStory DEPRECATED_MSG_ATTRIBUTE("shareToStory is no longer being maintained");
/**
*/
@property(nonatomic,weak)id<WBMediaTransferProtocol> _Nullable delegate;
/**
50MB
*/
-(void)addVideo:(NSURL*_Nonnull)videoUrl;
/**
*/
-(NSString*_Nullable)finalAsset;
@end
/**
*/
@interface WBSuperGroupObject : NSObject
@property (nonatomic, strong) NSString * _Nonnull superGroup;//,150
@property (nonatomic, strong) NSString * _Nullable section;//
@property (nonatomic, strong) NSDictionary * _Nullable extData;//
/**
WBSuperGroupObject
@return **WBSuperGroupObject对象
*/
+ (id _Nonnull )object;
@end
#pragma mark - Message Media Objects
/**
api
,,linkcard样式,
*/
@interface WBBaseMediaObject : NSObject
/**
ID
@warning 255
*/
@property (nonatomic, strong) NSString * _Nonnull objectID;
/**
@warning 1k
*/
@property (nonatomic, strong) NSString * _Nonnull title;
/**
@warning 1k
*/
@property (nonatomic, strong) NSString * _Nullable description;
/**
@warning 32k
*/
@property (nonatomic, strong) NSData * _Nullable thumbnailData;
/**
scheme
@warning 255
*/
@property (nonatomic, strong) NSString * _Nullable scheme;
/**
WBBaseMediaObject
@return **WBBaseMediaObject对象
*/
+ (id _Nullable )object DEPRECATED_MSG_ATTRIBUTE("WBBaseMediaObject is no longer being maintained");
@end
#pragma mark - Message WebPage Objects
/**
api
*/
@interface WBWebpageObject : WBBaseMediaObject
/**
url地址
@warning 255
*/
@property (nonatomic, strong) NSString * _Nullable webpageUrl DEPRECATED_MSG_ATTRIBUTE("webpageUrl is no longer being maintained");
@end

BIN
ios/Weibo_SDK/libWeiboSDK.a Normal file

Binary file not shown.

View File

@ -17,17 +17,32 @@ A powerful Flutter plugin allowing developers to auth/share with natvie Android
s.license = { :file => '../LICENSE' }
s.author = { 'Your Company' => 'email@example.com' }
s.source = { :path => '.' }
s.source_files = 'Classes/**/*'
s.public_header_files = 'Classes/**/*.h'
s.dependency 'Flutter'
s.platform = :ios, '9.0'
#
s.source_files = ['Classes/**/*.{h,m}', 'Weibo_SDK/**/*.{h,m}']
s.public_header_files = ['Classes/**/*.h', 'Weibo_SDK/**/*.h']
#
s.vendored_libraries = 'Weibo_SDK/libWeiboSDK.a'
#
s.resources = ['Weibo_SDK/**/*.bundle', 'Weibo_SDK/**/*.xcprivacy']
# v3.3.0
s.static_framework = true
s.subspec 'vendor' do |sp|
sp.dependency 'Weibo_SDK', '~> 3.3.0'
end
# Flutter.framework does not contain a i386 slice.
s.pod_target_xcconfig = { 'DEFINES_MODULE' => 'YES', 'EXCLUDED_ARCHS[sdk=iphonesimulator*]' => 'i386' }
s.pod_target_xcconfig = {
'DEFINES_MODULE' => 'YES',
'EXCLUDED_ARCHS[sdk=iphonesimulator*]' => 'i386',
'HEADER_SEARCH_PATHS' => '"$(PODS_TARGET_SRCROOT)"',
'OTHER_LDFLAGS' => '-ObjC'
}
#
s.xcconfig = {
'HEADER_SEARCH_PATHS' => '"$(PODS_TARGET_SRCROOT)"',
'CLANG_ALLOW_NON_MODULAR_INCLUDES_IN_FRAMEWORK_MODULES' => 'YES'
}
end

View File

@ -1,6 +1,6 @@
name: weibo_kit
description: A powerful Flutter plugin allowing developers to auth/share with natvie Android & iOS Weibo SDKs.
version: 4.0.1
version: 4.0.2
# author: v7lin <v7lin@qq.com>
homepage: https://github.com/RxReader/weibo_kit.git