2

これは、ほぼ概念実証アプリです。次を使用して他のアプリを起動するときに、値の NSArray を単純に渡そうとしています。

UIApplication *test = [ UIApplication sharedApplication ];
BOOL found =
[ test openURL:[ NSURL URLWithString:@"myCalculator://data" ] ];

「データ」を 3 つの整数を含む NSArray に置き換えたいと考えています。myCalculator では、これらのメソッドをデリゲートに実装しました。

- (BOOL)application:(UIApplication *)application
            openURL:(NSURL *)url
  sourceApplication:(NSString *)sourceApplication
         annotation:(id)annotation     {

    NSLog(@"Open application called in calculator");
    return [ self application:application handleOpenURL:url ] ;
}

// Depracted
- (BOOL)application:(UIApplication *)application
     handleOpenURL:(NSURL *)url {
    NSLog(@"%@",application.debugDescription);
    return YES;
}
@end

他のアプリから URL を開くと、実際に呼び出されます。それで、私は質問しなければなりません。カスタム URL を開くときに NSArray をエンコードして渡すにはどうすればよいですか? そして、上記の appDelegate メソッドでそれをデコードするにはどうすればよいですか?

どんな助けでも大歓迎です。NSArray をエンコードしてカスタム URL スキームに渡す方法や、受信側でデコードする方法について説明しているドキュメントは見つかりません。

また、私は初心者なので、詳細が多いほど良いです。

4

2 に答える 2