これは、ほぼ概念実証アプリです。次を使用して他のアプリを起動するときに、値の 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 スキームに渡す方法や、受信側でデコードする方法について説明しているドキュメントは見つかりません。
また、私は初心者なので、詳細が多いほど良いです。