ios - nibBundleOrNil 返回包的名称和消息 "(not yet loaded)"意味着什么?

标签 ios xcode uiviewcontroller sdk unity-game-engine

我们有一个 Controller ,它是 UIViewController 的后代。也就是说,类似于:

  • UIView Controller
    • BaseViewControllerChild
      • ViewControllerInQuestion

当我们尝试显示此 ViewControllerInQuestion 时,它没有显示。我们碰巧在 init 方法中有一条日志语句。

-(id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil
{
    NSLog(@"ViewControllerInQuestion : initWithNibName:: %@ %@", nibNameOrNil, nibBundleOrNil);
    // ... 
}

我们在那里的记录报告了一些有趣的事情。

ViewControllerInQuestion : initWithNibName: ViewControllerInQuestion 
NSBundle </var/mobile/Applications/84129-777-IAMSMASHINGNUMBERSBUTYOUGETTHE
IDEA-85327/OurApp.app/OurSDKResourcesBundle.bundle> (not yet loaded)

特别是最后一部分,我们看到它说“(尚未加载)”。 这是什么意思?我们已经构建了我们的资源包,它似乎很适合我们的项目。

上下文

不要被上下文吓到(你已经走得太远了!),但我们实际上是从 Unity 内的 SDK 中调出与此 View Controller 关联的 View 。也就是说,我们有一个由 Unity 创建的 XCode 项目,我们已将自己的 SDK 添加到该 XCode 项目中,并且此 View Controller 位于该 SDK 中。它也没有显示。

其他问题/搜索结果提到了异常或不同的错误。这只是来 self 们调试为什么 XIB 不会显示的日志语句;这不是异常(exception),它只是不显示。这是什么意思?

额外说明:我们的代码在更高版本的 Unity (4.1.2) 中运行良好。为了使其能够使用较旧的 Unity 版本 (3.5.7) 进行编译,我们必须修改 XCode 项目(Unity 吐出的)上的大量项目设置,并稍微更改代码。内部 SDK 代码本身没有更改:我们只更改了 Unity 吐出的 XCode 项目的文件和项目,这意味着问题可能是 1.) 我们的项目设置/XCode 项目更改或 2.) 旧版本中的某些内容Unity 或 iOS 版本。我想,第一步是理解“(尚未加载)”的含义!

最佳答案

(尚未加载)...

NSBundle 是图像和界面资源的容器,但它也是代码资源的容器。您可以在不加载代码资源的情况下实例化包,然后稍后显式加载它们(- isLoaded- load- loadAndReturnError:)。

确保所有资源都配置为在构建期间复制到您的包中。您可以在 Finder 中打开 bundle (右键单击并显示包内容)以验证它是否包含您期望的所有内容。

关于ios - nibBundleOrNil 返回包的名称和消息 "(not yet loaded)"意味着什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16221576/

相关文章:

ios - iOS 5 更新后,我的 iPad 应用程序图标变白了

objective-c - 调用 popToRootViewController 动画导致崩溃。我应该怎么做?

ios - 以编程方式将 View 分配给变量

ios - NSString 绘制矩形 : and drop shadows on iOS

ios - 无法使用类型为 '+' 的参数列表调用 '(frame: CGRect)'

iphone - 远程 html 文件完成加载时的 iOS webview 事件

uiviewcontroller - 使用 present modally 将数据从一个 uiviewcontroller 发送到另一个 navigationcontroller

ios - 如何在打字时进行实时 UITextField 计数(Swift)?

ios - 通过其任何 UI 元素(例如按钮、标签、文本字段)仅获取父类的名称

ios - 如何在导航 Controller 内的 Storyboard 中从appdelegate推送viewcontroller