两步快速集成使用ShareSDK、微信支付、支付宝支付

一般集成使用一些第三方SDK都需要在AppDelegate中注册初始化,初始化的方式无关几种:

  • 1.极品的程序猿会在didFinishLaunchingWithOptions一个方法中从头搞到尾,后期维护到吐
  • 2.在AppDelegate.m中为每一种SDK都抽取出来一个方法,后期修改稍微好点,但是一旦第三方SDK多点,那么.m里面的代码会变得巨多,动则上千行,另外其它项目使用到同样的SDK,只能粘贴、复制、粘贴、复制……
  • 3.最好的办法:创建SDK对应的工具类或者分类,把注册初始化的代码完全抽取出来,最好在AppDelegate中一句代码搞定,这感觉爽到爆

下面是封装的ShareSDK、微信支付、支付宝支付、极光推送对应的几个分类,把分类拖进项目,几句代码搞定全部。

创建的几个分类

#import "AppDelegate+ShareSDK.h"
#import "AppDelegate+WXApi.h"
#import "AppDelegate+AlipaySDK.h"
#import "AppDelegate+JPushSDK.h"

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
    //初始化所有的第三方SDK
    [self setUpThridPartySDKWithOptions:launchOptions];
    
    return YES;
}

- (void)setUpThridPartySDKWithOptions:(NSDictionary *)launchOptions
{
    //注册ShareSDK
    [AppDelegate registerShareSDK];
    
    //注册极光推送
    [AppDelegate registerJPushSDKWithOptions:launchOptions];
    
    //注册微信支付
    [AppDelegate registerWeChatWithAppID:@"AppID"];
    [AppDelegate registerWXPayWithMchID:@"MchID" appSecret:@"Secret"];//客户端签名时调用注册
    
    //注册支付宝支付
    [AppDelegate registerAlipayWithPartnerID:@"PartnerID" sellerID:@"sellerID" partnerPrivKey:@"PrivKey"];//客户端签名时调用注册
    
}

分享内容API

/**
 *  定制平台分享内容分享
*/
+ (void)platShareView:(UIView *)view WithShareContent:(NSString *)shareContent WithShareUrlImg:(NSString *)shareUrlImg WithShareTitle:(NSString *)shareTitle WithHTMLURL:(NSString *)URL;

支付宝支付API

/**
 *  发起支付(客户端签名版本)
 *
 *  @param orderID          订单号
 *  @param orderName        订单标题
 *  @param orderDescription 订单描述
 *  @param orderPrice       订单价格,保留小数点2位,单位(元)
 *  @param orderNotifyUrl   服务端回调URL(重要)
 *  @param appScheme        设置的app的URLScheme
 *  @param config           支付完成后的回调(无论是网页版本还是支付宝客户端的版本都通过此block回调)(successed = YES 代表支付成功)
 */
+ (void)sendAlipayPayRequestWithOrderID:(NSString *)orderID
                              orderName:(NSString *)orderName
                       orderDescription:(nullable NSString *)orderDescription
                             orderPrice:(NSString *)orderPrice
                         orderNotifyUrl:(NSString *)orderNotifyUrl
                              appScheme:(NSString *)appScheme
                         callbackConfig:(void (^)(BOOL successed))config;

微信支付API

/**
 *  发起支付 (客户端签名版本)
 *
 *  @param orderID        订单ID
 *  @param orderName      订单标题
 *  @param orderPrice     订单价格,单位分,不能有小数点
 *  @param orderNotifyUrl 服务器回调URL(重要)
 *  @param config         支付完成后的回调(successed = YES 代表支付成功)
 */
+ (void)sendWeChatPayRequestWithOrderID:(NSString *)orderID
                              orderName:(NSString *)orderName
                             orderPrice:(NSString *)orderPrice
                         orderNotifyUrl:(NSString *)orderNotifyUrl
                         callbackConfig:(void (^)(BOOL successed))config;

其它的一些第三方SDK也可以按照这样封装,具体实现代码下载地址地址链接,注意:因为第三方SDK.a太大不好上传,所以没有添加。

你可能感兴趣的:(两步快速集成使用ShareSDK、微信支付、支付宝支付)