【发布时间】:2018-04-29 05:31:09
【问题描述】:
applicationDidFinishLaunching 在我的应用程序的运行中从未被调用(在真实设备和模拟器上测试),尽管applicationDidBecomeActive 被调用。这个问题我只能找到macOS的解决方案(here、here和here)
在我的info.plist 文件中,我正确设置了主情节提要文件的基本名称。我有一个 Storyboard 入口点连接到我的初始视图控制器。应用程序启动,我看到了我应该看到的一切,但从未调用过 applicationDidFinishLaunching,我使用该方法来处理启动配置和构造。
根据 macOS 帖子,我尝试将对象(黄色立方体)拖入初始视图控制器的 IB 层次结构中,将其类设置为我的应用程序委托类,并将其设置为初始视图控制器的委托。但是applicationDidFinishLaunching 仍然没有被调用。
方法签名正确(我知道这是 Swift 项目的常见问题)
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
// Override point for customization after application launch.
return YES;
}
- (void)applicationDidFinishLaunching:(UIApplication *)application{
//code
}
【问题讨论】:
-
使用目标 c,但是我在其他 SO 帖子中看到这是一个常见问题!
-
是在 iOS 模拟器上还是在设备上?您是否尝试过卸载并运行
-
这两个都不行-所以我应该尝试在真机和模拟器上卸载应用程序,然后再尝试运行?
-
请为您的应用委托类的相关部分添加您的代码。这可能就像您的方法签名中的错误一样简单。
-
该方法的documentation 声明“在应用程序完成启动时通知代理。不要使用。而是使用
didFinishLaunchingWithOptions”。既然你已经实现了didFinishLaunchingWithOptions,didFinishLaunching就不会被调用。
标签: ios objective-c xcode storyboard appdelegate