访问和下载点播资源 iOS9
accessing and downloading on demand resources iOS9
我正在尝试实施新的 iOS9 功能应用程序瘦身,我了解如何标记图像并在 Xcode 7 中启用按需资源,但我不了解如何在我的应用程序中实施 NSBundleResourceRequest应用程序,有人可以帮助我吗,将不胜感激
大多数信息都可以在 Apple documentation 中找到。
基本上你需要做这个:
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
}
}
}
}
我还发现 this guide 很有帮助。
我正在尝试实施新的 iOS9 功能应用程序瘦身,我了解如何标记图像并在 Xcode 7 中启用按需资源,但我不了解如何在我的应用程序中实施 NSBundleResourceRequest应用程序,有人可以帮助我吗,将不胜感激
大多数信息都可以在 Apple documentation 中找到。
基本上你需要做这个:
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
}
}
}
}
我还发现 this guide 很有帮助。