如何从 activity 视图控制器打开我的应用程序并在打开的应用程序中检索数据?
How to open my app from activity view controller and retrieve data in the opened app?
我需要将一个 JSON 文件从我的一个应用程序共享到另一个应用程序。
我想要的用户体验
- 我想打开 activity 视图控制器
- select 我在水平应用列表中的另一个应用
- 打开 selected 应用程序并接收发送的 JSON 文件
我尝试了共享扩展,但我想从 activity 控制器打开应用程序并在那里处理数据
想通了
在您计划接收数据的应用上...
在 Target > Info > Document types >“+”按钮下转到您的项目名称。
在“名称”字段中添加文件类型的名称
在“类型”字段中添加正确的 UTI(统一类型标识符)。 List of known UTIs
运行 应用
应用程序现在应该出现在 JSON 文件类型的 ActivityViewControllers 中
现在我们将了解如何从 ActivityViewController 应用接收数据
在您计划接收数据的应用上...
去现场委托
添加此功能
func scene(_ scene: UIScene, openURLContexts URLContexts: Set<UIOpenURLContext>) {
dump(URLContexts.first)
for urlContext in URLContexts {
do {
let data = try Data(contentsOf: urlContext.url)
let obejct = try JSONDecoder().decode(SomeCodableClass.self, from: data)
} catch {
print("line \(#line) file \(#file) error\(error)")
}
}
}
我相信这就是我们所需要的。 SomeCodableClass 是您需要创建的 class 以反映文件中的 JSON。
我需要将一个 JSON 文件从我的一个应用程序共享到另一个应用程序。
我想要的用户体验
- 我想打开 activity 视图控制器
- select 我在水平应用列表中的另一个应用
- 打开 selected 应用程序并接收发送的 JSON 文件
我尝试了共享扩展,但我想从 activity 控制器打开应用程序并在那里处理数据
想通了
在您计划接收数据的应用上...
在 Target > Info > Document types >“+”按钮下转到您的项目名称。
在“名称”字段中添加文件类型的名称
在“类型”字段中添加正确的 UTI(统一类型标识符)。 List of known UTIs
运行 应用
应用程序现在应该出现在 JSON 文件类型的 ActivityViewControllers 中
现在我们将了解如何从 ActivityViewController 应用接收数据
在您计划接收数据的应用上...
去现场委托
添加此功能
func scene(_ scene: UIScene, openURLContexts URLContexts: Set<UIOpenURLContext>) { dump(URLContexts.first) for urlContext in URLContexts { do { let data = try Data(contentsOf: urlContext.url) let obejct = try JSONDecoder().decode(SomeCodableClass.self, from: data) } catch { print("line \(#line) file \(#file) error\(error)") } }
}
我相信这就是我们所需要的。 SomeCodableClass 是您需要创建的 class 以反映文件中的 JSON。