iOS_アリペイページの支払いページがジャンプできません(アリペイがインストールされていない場合)
1426 ワード
storyboardを使用している間にアリペイがインストールされていて、アリペイインタフェースを呼び出すとWebページにジャンプできない可能性があります.これは、アプリケーションにUIWindowウィンドウが複数あり、ソリューションが3つあるためです.
第1種:AppDelegateのwindowを削除する(この方法は純粋なコード作成の場合に適用されない)
2つ目:storyBoardを削除し、infoを削除しなければなりません.plistの削除Main storyboard file base name(storyBoardを使用しない場合に使用)
3つ目(ブロガー推奨):呼び出す前:
NSArray *array = [[UIApplication sharedApplication] windows];
UIWindow* win=[array objectAtIndex:0];
[win setHidden:NO];
支付宝のコールバック方法では、[win setHidden:YES];
第1種:AppDelegateのwindowを削除する(この方法は純粋なコード作成の場合に適用されない)
2つ目:storyBoardを削除し、infoを削除しなければなりません.plistの削除Main storyboard file base name(storyBoardを使用しない場合に使用)
3つ目(ブロガー推奨):呼び出す前:
NSArray *array = [[UIApplication sharedApplication] windows];
UIWindow* win=[array objectAtIndex:0];
[win setHidden:NO];
支付宝のコールバック方法では、[win setHidden:YES];
if (![[UIApplication sharedApplication] canOpenURL: [NSURL URLWithString:@"alipay:"]]) {
// , UIWindow
NSArray *array = [[UIApplication sharedApplication] windows];
UIWindow* win=[array objectAtIndex:0];
[win setHidden:NO];
}
[[AlipaySDK defaultService] payOrder:orderString fromScheme:appScheme callback:^(NSDictionary *resultDic) {
if (![[UIApplication sharedApplication] canOpenURL: [NSURL URLWithString:@"alipay:"]]) {
// , UIWindow
NSArray *array = [[UIApplication sharedApplication] windows];
UIWindow* win=[array objectAtIndex:0];
[win setHidden:YES];
}
}]