Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/110.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
访问和下载按需资源iOS9_Ios_Objective C_Iphone_Ios9_On Demand Resources - Fatal编程技术网

访问和下载按需资源iOS9

访问和下载按需资源iOS9,ios,objective-c,iphone,ios9,on-demand-resources,Ios,Objective C,Iphone,Ios9,On Demand Resources,我正在尝试实现新的iOS9功能应用细化,我了解如何在Xcode 7中标记图像和启用按需资源,但我不了解如何在我的应用中实现NSBundleResourceRequest,有人能帮我吗,非常感谢苹果提供了大部分信息 基本上你需要做到: NSSet *tagsSet = [NSSet setWithObjects:@"resourceTag1", @"resourceTag2", nil]; NSBundleResourceRequest *request = [[NSBundleResourceR

我正在尝试实现新的iOS9功能应用细化,我了解如何在Xcode 7中标记图像和启用按需资源,但我不了解如何在我的应用中实现NSBundleResourceRequest,有人能帮我吗,非常感谢

苹果提供了大部分信息

基本上你需要做到:

NSSet *tagsSet = [NSSet setWithObjects:@"resourceTag1", @"resourceTag2", nil];
NSBundleResourceRequest *request = [[NSBundleResourceRequest alloc] initWithTags:tagsSet];
[request conditionallyBeginAccessingResourcesWithCompletionHandler:^(BOOL resourcesAvailable) {
    if (resourcesAvailable) {
        // Start using resources.
    } else {
        [request beginAccessingResourcesWithCompletionHandler:^(NSError * _Nullable error) {
            if (error == nil) {
                // Start using resources.
            }
        }];
    }
}];

首先,检查资源是否可用。或者下载它们

这是我使用的
swift
代码

let tags = NSSet(array: ["tag1","tag2"])
let resourceRequest = NSBundleResourceRequest(tags: tags as! Set<String>)
resourceRequest.conditionallyBeginAccessingResourcesWithCompletionHandler {(resourcesAvailable: Bool) -> Void in
    if resourcesAvailable {
        // Do something with the resources
    } else {
        resourceRequest.beginAccessingResourcesWithCompletionHandler {(err: NSError?) -> Void in
            if let error = err {
                print("Error: \(error)")
            } else {
                // Do something with the resources
            }
        }
    }
}
let tags=NSSet(数组:[“tag1”、“tag2”])
让resourceRequest=NSBundleResourceRequest(标记:标记为!集)
resourceRequest.conditionallyBeginAccessingResourcesWithCompletionHandler{(resourcesAvailable:Bool)->中的Void
如果资源可用{
//利用资源做点什么
}否则{
resourceRequest.beginAccessingResourcesWithCompletionHandler{(错误:NSError?)->中的Void
如果let error=err{
打印(“错误:\(错误)”)
}否则{
//利用资源做点什么
}
}
}
}

我也发现这很有帮助。

你好,罗兰,我刚才在演示中使用了本地化功能,但它可以一次下载所有标签,你能帮我吗?你需要编辑标签数组,只下载你当时需要的标签。