iOS開発は2つのAPP間のジャンプを実現


iOS開発は2つのAPP間のジャンプを実現


IOSプロジェクトを開発する際、2つのアプリが相互に呼び出す需要に遭遇する可能性があります.例えば、支付宝支払い......などなど.
1、URL Type項目の追加
a,プロジェクト内infoを開く.plistファイルinfomation propertyリスト項目の下にURL Typsを追加
2、URL Schemeの設定
a,URL typesを展開し,さらにItem 1を展開し,Item 1の下のURL identifierをURL Schemeに変更する
b,URL Schemeを展開し,Item 1の内容をmyappに変更する
3、その他のアプリケーションのジャンプ
呼び出し者である私は、次のように通過する必要があります.
NSString *paramStr = [NSString stringWithFormat:@"myAppTest://username=%@&age=%@&address=%@", @"test123", @"100", @"   "];
NSURL *url = [NSURL URLWithString:[paramStr stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]];
[[UIApplication sharedApplication] openURL:url];

このコードは、ターゲットアプリケーションをジャンプしてパラメータを渡します.
4、パラメータの受信
では、ProviderとしてCustomerから渡されたパラメータをどのように受信しますか?
まず、プロジェクトのAppDelegateを見つけます.mファイルを見つけ、openURLメソッドを見つけます(なければ実装します).OK、ここまで90%完成しました.続けてください.
- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation
{
    NSString *urlStr = [url absoluteString];
    if ([urlStr hasPrefix:@"myAppTest://"]) {
        NSLog(@"TestAppDemo1 request params: %@", urlStr);
        urlStr = [urlStr stringByReplacingOccurrencesOfString:@"myAppTest://" withString:@""];
        NSArray *paramArray = [urlStr componentsSeparatedByString:@"&"];
        NSLog(@"paramArray: %@", paramArray);
        NSMutableDictionary *paramsDic = [[NSMutableDictionary alloc] initWithCapacity:0];
        for (int i = 0; i < paramArray.count; i++) {
            NSString *str = paramArray[i];
            NSArray *keyArray = [str componentsSeparatedByString:@"="];
            NSString *key = keyArray[0];
            NSString *value = keyArray[1];
            [paramsDic setObject:value forKey:key];
            NSLog(@"key:%@ ==== value:%@", key, value);
        }

    }
    return NO;
}

パラメータは,自己定義のパラメータ接合規則により解析される.ここまでアプリケーション間のジャンプが完了しました.
その他のリソースリファレンス:iosの2つのAPP間でジャンプ、転送