在iPhone应用程序中实现应用程序细化

编程入门 行业动态 更新时间:2024-10-26 18:15:59
本文介绍了在iPhone应用程序中实现应用程序细化的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧! 问题描述

我的iOS应用程序在应用商店中的尺寸很大.如何降低应用程序精简,以使应用程序尺寸变小.

My iOS application's size is quite bigger on app store. How can I lower achieve the app thinning so that application size get lower.

Note:-

  • 我已经在使用Images.xcassets分别放置x/2x/3x图像.
  • 我还阅读了苹果文档,并仔细阅读了优化级别的构建设置.
  • 我还使用了8位PNG而不是32位PNG.
  • I am already using Images.xcassets to put x/2x/3x images separately.
  • I also read this apple documentation and take care of optimisation level build settings.
  • I am also using an 8-bit PNG instead of a 32-bit PNG.
  • 推荐答案

    从昨天开始搜索应用程序细化,位代码和按需应用程序资源,现在我调试所有这些内容并分享我从美丽的苹果文档,并在我的示例项目的帮助下.

    Searching app thining, bit code and on demand app resource from yesterday, Now I debug all these things and sharing my knowledge that I got from beautiful apple documentation with help of my sample project.

    应用程序稀疏概念涵盖了位代码和按需资源.我将在下面详细讨论按需资源:-

    App thinning concept covers bit code and on-demand resource. I will discuss on-demand resource in detail below:-

    iOS中的按需资源:- 它会在需要时访问

    On-Demand Resources in iOS:- It is accessing the images/videos/.h/.m/swift file whenever needed (Yes, on-demand resouring include source code files also).

    • 转到目标中的Resource tags设置.
    • 创建一个新的Tag.它将显示在仅按需下载"下.
    • 您可以在各种标签下添加.h,.m,.xassest,.png等.您还可以通过选择单个文件在文件检查器中像这样.
    • Goto Resource tags setting in your target.
    • Create a new Tag. It will appear under Download Only On demand.
    • You can add .h, .m, .xassest, .png etc under various tags. You can also assign tag by selecting individual file like this in file inspector.

    现在是编码部分(我最喜欢的网站):-

    Now comes the coding part (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 accessing the on demand resource when not in use(generally when game level changes)

    #pragma mark - Remove access to on demand -(void)endAccessToOnDemandResource{ [resourceRequest endAccessingResources]; }

    NOTE:-不要忘记在构建设置中启用On_Demand_Resources .

    EXAMPLE PROJECT:- I create a sample project and uploaded here:- [www.dropbox/s/edi5zj68a4wuguh/WebOnTab.zip?dl=0][6]

    请不要为这个项目中的自动布局而烦恼.我主要关注需求资源/应用程序事情.

    Please don't bother about autolayout in this project. My main focus is on demand resourcing/App thing.

    摘要:-因此,使用上述技术,我们可以通过on-demand resourcing来实现app thinning.另请参阅官方文档,该文档还介绍了resourceRequests(NSBundleResourceRequest)的tracking progress,priorities.

    SUMMARY:- Thus we can achieve app thinning by on-demand resourcing using above technique. Please also have a look at official documentation which also describes about tracking progress, priorities of resourceRequests(NSBundleResourceRequest).

    更多推荐

    在iPhone应用程序中实现应用程序细化

    本文发布于:2023-11-12 03:30:52,感谢您对本站的认可!
    本文链接:https://www.elefans.com/category/jswz/34/1580385.html
    版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
    本文标签:应用程序   iPhone

    发布评论

    评论列表 (有 0 条评论)
    草根站长

    >www.elefans.com

    编程频道|电子爱好者 - 技术资讯及电子产品介绍!