首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >从CocoaPods资源包中加载图像

从CocoaPods资源包中加载图像
EN

Stack Overflow用户
提问于 2014-05-24 01:19:37
回答 7查看 15.4K关注 0票数 21

我正在创建一个私有库,其中包含由库中的组件引用的资源。该库与使用CocoaPods的应用程序共享。在库的.podspec中,我包含了如下一行:

代码语言:javascript
复制
s.resource_bundles = {'IXMapKitResources' => ['IXMapKit/Resources/*']}

该捆绑包中的资源之一是具有多个图像集的资产目录,其中一个称为“IXMKAnnotationIcons-Normal- in”。下面的代码返回一个nil:

代码语言:javascript
复制
UIImage * image = [UIImage imageNamed: @"IXMKAnnotationIcons-Normal-Accident"];

我找到了一个描述如何从pod加载字体的article on mokacoding.com,但这对我不起作用:

代码语言:javascript
复制
- (UIImage *) ixmk_imageNamed: (NSString *) name
{
    NSString * IXMKResourceBundleName = @"IXMapKitResources.bundle";
    NSString * resourceName = [NSString stringWithFormat: @"%@/%@", IXMKResourceBundleName, name];

    NSString * imageTypeString = [self ixmk_stringForImageType: imageType];
    NSURL * url = [[NSBundle mainBundle] URLForResource: resourceName withExtension: imageTypeString];

    NSData * imageData = [NSData dataWithContentsOfURL: url];
    if (imageData != nil)
    {
        CGDataProviderRef provider = CGDataProviderCreateWithCFData((CFDataRef) imageData);
        CGImageRef imageRef = [self ixmk_imageFromDataProvider: provider imageType: imageType];

        UIImage * image = [UIImage imageWithCGImage: imageRef];

        CFRelease(imageRef);
        CFRelease(provider);

        return image;
    }
    else
    {
        return nil;
    }
}

CocoaPods webpage describing the resources keyword具有以下警告:

我们强烈建议库开发人员采用资源包,因为使用资源属性可能会出现名称冲突。此外,使用该属性指定的资源会直接复制到客户机目标,因此Xcode不会对它们进行优化。

我在这里不知所措。

EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23835052

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档