网赢中国专注大数据营销 [会员登录][免费注册][网赢中国下载]我要投稿|加入合伙人|设为首页|收藏|RSS
网赢中国是大数据营销代名词。
网络营销
当前位置:网赢中国 > 行业资讯 > 营销战略 > 网络营销营销战略 > iOS 9 App Thinning
iOS 9 App Thinning
编辑:李刚 发布时间: 2016-4-11 23:04:00    文章来源:百度百家
网络营销



App Thinning 是苹果在去年 WWDC, 也就是 iOS 9 中推出的为 App 瘦身的一个新的技术。 App Thinning 主要分为 3 个部分:


* App Slicing


* Bitcode


* On Demand Resources


App Slicing


我们正常的应用中都会用到图片资源,为了适配 iPhone 6 Plus 以及 iPhone 6, 图片资源需要包含 @2x 的图片 和 @3x 的图片,而 Slicing 就是在这一步进行优化,Slicing 会根据用户在 App Store 下载的不同设备选择对应的资源。例如:当用户使用 iPhone 6 在 App Store 上下载 App 的时候,App Store 只会给予他 @2x 的图片,而不会像以前一样,不管三七二十一我把所有的资源都给你,根据苹果的描述,这大约能节约你 30% 到 50% 的大小。而你要做的事情,仅仅是使用 Xcode 7 IDE, 并且使用其中的 Assert Catalog 管理你的资源文件。


不过 Slicing 因为 iCloud 备份的问题, 知道 iOS 9.0.2 以及 Xcode 7.0.1 才可以被使用


Bitcode


Bitcode 是苹果在你 App 被下载之前做的另外一件优化。Bitcode 是你的代码编译为最终可执行文件的中间的一层,当你的 App 以 Bitcode 的形式提交到 iTunes Connect 的时候,iTunes Connect 会自动为合适的机器编译出对应的代码,例如:对于 64 位机器的 iPhone 6 或者 iPad Air 2,Bitcode 会为其编译出适合 64 位机器可执行文件。


对于 iOS app 来说, Bitcode 不是必须的,但 Bitcode 编译选项为 Yes(这里应该只是一个过渡期,有些第三方库如果不在继续维护了需要尽快换掉), 对于 tvOS 和 watchOS 的 app,Bitcode 的的选项必须为 Yes。


On Demand Resources


最后一个 App Thinnig 步骤是 On Demand Resources, On Demand Resources 在游戏的制作中比较常见,主要为了一些没用的资源在用到了才会去下载,比如,当我们设计一个游戏有 3 个关卡的时候,第一关的资源在 App 被下载的时候就已经下载好了,但是,出于对 App 大小的考虑,此时,第二关的资源是不需要下载的, 可以等到第一关结束以后,或者第一关进行到一半的时候后台进行下载。


On Demand Resources 中的资源包括了 图片,音效等等, 下面是一个 On Demand Resources 的 Demo, 语言的话,我们选用 Swift.


Demo 是这样的: 首页只有一个 Button,默认情况下 Assets 里面的图片 Group 没有被下载, 当点击 Button 以后,会先去看 Group 时候已经存储下载完毕, 如果没有下载,则会去触发一个下载请求,下载完成后,把图片显示到居中的位置。


@IBAction func downloadBarButtonItemTouchUpInside(sender: UIButton) {


let tags = NSSet(array: ['Group'])


self.resourceRequest = NSBundleResourceRequest(tags: tags as! Set<String>)


self.resourceRequest?.conditionallyBeginAccessingResourcesWithCompletionHandler() {


resourceAvailable in


if resourceAvailable {


dispatch_async(dispatch_get_main_queue()) {


self.imageView.image = UIImage(named: 'Group')


}


} else {


self.resourceRequest?.beginAccessingResourcesWithCompletionHandler() {


error in


if error == nil {


dispatch_async(dispatch_get_main_queue()) {


self.imageView.image = UIImage(named: 'Group')


}


} else {


print(error)


}


}


}


}


}


另外,我们可以通过 Xcode 中的 Disk 来查看 On Demand Resources 的情况



完整的 Demo : https://github.com/VioletHill/AppThinningDemo


更多内容请关注iOS开发:iOSDevTip




网络营销
编辑推荐
图片行业资讯
  • 酒店提升直接预订的三条法则
  • 让互联网营销增加幽默感的七个方法
  • [深度]流量迷恋症破解之法:欲化流量为销量,记住这5点秘笈就够了
  • - 全额免单已废,好评返现被禁!以后怎么玩(附前两篇10个爆款打造法)
  • 如何精准提升转化率?这里有三大要素,你都get了吗
营销资讯搜索
网络营销
推荐工具
    热点关注
    网络营销
    网络营销
    网络营销
    网络营销
     

    大数据营销之企业名录

    网络营销之邮件营销

    大数据营销之搜索采集系列

    大数据营销之QQ号采集

    大数据营销之QQ精准营销

    大数据营销之QQ消息群发

    大数据营销之空间助手

    大数据营销之QQ联盟

    大数据营销之QQ群助手
     
    设为首页 | 营销资讯 | 营销学院 | 营销宝典 | 本站动态 | 关于网赢中国 | 网赢中国渠道 | 网站RSS | 友情链接
    本站网络实名:网赢中国  国际域名:www.softav.com  版权所有 2004-2016  深圳爱网赢科技有限公司
    邮箱:web@softav.com 电话:+86-755-26010839(十八线) 传真:+86-755-26010838
    在线咨询:点击这里给我发消息 点击这里给我发消息 点击这里给我发消息  点击这里给我发消息  点击这里给我发消息

    深圳网络警
    察报警平台
    公共信息安
    全网络监察
    经营性网站
    备案信息
    不良信息
    举报中心
    中国文明网
    传播文明
    分享