項目中有微信支付的話
先檢查當前用的shareSDK的版本
#import <ShareSDK/ShareSDK+Base.h>
NSLog(@"%@",[ShareSDK sdkVer]);
如果是3.6.0以前的按照下面的方式處理openurl
在WXDelegate - onResp方法中,判斷resp是否為PayResp類型,而自行處理微信支付的結果
-(void)onResp:(BaseResp *)resp
{
//確認本次回調是屬於支付回調
if ([resp isKindOfClass:[PayResp class]]) {
//對支付結果進行回調
NSLog(@"The response of wechat.");
}
}
- (BOOL)application:(UIApplication *)application
openURL:(NSURL *)url
sourceApplication:(NSString *)sourceApplication
annotation:(id)annotation
{
dispatch_async(dispatch_get_main_queue(), ^{
[WXApi handleOpenURL:url delegate:self];
});
return YES;
}
- (BOOL)application:(UIApplication *)app
openURL:(NSURL *)url
options:(NSDictionary<NSString *,id> *)options
{
dispatch_async(dispatch_get_main_queue(), ^{
[WXApi handleOpenURL:url delegate:self];
});
return YES;
}
- (BOOL)application:(UIApplication *)application handleOpenURL:(NSURL *)url
{
dispatch_async(dispatch_get_main_queue(), ^{
[WXApi handleOpenURL:url delegate:self];
});
return YES;
}
如果是3.6.0以后的,按照下面的寫
在WXDelegate - onResp方法中,判斷resp是否為PayResp類型,而自行處理微信支付的結果
-(void)onResp:(BaseResp *)resp
{
//確認本次回調是屬於支付回調
if ([resp isKindOfClass:[PayResp class]]) {
//對支付結果進行回調
NSLog(@"The response of wechat.");
}
}
- (BOOL)application:(UIApplication *)application
openURL:(NSURL *)url
sourceApplication:(NSString *)sourceApplication
annotation:(id)annotation
{
[WXApi handleOpenURL:url delegate:self];
return YES;
}
- (BOOL)application:(UIApplication *)app
openURL:(NSURL *)url
options:(NSDictionary<NSString *,id> *)options
{
[WXApi handleOpenURL:url delegate:self];
return YES;
}
- (BOOL)application:(UIApplication *)application handleOpenURL:(NSURL *)url
{
[WXApi handleOpenURL:url delegate:self];
return YES;
}
return YES;
}
- (BOOL)application:(UIApplication *)app
openURL:(NSURL *)url
options:(NSDictionary<NSString *,id> *)options
{
[WXApi handleOpenURL:url delegate:self];
return YES;
}
- (BOOL)application:(UIApplication *)application handleOpenURL:(NSURL *)url
{
[WXApi handleOpenURL:url delegate:self];
return YES;
}
因為留在分享平台之后分享平台是不會在將分享的信息返回給自己的應用的,所以沒有辦法知道狀態,但依然會以Cancel狀態回調。就算分享成功了,不點按鈕直接返回應用也算是取消的.所以這就是為什么點擊左上角的返回 返回app走的是分享的取消回調方法