我在LLDB中运行了以下命令,它们之间没有太多时间:
(lldb) po [NSBundle bundleWithIdentifier:@"com.apple.Preview"]
nil
(lldb) po [NSBundle bundleWithPath:@"/Applications/Preview.app"]
NSBundle </Applications/Preview.app> (not yet loaded)
(lldb) po [NSBundle bundleWithIdentifier:@"com.apple.Preview"]
NSBundle </Applications/Preview.app> (not yet loaded)
因此,有时无法使用包标识符来初始化某个NSBundle
,但是随后在后台发生了一些事情(大概是索引编制了吗?),然后魔术般地起作用了。
这是什么原因造成的,我有什么办法可以避免在我自己的应用程序中发生这种情况?