Поиск app thining, бит-кода и ресурса приложения по требованию со вчерашнего дня. Теперь я отлаживаю все эти вещи и делюсь своими знаниями о том, что получил от красивого apple documentation с помощью моего образца проекта.
Обложка концепции прореживания приложений bit code и ресурс по требованию. Я буду обсуждать по требованию ресурс подробно ниже: -
On-Demand ресурсы в прошивкой: - Он обращается к изображения/видео/.h/.m/быстрый файл всякий раз, когда это необходимо (Yes, on-demand resouring include source code files also
).
- Просмотров:
Resource tags
Установка в вашу цель.
- Создать новый
Tag
. Он появится в разделе «Загрузка только по требованию».
- Вы можете добавить .h, .m, .xassest, .png и т. Д. Под различными тегами. Вы также можете назначить тег, выбрав отдельный файл like this in file inspector.
Сейчас идет часть кодирования (my favourite site): -
NSBundleResourceRequest *resourceRequest;
#pragma mark - On demand resource
-(void)getOnDemandResource{
NSSet *setOfTag = [NSSet setWithObjects:@"chair", nil];
resourceRequest = [[NSBundleResourceRequest alloc]initWithTags:setOfTag];
[resourceRequest conditionallyBeginAccessingResourcesWithCompletionHandler:^(BOOL resourcesAvailable) {
if (!resourcesAvailable) {
// resourceRequest.loadingPriority = 1;//set the downloading priority (0 - 1) , NSBundleResourceRequestLoadingPriorityUrgent
[resourceRequest beginAccessingResourcesWithCompletionHandler:^(NSError * _Nullable error) {
if (error) {
UIAlertController *alert = [UIAlertController alertControllerWithTitle:@"Error" message:error.debugDescription preferredStyle:UIAlertControllerStyleAlert];
[self presentViewController:alert animated:YES completion:nil];
}else{
//// The associated resources are loaded
}
}];
}else{
// The associated resources are available
}
}];
}
End, получающих доступ к по требованию ресурса, когда он не используется (как правило, при изменении уровня игры)
#pragma mark - Remove access to on demand
-(void)endAccessToOnDemandResource{
[resourceRequest endAccessingResources];
}
NOTE:-
Дон» t забыл enable On_Demand_Resources in build setting.
EXAMPLE PROJECT:- I create a sample project and uploaded here:- [http://www.dropbox.com/s/edi5zj68a4wuguh/WebOnTab.zip?dl=0][6]
Пожалуйста, не беспокойтесь об автозапуске в этом проекте. Мое основное внимание уделяется обеспечению ресурсов/приложений.
РЕЗЮМЕ: - Таким образом, можно достичь с помощью app thinning
on-demand resourcing
с помощью описанной выше техники. Также обратите внимание на official documentation, который также описывает около tracking progress
, priorities
ресурсовRequests (NSBundleResourceRequest
).
Кто-нибудь знает, как определить, где находятся ресурсы по запросу после загрузки? Я пытаюсь использовать их для своей игры, ведьма не использует каталог xcasset. Я хочу загрузить текстуры, а затем использовать их, как если бы они были частью исходного пакета, но мне нужно знать точное местоположение файла. – dimayak
Я проверил документацию на яблоко (https://developer.apple.com/library/prerelease/ios/documentation/Foundation/Reference/NSBundleResourceRequest_Class/index.html#//apple_ref/occ/instm/NSBundleResourceRequest/initWithTags:bundle :) , но все еще не в состоянии найти местоположение. Поэтому я поставил вопрос на SO: http: //stackoverflow.com/questions/33824601/how-to-detect-where-the-on-demand-resources-are-located-after-being-downloaded – pkc456