问题标签 [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 回答
5041 浏览

cocoa - pathForResource 不起作用

我有问题

如果我用

没关系。但是当我使用

这不工作

有什么想法!?

谢谢

0 投票
1 回答
168 浏览

objective-c - 可可插件中重复的冲突框架

我目前正在为我的应用程序编写一个插件框架。我希望能够在不必更新我的应用程序的情况下发布插件,并且我打算使该框架可用于第三方插件。当两个插件附带相同的框架时,我目前遇到了问题。加载插件时,运行时会感到困惑,因为框架被加载了两次。缓解此问题的最佳方法是什么?

0 投票
0 回答
340 浏览

cocoa - CGContextRef 在插件中损坏

这是我遇到的一个奇怪问题的图片:

截屏

我正在使用插件架构在 Core Graphics 中绘制东西。宿主应用程序创建一个传递给插件的上下文,插件将其绘制到上下文中并将其发送回。这里多次绘制多个对象(尽管只是为了演示,即使只有一个对象也会发生)。结果被转换CGImageRefs并放置在画布(另一个CGContext)上,该画布又被转换为NSImage并显示。

如您所见,问题在于它经常返回稍微损坏的版本。每次都不一样。另一个奇怪的事情是这些盒子应该有 50% 的 alpha,但它们没有(除了第二个盒子的顶部,看起来它的颜色是正确的)。有趣的是,背景(在宿主应用程序中的 Core Graphics 中绘制)从未损坏过,因此转换或类似的东西不是CGImage问题NSImage

更奇怪的是,我尝试让插件NSImage直接导出,效果完全相同,甚至可能更糟。在我看来,问题在于在插件中使用 Core Graphics 绘制任何东西。有没有其他人遇到过这个问题,或者更好的是,有没有其他人找到解决方案?

如果有帮助,这是主机代码:

和插件代码:

0 投票
1 回答
2870 浏览

cocoa - 在 Cocoa/C++ 中使用相对路径加载资源

我目前第一次直接使用 Cocoa 构建屏幕保护程序。现在我在尝试从.saver包中加载资源时遇到了一个问题。我基本上有一个小的 C++ 包装类来.exr使用freeImage. 只要我使用绝对路径,这就会起作用,但这不是很有用,是吗?所以,基本上,我尝试了一切:将.exr文件放在包本身的级别.saver,放在包资源文件夹中,等等。

然后我只是尝试加载.exr这样的内容,但没有成功:

我还尝试将其转到.saver捆绑位置,如下所示:

...也许从该位置加载.exr,但没有成功。

然后我遇到了这个:

...这似乎是在 Cocoa 中查找资源的常用方法,但由于某种原因,在我的情况下它是空的。有什么想法吗?我真的尝试了我想到的任何事情但没有成功,所以我会很高兴有一些意见!

0 投票
2 回答
3106 浏览

objective-c - NSBundle 加载一个 NSViewController

我正在研究一个可以上传包含 NSViewController 的自定义 NSBundle 的项目。在我的主程序中,我有这个代码来处理加载后的包......

捆绑包中的主体类 init 方法如下所示...

View.nib 是位于 bundles 项目中的一个 nib。但是每当我加载捆绑包时,我都会收到此错误...

2010-05-27 09:11:18.423 PluginLoader [45032:a0f] 找不到名为:在捆绑路径中查看:(空)2010-05-27 09:11:18.424 PluginLoader [45032:a0f]-[NSViewController loadView ] 无法加载“视图”笔尖。

我知道我已经把所有东西都连接好了,因为该行[label setStringValue:[instance name]];正确设置了标签文本。另外,如果我将包中的所有类都加载到我的主应用程序项目中,一切都会按预期工作。关于如何在我的包中正确引用“视图”的任何想法?

谢谢!

0 投票
5 回答
6232 浏览

objective-c - 在 Obj C 中生成字符串列表

似乎 Objective C 跳过了一些障碍,使看似简单的任务变得异常困难。

我只需要创建一个字符串序列,image1.jpg,image2.jpg

即在一个循环中 var imgString:String='image'+i+'.jpg;

我认为最佳做法是使用NSMutableStringwithappendString方法?

我究竟做错了什么??

我收到以下错误

错误:在不是结构或联合的东西中请求成员“appendString”

0 投票
1 回答
10353 浏览

unit-testing - OCUnit & NSBundle

我根据“iPhone 开发指南”创建了 OCUnit 测试。这是我要测试的课程:

我的单元测试(LogicTests 目标):

所有必要的框架、“myClass.m”和添加到目标的图像。但是在构建时我有一个错误:

[[myClass alloc] initWithIndex:0] raised Image (image_0) with path \"(null)\" for current index (0) wasn't found.. myClass initialization error

此代码(初始化)在应用程序本身(主要目标)中运行良好,稍后显示正确的图像。我还检查了我的项目文件夹 ( build/Debug-iphonesimulator/LogicTests.octest/) - 有LogicTests,Info.plist和必要的图像文件 (image_0.png是其中之一)。

怎么了?

0 投票
1 回答
3318 浏览

iphone - iPhone pathForResource vs bundlePath

我想使用 pathForResource,但如果路径不存在,它看起来不会创建路径。因此,我尝试通过执行以下操作手动创建一个:

我正在动态创建文件,因此我需要在拥有Build and Run应用程序后访问它们。但它将项目放在一个唯一的 id 文件夹中,因此路径类似于:

但是每次我进行构建时,这个唯一的 id 都会改变。创建我每次都能到达的路径的正确方法是什么(即使在模拟器中)?

谢谢。

更新:编辑了这个问题,希望对将来遇到它的人有所帮助。

更新:IWasRobbed 回答了创建路径 URL 的正确方法。但我能找到的最佳答案来自Brad Parks。不过,我确实希望有一种更清洁的方式。

0 投票
3 回答
3051 浏览

cocoa - 动态覆盖首选字符串本地化以进行测试

使用 iPhone 模拟器中的设置应用程序来切换语言是一种 PITA 测试本地化调整的方法。我正在尝试找出一种在我的应用程序中使用调试设置即时切换本地化(en/fr/es/etc)的方法,而无需重新启动应用程序。

NSBundle 提供了从任意本地化请求本地化资源的方法,例如

但我没有找到字符串管理子系统的等价物。从这些 问题来看,您可以覆盖注册的默认值,这听起来很傻,需要重新启动应用程序。

这里还有其他策略吗?如果我将 NSLocalizedString 包装在调试版本中自己工作的东西,那么加载给定.strings文件的最短路径是什么?是否有一种编程方式来访问这些字符串表,而无需自己去解析它们?

谢谢。

0 投票
3 回答
878 浏览

iphone - iPhone:将应用程序可执行文件作为文件读取

我试图通过几种方法读取主应用程序,但我什么也没回来使用 NSFileHandle 它没有返回任何内容,并带有以下代码:

但是我什么也没得到,所以我的问题是是否可以访问可执行文件进行读写,如果可以,我们怎么能做到这一点?谢谢