-
原因一:設置代理錯誤固蚤,[WXApi handleOpenURL:url delegate:self],self錯誤
微信-(void) onResp:(BaseResp*)resp;這個方法需要- (BOOL)application:(UIApplication*)application handleOpenURL :(NSURL *)url歹茶; - (BOOL)application:(UIApplication *)application handleOpenURL:(NSURL *)url夕玩;這個方法 是在appdelegate.m文件里的。onResp 這個方法是在SendMesgViewController.m方法里的惊豺。
解決
-(BOOL)application:(UIApplication *)application handleOpenURL:(NSURL *)url 這個是其它應用通過url進去你應用時調用燎孟。
微信的這個[WXApi handleOpenURL:url delegate:self]是處理返回的url信息。
如果- (void)onReq:(BaseReq *)req要在其它類用尸昧,就把delegate:寫成其它類比如說:你可以獲取SendMesgViewController的對象揩页。
或者把SendMesgViewController寫成單例[WXApi handleOpenURL:url delegate:[SendMesgViewController shareSendMesgViewController]]
注:delegate指定誰去響應onResq,不能簡單指定為self烹俗,且注意
-
原因二:
#pragma mark 跳轉處理 //被廢棄的方法. 但是在低版本中會用到.建議寫上 - (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation{ return [WXApi handleOpenURL:url delegate:self]; } //被廢棄的方法. 但是在低版本中會用到.建議寫上 - (BOOL)application:(UIApplication *)application handleOpenURL:(NSURL *)url{ return [WXApi handleOpenURL:url delegate:self];} //新的方法 - (BOOL)application:(UIApplication *)app openURL:(NSURL *)url options:(NSDictionary<NSString *,id> *)options{ return [WXApi handleOpenURL:url delegate:self];}