objective-c – 将图像(或其他资源)添加到Mac或iOS Framework

objective-c – 将图像(或其他资源)添加到Mac或iOS Framework,第1张

概述假设我有一个现有的iOS或Mac框架,我们称之为Test.framework.这个框架已成功编译和链接(为iOS部分提供了i386和armv6 / 7 archs的一个技巧)并且工作得非常好. 现在我想添加一个图像让我们称之为’test.png’.我已将其复制到我的框架的Resources文件夹中,以便我具有以下结构: ls Test.framework- Headers -> Version 假设我有一个现有的iOS或Mac框架,我们称之为Test.framework.这个框架已成功编译和链接(为iOS部分提供了i386和armv6 / 7 archs的一个技巧)并且工作得非常好.

现在我想添加一个图像让我们称之为’test.png’.我已将其复制到我的框架的Resources文件夹中,以便我具有以下结构:

ls Test.framework- headers -> Versions/Current/headers- Resources -> Versions/Current/Resources- Test -> Versions/Current/Test- Versions ls Test.framework/Resources- Info.p@R_404_6818@- test.png

然而,当我使用我的框架创建项目时,我无法访问该图像.

我试过了:

[UIImage imagenamed:@"test.png"][UIImage imagenamed:@"Test.framework/test.png"][UIImage imagenamed:@"Test.framework/Resources/test.png"]

但没有任何结果总能给我一个零的对象.

有任何想法吗 ?

编辑

经过进一步的调查后,似乎我想要实现的目标无法在iOS上完成.原因是最终的应用程序包(.app)不会复制为Mac OS编译的应用程序所在的私有框架.

这在iOS Bundle Structures documentation中进一步详述.

感谢Rob Keniger和xuzhe对他们的赞赏.我会赞扬xuzhe的答案,因为它实际上是我原来问题的最合适的答案(尽管Rob评论让我深入研究了这个问题)

解决方法 “imagenamed:”方法仅适用于App捆绑包中的图像.你应该用
[[UIImage alloc] initWithContentsOffile:path];

代替.

关于路径,因为我不确定“Test.Framework”是否在你的App包中,我无法给你一个示例代码.但如果它剂量,下面的代码应该工作:

Nsstring* path = [Nsstring stringWithFormat:@"%@/Test.framework/Resources/test.png",[[NSBundle mainBundle] bundlePath]];
总结

以上是内存溢出为你收集整理的objective-c – 将图像(或其他资源)添加到Mac或iOS Framework全部内容,希望文章能够帮你解决objective-c – 将图像(或其他资源)添加到Mac或iOS Framework所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://www.54852.com/langs/1241738.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-06-06
下一篇2022-06-06

发表评论

登录后才能评论

评论列表(0条)

    保存