我能够在application
方法中处理launchOptions值(因为很明显,参数会传递给它)。我正在做的是基本上通过在分享菜单中选择我的应用来从导入它的用户那里接收图像:
如果应用程序尚未启动,它可以正常工作,但如果应用程序已在运行并且未调用application
方法,我看不到如何获取输入参数。
我试图找到一种可以帮助我的方法
applicationWillEnterForeGround(_ application: UIApplication, _ launchOptions: [UIApplicationLaunchOptionsKey: Any]?
但没有任何成功。
我认为这是可能的,因为你可以将图像分享到WhatsApp或Facebook,即使它们已经推出。
有人能帮助我吗?
谢谢, 扬
答案 0 :(得分:1)
您应该按如下方式实现application:openURL:options:
方法(Swift 2):
func application(app: UIApplication, openURL url: NSURL, options: [String : AnyObject]) -> Bool {
// Do your stuff and return true if you have handled the URL...
// Else
return false
}
Relevant tutorial in Ray Wenderlich
从Swift 4.2开始,签名是:
func application(_ app: UIApplication, open url: URL, options: [UIApplication.OpenURLOptionsKey : Any] = [:]) -> Bool {
// Do your stuff and return true if you have handled the URL...
// Else
return false
}
答案 1 :(得分:1)
我认为你目前正朝着错误的方向观看。您应该参考Apple提供的Inter-App communication guide。如果概括一下,您只需要这个方法,它将处理您的应用程序的URI链接。
- (BOOL)application:(UIApplication *)app
openURL:(NSURL *)url
options:(NSDictionary<UIApplicationOpenURLOptionsKey,id> *)options;