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]; 
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];
                
            }
}]