關於shareSdk分享到微信不走回調方法的問題


項目中有微信支付的話

先檢查當前用的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走的是分享的取消回調方法


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM