我正在开发一个管理我自己的 URL 方案的应用程序,因此我实现了回调:
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions (NSDictionary *)launchOptions
{
// Get our launch URL
if (launchOptions != nil)
{
// Launch dictionary has data
NSURL* launchURL = [launchOptions objectForKey: UIApplicationLaunchOptionsURLKey];
// Parse the URL
NSString* hostString = [launchURL host];
blah blah blah...
效果很好,但我需要启动调用方应用程序(即打开 URL 的应用程序)。所以我的问题是,这可能吗?
我一直在玩 UIApplicationLaunchOptionsSourceApplicationKey
但我无法通过其应用程序包 ID 重新启动该应用程序。我可以吗?
我也尝试过 UIApplication
的未记录的 launchApplicationWithIdentifier:
,但我需要一个真正的解决方案,而且似乎解决方法只适用于模拟器。
有什么想法吗?谢谢!
最佳答案
唯一的方法是让两个应用都支持自定义 URL 方案。然后将调用方 URL 嵌入到其他应用的 URL 中。
例如,假设 App2 想要以某种方式调用 App1,以便 App1 然后可以“回调”到 App2。它将创建并打开这样的 URL:
app1://?caller=app2%3A%2F%2Fblabla
当你解码 caller
部分时,你会得到字符串 app2://blabla
然后你可以用 openURL:
再次打开它“回电”。
关于iphone - 如何重新启动打开我的自定义 URL 方案的应用程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9022967/