Ios 使用自定义URL方案启动应用程序。完成后,如何将数据返回到呼叫应用程序?

Ios 使用自定义URL方案启动应用程序。完成后,如何将数据返回到呼叫应用程序?,ios,Ios,我正在我的大学学习安卓编程课程,只是老师允许我做IOS,但我必须实施相同的项目。这个项目将有两个应用程序。第一个应用程序是以前分配的颜色选择器。第二个应用程序是调用colorpicker,允许用户选择颜色,完成后返回第二个要显示的应用程序 我在ColorPicker中定义了一个自定义URL方案,效果很好。在我的第二个应用程序中,我有一个changeColor按钮,它具有以下iAction方法 - (IBAction)colorChangePressed:(UIButton *)sender {

我正在我的大学学习安卓编程课程,只是老师允许我做IOS,但我必须实施相同的项目。这个项目将有两个应用程序。第一个应用程序是以前分配的颜色选择器。第二个应用程序是调用colorpicker,允许用户选择颜色,完成后返回第二个要显示的应用程序

我在ColorPicker中定义了一个自定义URL方案,效果很好。在我的第二个应用程序中,我有一个changeColor按钮,它具有以下iAction方法

- (IBAction)colorChangePressed:(UIButton *)sender {

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

    if (found) NSLog( @"Resource was found" );

    else NSLog(@"unable to locate resource" );
}
这确实启动了颜色选择器应用程序,它的行为符合预期。我的问题是,在选择颜色后,如何使用所选颜色返回呼叫应用程序?我将在我的colorPicker中添加一个完成的按钮,当用户选择完颜色后单击该按钮,我将捕获我需要的值,但我不知道如何将这些数据返回到调用的应用程序。是否有一些协议/委托模式需要实现

完整的代码位于git hub上


提前感谢您对如何解决我的问题的任何见解

您需要两个应用程序都具有唯一的方案。对
app1
的方案进行编码,并将其用作
app1->app2
URL的一部分。当
app2
完成时,您将有一个
app2->app1
URL,使用它打开
app1
,并将所需信息(编码)发送给它


这类似于您在
app2
Intent中添加了一个名为
app1
Intent的字符串,但是,您可以使用URL,并根据需要对其进行解析。

我在另一个项目中定义了一个自定义方案,如第一个答案中所述,但我不确定如何在被调用的URL中生成查询字符串,并将其返回给调用应用程序进行解析。我在下面的帖子中解决了这个问题


忘了提一下,如果您正在从git hub中提取项目,并且试图打开MyColorPicker,请确保打开.xcworkspace而不是.xcproject。谢谢,等我吃完晚饭回来再试试。谢谢你的回复。