我正在尝试使用Safari中的网址启动我的应用。
-(BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation {
NSLog(@"Launched with URL");
return YES;
}
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
NSLog(@"Launched normally");
// Override point for customization after application launch.
return YES;
}
(也试过-(BOOL)application:(UIApplication *)application handleOpenURL:(NSURL *)url
)
如果应用程序在后台(即,如果我双击主页按钮,它就在那里)应用程序正确启动并且控制台显示Launched with URL
。
但是,如果我完全关闭它,意思是,双击主页按钮,按住应用程序并单击减号,当尝试通过Safari再次启动它时,它只显示一个黑屏并且没有任何记录到控制台。
在设备和模拟器(均为5.1)上都会发生这种情况 应用程序完全关闭时是否应该调用另一个委托?
谢谢!
答案 0 :(得分:1)
如果您的应用程序是从Safari打开的,这意味着您已正确实施了URL架构。 在这些应用程序委托事件中处理Opened URl
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
}
- (BOOL)application:(UIApplication *)application handleOpenURL:(NSURL *)url
{
}
- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:
(NSString *)sourceApplication
annotation:(id)annotation
{
}
只需确保您对网址进行了正确编码,但网址可能会中断。