oc和swift混编包太大_swift和oc混编包太大 - CSDN
  • OCSwift混编后,感觉吊吊地,但某一天要发布应用时,心情就纠结了。本地AD hoc打包30.4M,发布应用到商店并且成功上线,发现APP体积为48.8M,心情非常惊讶。同事产品需求要把APP体积降到10M,一阵....。那么,APP...

    至今,推出swift已经是第三个年头了,小哥本着学习的心态,大胆地尝试在旧项目中用Swift编写。OC与Swift混编后,感觉吊吊地,但某一天要发布应用时,心情就纠结了。本地AD hoc打包30.4M,发布应用到商店并且成功上线,发现APP体积为48.8M,心情非常惊讶。同时产品需求要把APP体积降到10M,一阵….。那么,APP如何瘦身呢?

    为什么会突然多了18.4M呢?经过查看包内容,发现里面有个Frameworks文件夹,混编会产生libswiftXXX.dylib的动态库,统计一下这些swift动态库文件的大小,惊讶了:
    还在路上,稍等...

    问题提出:混编有多大影响?
    对ipa包解压,观察Frameworks文件夹,如下图:

    还在路上,稍等...还在路上,稍等...还在路上,稍等...

    • 除了下划线以外,如AFNetworking,SDWebImage…都是OC编写的第三方库。它们占用的空间大约100KB,而swift语言编程的第三方库,占用的空间1MB以上。
    • 值得一提的是,需要在Podfile顶部加上“use_frameworks!”。开启这个选项之后,所有以源码引入的pod都会编译成动态链接库
      还在路上,稍等...

    努力尝试瘦身的过程
    一、首先尝试删除YYKit.
    结果是:ipa包缩小1.2M(也就是说YYKit占用1.2M
    过程:
    (1)未删除之前ipa包大小是26.7M
    还在路上,稍等...
    项目中Cocoapods用到YYKit,YYKit的文件大小是个什么情况:
    还在路上,稍等...
    文件夹里面有Vendor和YYKit,其中Vendor大小是9.2M,YYKit是1.8M
    (2)移除YYKit,打包ipa包发现大小缩小至25.2M:
    还在路上,稍等...
    (3)看来YYKit是占用空间大小的重要因素。
    (4)移除了Rxcocoa,RxSwift,SwiftJson后,ipa缩小至:21.5M
    还在路上,稍等... Rxcocoa,RxSwift,SwiftJson共占用3.7M
    (5)移除Alamofire,ipa包缩小至:20.6M
    还在路上,稍等... Alamofire占用0.9M

    二、一些参考资料
    基于clang插件的一种iOS包大小瘦身方案
    图片压缩工具,(亲测不错)
    智图图片优化平台,鹅厂程序猿出

    展开全文
  •   在OC swift混编后打包由于SwiftSupport支持文件会导致混编后的打的文件会偏。 ####解决方法 Build Setting -> User-Defined -> EMBEDDED_CONTENT_CONTAINS_SWIFT 设置为NO #####相关链接 ...

    ####SwiftSupport 导致包过大
      在OC swift混编后打包由于SwiftSupport支持文件会导致混编后的打的包文件会偏大。

    ####解决方法

    • Build Setting -> User-Defined -> EMBEDDED_CONTENT_CONTAINS_SWIFT 设置为NO
      设置swift避免支持文件.png

    #####相关链接
    avoid SwiftSupport folder in .ipa

    展开全文
  • OC和swift混编包太大

    2018-01-29 17:29:50
    OC和swift混编包太大问题
    关于object-cswift混编问题,无论是在oc基础上添加swift还是在swift上添加oc最后打出来的ipa的包都会大一到两倍。因为这个原因可能有很多人会放弃混编,但是不用害怕,上传iTunes之后,ipa会压缩回正常大小
    
    展开全文
  • 关于swift和OC混编

    2016-01-18 09:19:03
    啦啦 最近没啥事情做就开始干swift了,然后就 混编的各种问题接肘而来, 1.如何在swift中使用OC代码  这个百度上又很多帖子,一种就是在swift中创建OC文件的时候,Xcode会提示,如果点确定的话,后面所有的问题都...
    啦啦 最近没啥事情做就开始干swift了,然后就 混编的各种问题接肘而来,
    

    1.如何在swift中使用OC代码

      这个百度上又很多帖子,一种就是在swift中创建OC文件的时候,Xcode会提示,如果点确定的话,后面所有的问题都没有了,

      但是如果手抖点错的话,那么就只能自己手动创建了,
      1.1 创建一个.h文件 名字随便取

      1.2 然后在PROJECT > Build Setting > 搜索bridge 

      1.3 将创建的.h路劲填充进去  注:这边我试了很多次,有时候需要写全路径$(PROJECT_DIR)+路径

                               有时候是 工程名+路径 反正有一个是对的

    2.如何在oc中使用swift代码

      嘿嘿 ,这个百度上也有好多,但是妈蛋,我今天遇到的这个问题找了好久都没有解决

      先说方法吧 swift没有.h文件,但是Xcode会生成一个”项目名-Swift.h“文件 只要在相应的文件中#import  或者在 全局header文件中#import就行的

      当然我今天碰到的这个问题就是,妈蛋,这样impot文件之后,发现文件报错说没有这个文件,然后我就作死的找啊找 找啊找,最后才发现,自己在buildsetting中将文件名改了(Xcode上显示的工程名居然没变) 后面用buildsetting中的“文件名-Swift.h”

     

    3. 友情提示:查百度时看到的,但是自己还没有实践过  
      如果自己的工程名中又空格 eg.My Project      那么最好#import "My_Project-Swift.h"

    哈哈 今天的B 就装到这里了 

    展开全文
  • OC和Swift混编Pod引入第三方库的问题 问题描述:Swift应用OC 的开源框架,需要创建一个桥接头文件,问题就出在这个看似简单,却隐藏着一个巨大的问题:一切都按部就班的在桥接头文件中引入了OC 头文件,但是...
  • 概述 Swift的设计的初衷就是摆脱...随着Swift的改进及Swift开源项目剧增,越来越多的Objective-C工程开始使用Swift混编,不管是在基于Swift工程中或者Objective-C工程中,SwiftObjective-C文件都可以无缝结合。本文
  • 最近由于项目需求需要使用Swift做开发,但之前的好多有用的东西都是使用OC写的,鉴于这种情况最好的方式当然是使用swift重写,但这样的工作量太大,而且不能保证功能的稳定性,所以自己就尝试的使用Framework来嵌入...
  • Swift封住哪个OC的库是一件比较常见的事情,毕竟对于大多数公司来说,老的代码都是用OC写的,而且经过多次迭代,这些OC的代码已经被验证了是稳定的,用Swift重写代价太大。这就引入了一个需求: 用Swift和OC混编...
  • 前言 自从Xcode10正式版发布之后, 先吃螃蟹的朋友赞叹了Dark Mode...出于此原因考虑, 我便一直在使用Xcode9.4.1 及 Swift4进行混编项目的开发. 然而每每使用低版本的Xcode打包上传APPStore时, 就会收到苹果的官方警...
  • Object-C Swift 混编

    2019-03-05 16:22:31
    Swift还在不断的优化,说开发效率因该是比OC更快的,毕竟很多...就需要在OC里调用Swift代码,在Swift调用OC代码的混编模式了。今天,就简单说下基本的设置,以后会慢慢更新。1.OC调用Swifta.设置defines module 为...
  • 文章可能写得有点晚了,Swift语言已经诞生很久的时间了,现在它已经挤掉了OC的市场了,但是,总是存在很多老项目,或者是第三方库还没有完全翻译成Swift,因此,混编还是需要的。虽然现在详解可能有点晚,不过...
  • Objective-C 与 Swift 混编在使用上主要依赖两个头文件:ProjectName-Bridging-Header.h ProjectName-Swift.h。 对于 Swift 调用 Objective-C,在 ProjectName-Bridging-Header.h 中 import 要使用的 Objective-C...
  • 所以慢慢多了很多OC混编Swift的项目,但是其实swift调用OC还是挺简单的,把OC项目慢慢转成swift问题不大。swift可以算是OC更上层的语言,我这里说的坑都是关于SwiftOC的,很奇葩吧,还有把Swift项目转成OC的,一句...
  • 在写cocos2dx引擎游戏时,试验了一下swift和c++的混编swift可以与OC混编,C++可以和OC混编,那么是不是c++也可以调用swift的代码呢?大家都知道,swift刚刚面世,还有很多问题存在,尽管相对于OC来说,swift语言...
  • 前奏: 目前基于flutter的活跃程度,有很多的开发人员开始学习flutter,我也是其中的一...RN在这一步上面的灵活性没有flutter的灵活性,简单的来讲,如果使用RN的话,项目的的打包依赖对平台的依赖性比较高,而f...
  • 随着 Xcode8  swift3.0 的正式到来,我开始着手将 swift2.3 的项目转到 swift3 (至于转换过程,这里不多做介绍,Xcode自带的转换工具,基本可以转换80%左右,剩下的自己慢慢调试即可。)但是,转到swift3...
  • OCSwift指南

    2020-03-10 00:01:09
    作者丨zhangferry来源丨iOS成长之路运行环境:Xcode 11.1 Swift5.0最近参与的一个项目需要从Objective-C(以下简称OC)转到Swift,期间遇到了一些...
  • 作者简介睿东,2009年加入携程,从事无线研发,现负责酒店无线研发工作。说起Swift,对iOS开发者来说那是既熟悉又陌生,虽然早在2014年苹果就发布了Swift1.0版本,但在这之...
1 2 3 4 5 ... 20
收藏数 472
精华内容 188
关键字:

oc和swift混编包太大