问题标签 [nsbundle]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
1465 浏览

objective-c - NSBundle,可以用来保存项目文件吗?

我正在构建一个可用于创建“项目”的 Mac OS X 应用程序。当用户保存项目时,他们将保存许多资源:图像文件、文本文件、sqlite 文件等。

我可以在 Documents 中为每个项目创建一个文件夹,在该文件夹中我可以放置所有项目资产,并且只包含一个用于打开项目的项目文件。

我已经阅读了我想使用的 NSBundle。但我只在应用程序包的上下文中阅读过它们。是否可以以这种方式使用 NSBundle?用户只能看到一个文件,并且可以将其移动到他们喜欢的任何地方。

使用 NSBundle 做我正在尝试的事情是否有意义?还是有其他方法可以做到这一点?

(我对 MacOS X 编程相当陌生)

更新

我相信 iPhoto 使用这种方法来存储“iPhoto Library”,这就是我想对我的应用程序做的事情,我应该研究 NSBundle 吗?

0 投票
1 回答
647 浏览

iphone - 总是返回英语

这是我的代码:

我知道 bundle 变量指向正确的 bundle,因为英文值正确输出——见下文。

我的包结构如下所示:

我的 Localizable.strings 看起来像这样:

在 en.lproj 目录中:

kTCStringMissing = "缺少字段 en";

在 de.lproj 目录中:

kTCStringMissing = "缺失字段";

但是当我在模拟器中运行我的应用程序时,在将语言设置为 Deutsch 并将区域设置为 Deutschland 之后,上面的 *string 对象始终具有值“Missing Fields en”。

我错过了什么?

0 投票
0 回答
214 浏览

cocoa - 从另一个进程卸载我的插件

我正在NSDockTilePlugIn尝试向我的应用程序添加一个,但我遇到了一些奇怪的行为——可以理解的行为,但我想看看是否有办法解决它。

当我从 dmg 运行我的应用程序或将(dmg 版本的)应用程序保留在 Dock 中时,Dock 会加载我的 .docktileplugin 包。
当应用程序退出时,插件会收到一条setDockTile:带有 a 的消息nil NSDockTile *(根据文档)。但是,插件继续运行,除非我杀死 Dock,否则我无法弹出(卸载、分离)dmg(我想注销也可以)。

我尝试通过NSDistributedNotificaitonCenter(从应用程序的非 dmg 版本)发送通知来告诉它卸载,但是控制台告诉我现在我加载了两个相同的 docktileplugin,并且不确定哪个将执行.
即使 [[NSBundle bundleWithPath:...] unload] 返回YES,我仍然无法弹出 dmg。

0 投票
1 回答
718 浏览

ios - - (BOOL)loadShaders 方法对我不起作用

我正在尝试从基于视图的应用程序中使用 opengl es 2.0 制作图表,但是 - (BOOL)loadShaders 总是返回 NO,因此控制在 renderer1 中进行。知道发生了什么吗?

0 投票
3 回答
2342 浏览

iphone - .json 文件不包含在 mainBundle 中?

我正在创建一个 iPhone 应用程序,其中包含.json资源中的文件,但无法使用以下方法访问这些文件:

这些文件似乎不包含在构建的应用程序包中。我必须配置一些东西才能在包中包含 .json 文件吗?

谢谢

0 投票
2 回答
21502 浏览

xcode - NSBundle pathForResource 返回 nil 和子目录

例如,我的应用程序中有一堆目录和文件images/misc/mainmenu_background.。我在“iPad Simulator 3.2”中运行以下代码:

在此调用之后,images包含路径/Users/wic/Library/Application Support/iPhone Simulator/3.2/Applications/8F67150B-71E6-4735-8CC6-38B3CE6D3568/Foo.app/images

但是images_misc并且images_misc_filenil。仔细检查我的文件系统以检查文件是否存在:

显然文件在那里。

如果我切换到“iPad Simulator 4.0”或任何其他模拟器版本,一切都会按预期工作。

我的设置是否有问题,或者NSBundle在 iPad 3.2 中这种行为是否正确?不幸的是,我没有实际的物理 iPad 来测试它。

0 投票
2 回答
234 浏览

objective-c - 方法调用中的 NSBundle 参数

我必须调用这个方法:

所以当我把这个放到 iPhone 上的时候,路径不对。我知道我必须使用 NSBundle 但如果我这样做

我收到警报:“从不兼容的指针类型传递 'initWithPNGFileName:andGame:andCGRect:' 的参数 1”

我应该如何继续使用 NSBundle?

0 投票
2 回答
3035 浏览

iphone - NSInternalInconsistencyException 无法加载 nib ind 包

我正在为 iPad 开发一个应用程序。该应用程序具有以下详细信息:

基础 SDK:4.2 部署目标:3.2

该应用程序是一个游戏应用程序,它有 10 个回合。

在每一轮中,我加载 6 个控制器,并且在每轮完成后再次开始相同的循环。

该应用程序运行良好,直到 4 轮,但在第 4 轮结束时,由于以下错误而崩溃:

“NSInternalInconsistencyException 无法加载 nib ind 包:”

我已经检查了所有解决方案,例如检查 nib 文件名、检查 nib 文件路径。Nib 文件名和 nib 文件路径都正确,目标也正确,但仍然崩溃。

对此的任何帮助将不胜感激。

谢谢,

希亚姆

0 投票
2 回答
284 浏览

nsbundle - 按钮和图像未添加到设备上的视图中(在模拟器中工作)

我正在尝试从我的主包中加载一个 plist,但它运行得不太好。我不断得到一个无效的 CFStringRef ,这导致我想要的所有显示都为零。

让这更奇怪。它在模拟器中完美运行。我附上了这张图片来帮助解释。

http://img847.imageshack.us/img847/1185/screenshot20110325at120m.png

这对我来说没有任何意义。它可以在模拟器中运行,为什么它不能在设备上运行?

}

在模拟器和设备中,控制台报告在每个创建的视图中都有一个子视图。在模拟器中,按钮被添加并出现,其图像已更改。但是,在设备上,该按钮不会出现,其图像已更改。虽然它说按钮在那里,但它根本没有出现,我也无法与它交互,以防图像没有设置。

//addScroller.m 我已经尝试清理目标并将图像直接添加到应用程序文件夹中......我什么也没得到。我的下一个赌注是它与我从 plist 文件或其他东西加载它的事实有关。我确实重命名了 ads 文件夹并将其设为小写,并且几乎是从头开始的。plist会导致问题吗?我加载它的方式是改变文件大小写还是修改字符串?

编辑:我在应用程序的其他地方加载了图片,效果很好

0 投票
1 回答
142 浏览

iphone - 在捆绑包中创建新文件夹

我正在通过这种方式在我的应用程序中创建一个新包:

File Menu => New => New File... => Resources = Settings bundle... 这是我得到的文件夹结构:

  • 测试包
  • 根目录
  • en.lproj

现在我想在 Test.bundle 下直接放置一个“Images”文件夹,但我无法这样做。虽然我可以将图像文件夹放在“en.lproj”文件夹中,但这样做好吗?