问题标签 [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.
objective-c - NSBundle,可以用来保存项目文件吗?
我正在构建一个可用于创建“项目”的 Mac OS X 应用程序。当用户保存项目时,他们将保存许多资源:图像文件、文本文件、sqlite 文件等。
我可以在 Documents 中为每个项目创建一个文件夹,在该文件夹中我可以放置所有项目资产,并且只包含一个用于打开项目的项目文件。
我已经阅读了我想使用的 NSBundle。但我只在应用程序包的上下文中阅读过它们。是否可以以这种方式使用 NSBundle?用户只能看到一个文件,并且可以将其移动到他们喜欢的任何地方。
使用 NSBundle 做我正在尝试的事情是否有意义?还是有其他方法可以做到这一点?
(我对 MacOS X 编程相当陌生)
更新
我相信 iPhoto 使用这种方法来存储“iPhoto Library”,这就是我想对我的应用程序做的事情,我应该研究 NSBundle 吗?
iphone - 总是返回英语
这是我的代码:
我知道 bundle 变量指向正确的 bundle,因为英文值正确输出——见下文。
我的包结构如下所示:
我的 Localizable.strings 看起来像这样:
在 en.lproj 目录中:
kTCStringMissing = "缺少字段 en";
在 de.lproj 目录中:
kTCStringMissing = "缺失字段";
但是当我在模拟器中运行我的应用程序时,在将语言设置为 Deutsch 并将区域设置为 Deutschland 之后,上面的 *string 对象始终具有值“Missing Fields en”。
我错过了什么?
cocoa - 从另一个进程卸载我的插件
我正在NSDockTilePlugIn
尝试向我的应用程序添加一个,但我遇到了一些奇怪的行为——可以理解的行为,但我想看看是否有办法解决它。
当我从 dmg 运行我的应用程序或将(dmg 版本的)应用程序保留在 Dock 中时,Dock 会加载我的 .docktileplugin 包。
当应用程序退出时,插件会收到一条setDockTile:
带有 a 的消息nil
NSDockTile *
(根据文档)。但是,插件继续运行,除非我杀死 Dock,否则我无法弹出(卸载、分离)dmg(我想注销也可以)。
我尝试通过NSDistributedNotificaitonCenter
(从应用程序的非 dmg 版本)发送通知来告诉它卸载,但是控制台告诉我现在我加载了两个相同的 docktileplugin,并且不确定哪个将执行.
即使 [[NSBundle bundleWithPath:...] unload] 返回YES
,我仍然无法弹出 dmg。
ios - - (BOOL)loadShaders 方法对我不起作用
我正在尝试从基于视图的应用程序中使用 opengl es 2.0 制作图表,但是 - (BOOL)loadShaders 总是返回 NO,因此控制在 renderer1 中进行。知道发生了什么吗?
iphone - .json 文件不包含在 mainBundle 中?
我正在创建一个 iPhone 应用程序,其中包含.json
资源中的文件,但无法使用以下方法访问这些文件:
这些文件似乎不包含在构建的应用程序包中。我必须配置一些东西才能在包中包含 .json 文件吗?
谢谢
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_file
是nil
。仔细检查我的文件系统以检查文件是否存在:
显然文件在那里。
如果我切换到“iPad Simulator 4.0”或任何其他模拟器版本,一切都会按预期工作。
我的设置是否有问题,或者NSBundle
在 iPad 3.2 中这种行为是否正确?不幸的是,我没有实际的物理 iPad 来测试它。
objective-c - 方法调用中的 NSBundle 参数
我必须调用这个方法:
所以当我把这个放到 iPhone 上的时候,路径不对。我知道我必须使用 NSBundle 但如果我这样做
我收到警报:“从不兼容的指针类型传递 'initWithPNGFileName:andGame:andCGRect:' 的参数 1”
我应该如何继续使用 NSBundle?
iphone - NSInternalInconsistencyException 无法加载 nib ind 包
我正在为 iPad 开发一个应用程序。该应用程序具有以下详细信息:
基础 SDK:4.2 部署目标:3.2
该应用程序是一个游戏应用程序,它有 10 个回合。
在每一轮中,我加载 6 个控制器,并且在每轮完成后再次开始相同的循环。
该应用程序运行良好,直到 4 轮,但在第 4 轮结束时,由于以下错误而崩溃:
“NSInternalInconsistencyException 无法加载 nib ind 包:”
我已经检查了所有解决方案,例如检查 nib 文件名、检查 nib 文件路径。Nib 文件名和 nib 文件路径都正确,目标也正确,但仍然崩溃。
对此的任何帮助将不胜感激。
谢谢,
希亚姆
nsbundle - 按钮和图像未添加到设备上的视图中(在模拟器中工作)
我正在尝试从我的主包中加载一个 plist,但它运行得不太好。我不断得到一个无效的 CFStringRef ,这导致我想要的所有显示都为零。
让这更奇怪。它在模拟器中完美运行。我附上了这张图片来帮助解释。
http://img847.imageshack.us/img847/1185/screenshot20110325at120m.png
这对我来说没有任何意义。它可以在模拟器中运行,为什么它不能在设备上运行?
}
在模拟器和设备中,控制台报告在每个创建的视图中都有一个子视图。在模拟器中,按钮被添加并出现,其图像已更改。但是,在设备上,该按钮不会出现,其图像已更改。虽然它说按钮在那里,但它根本没有出现,我也无法与它交互,以防图像没有设置。
//addScroller.m 我已经尝试清理目标并将图像直接添加到应用程序文件夹中......我什么也没得到。我的下一个赌注是它与我从 plist 文件或其他东西加载它的事实有关。我确实重命名了 ads 文件夹并将其设为小写,并且几乎是从头开始的。plist会导致问题吗?我加载它的方式是改变文件大小写还是修改字符串?
编辑:我在应用程序的其他地方加载了图片,效果很好
iphone - 在捆绑包中创建新文件夹
我正在通过这种方式在我的应用程序中创建一个新包:
File Menu => New => New File... => Resources = Settings bundle... 这是我得到的文件夹结构:
- 测试包
- 根目录
- en.lproj
现在我想在 Test.bundle 下直接放置一个“Images”文件夹,但我无法这样做。虽然我可以将图像文件夹放在“en.lproj”文件夹中,但这样做好吗?