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

发布时间:2020-01-06 发布网站:大佬教程
大佬教程收集整理的这篇文章主要介绍了objective-c – 将图像(或其他资源)添加到Mac或iOS Framework大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
假设我有一个现有的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.plist
- 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所遇到的程序开发问题。

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

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ群:277859234,请注明来意。