ios - `applicationDidFinishLaunching` 在iOS项目中未调用

标签 ios objective-c xcode storyboard appdelegate

尽管调用了 applicationDidBecomeActive ,但在我的应用程序运行时(在真实设备和模拟器上测试)从未调用

applicationDidFinishLaunching 。我只能找到此问题的 macOS 解决方案( hereherehere )

在我的 info.plist 文件中,我正确设置了主 Storyboard文件基本名称。我有一个 Storyboard入口点连接到我的初始 View Controller 。应用程序启动,我看到了我应该看到的一切,但是 applicationDidFinishLaunching 从未被调用,我使用该方法来处理启动时配置和构造。

根据 macOS 帖子,我尝试将一个对象(黄色立方体)拖到初始 View Controller 的 IB 层次结构中,将其类设置为我的应用程序委托(delegate)类,并将其设置为初始 View Controller 的委托(delegate)。但是 applicationDidFinishLaunching 仍然没有被调用。

方法签名正确(我知道这是 Swift 项目的常见问题)

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
    // Override point for customization after application launch.
    return YES;
}


- (void)applicationDidFinishLaunching:(UIApplication *)application{
   //code
}

最佳答案

applicationDidFinishLaunching: 的文档中,它说:

Although not formally deprecated, do not use this method in your apps. Use the application:willFinishLaunchingWithOptions: and application:didFinishLaunchingWithOptions: methods instead.

如果您使用application:didFinishLaunchingWithOptions:,则不会调用applicationDidFinishLaunching:

关于ios - `applicationDidFinishLaunching` 在iOS项目中未调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47316757/

相关文章:

ios - CLLocationManager精度和功耗

ios - 录制的音频无法在设备上播放,但不能在 iOS 模拟器上播放

objective-c - 在 web 服务 WSDL 中使用点符号导致 sudzc 编译错误

ios - 调试时如何在Xcode中查看函数返回值?

ios - 没有这样的模块 "Armchair"

ios - 使用未解析的标识符 : PFTwitterUtils swift

objective-c - 图数据结构的面向对象实现

objective-c - 无法从 swift 设置 objective-c 属性

objective-c - 在 iOS 上访问最近通话

iphone - 在 Instruments 中调试 UIAutomation 脚本