目标C从另一个应用程序检索数据

| 我编写了两个应用程序,并且需要它们之间的交互。我的意思是,在第一个应用程序中,有一个视图,您需要在其中添加数字。但是,如果您不想将其记录下来,则另一个应用程序会为您生成它。因此,我需要第二个应用程序生成的数字,并用它填充视图。 我读了很多有关该主题的文章,我知道我必须使用自定义URL方案。一篇很好的文章,例如:链接。因此,据我了解,我需要定义如下方案: 在第一个应用程序中: 网址识别码: com.mycompany.myfirstapp URL方案第一项:myFirstApp 在第二个应用程序中: 网址识别码: com.mycompany.mysecondapp URL方案第一项:mySecondApp 然后在第一个应用程序中,例如在按钮的IBAction中:
[UIApplication sharedApplication] openURL:[NSURL URLWithString:@\"mySecondApp://pleaseGenerateNumber\"]];
在第二个应用程序中,我必须实现
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
方法和
- (BOOL)application:(UIApplication *)application handleOpenURL:(NSURL *)url
方法。然后解析URL,并生成数字。但是问题出在这里。如何将第一个应用程序生成的数字“告诉”第一个应用程序?我必须再次使用openURL,并通过URL检索数字吗?     
已邀请:
在iOS4.2中可用,可以使用
UIApplicationDelegate
协议方法将数据从一个应用程序传递到另一个应用程序
- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url 
       sourceApplication:(NSString *)sourceApplication 
       annotation:(id)annotation
在文档中,“ 5”是:   源应用程序提供的属性列表对象,用于将信息传达给接收应用程序。 编辑:事实证明,您可以在iOS 3.2下使用注释; “ 6”允许在选项字典中使用注释键。     
为了获得最大的兼容性(iOS 3+),是的,您必须再次使用openURL,并将数字作为URL参数传递回去。要重用系统提供的URL解析代码,请确保您的URL格式遵循HTTP模板: schema:// kinda-host / kinda-path?params 考虑使用kinda-host作为命令代码,并将数据作为路径和/或参数传递;这样,您可以扩展通信协议,而无需引入其他URL方案。 是的,这很丑。这就是iOS。     

要回复问题请先登录注册