在launchOptions
文件的AppDelegate.m
中何时填充自定义网址?我已经加载了我的应用程序' Safari中的自定义网址和UIApplicationLaunchOptionsURLKey
未填充。
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
NSLog(@"app launch options");
NSLog([launchOptions valueForKey:UIApplicationLaunchOptionsURLKey]);
}
答案 0 :(得分:1)
当您尝试通过以下方式打开应用程序时,将填充UIApplicationLaunchOptionsURLKey:
[[UIApplication sharedApplication] openURL:[NSURL URLWithString: @"yourapp://"]];
...而yourapp
是not running。
然后
(BOOL)application:(UIApplication *):didFinishLaunchingWithOptions:(NSDictionary *)
将被执行,NSDictionary
将填充两个键值
UIApplicationLaunchOptionsURLKey
和UIApplicationLaunchOptionsSourceApplicationKey
答案 1 :(得分:1)
任何C派生程序的主要入口点是一个名为main
的函数,而在ObjC中它称为int main
。这会引发一系列最终调用applicationDidFinishLaunchingWithOptions:
方法的事件,最终导致用户看到您希望他们看到的第一个“屏幕”。
2 在下一系列事件中applicationDidFinishLaunchingWithOptions:
之后会发生一些事情。
如果有填充的网址密钥,则会使用该网址密钥并调用applicationDidBecomeActive:。
如果不设置了网址密钥,则会调用application: openURL: sourceURL: annotation
,这是您设置的位置。
这确实留下了applicationDidFinishLaunchingWithOptions:
中初始调用的填充方式问题。我相信你可以在info.list文件中设置它。