240 发简信
IP属地:上海
  • 120
    静态区析构时引发的线程安全 heap-use-after-free

    静态区析构时引发的线程安全 背景 给openssl 1.0.2 是非线程安全的,需要CRYPTO_set_locking_callback设置函数来控制加锁和解锁.examp...

  • @大大东 和正常创建文件夹一样。 如果想弄子header需要配置 modulemap文件 类似于这样的写法。
    // module.modulemap 文件
    module OCClass {
    // headers.h 和 module.modulemap 必须在同一group下,否则需要配置 `header "/??/headers.h"`到指定位置
    header "headers.h"
    export *

    // 导入目录Sub下的所有文件.这样更方便不用在headers.h中一一声明了,直接递归带入所有
    umbrella "Sub"
    module * { export * }

    //或者通过指定 子module的方式配置
    explicit module A {
    header "A/A.h"
    export *
    }

    explicit module B {
    header "B/B.h"
    export *
    }
    }

    混编framework实践

    开篇 在开发中,由于某些原因不开源代码,我们常常将其制作成framework来隐藏源代码。 除此之外我们还会遇到OC、Swift混编的情况,又或者是遇到一些很老,non-mo...

  • 120
    混编framework实践

    开篇 在开发中,由于某些原因不开源代码,我们常常将其制作成framework来隐藏源代码。 除此之外我们还会遇到OC、Swift混编的情况,又或者是遇到一些很老,non-mo...

  • 经测试 strongSelf并不能延迟vc的释放 移除kvo也会导致崩溃, 不知博主测试过没有

  • 「解答疑惑二」 的内容都是错的

  • iOS UIImage加载gif图片

    一.gif格式主要分块 (1) 控制块:控制块包含有用来控制数据流(Data Stream)或者设置硬件参数的信息,其成员包括:GIF文件头(Header)逻辑屏幕描述块(L...

  • 120
    苹果APP验证原理(2):描述文件与签名信息

    苹果APP验证原理(1)[https://www.jianshu.com/p/e61907c08d12] 接着上一篇双向签名之后有了上面那个流程后,看似安全了,可是他真的完美...

  • 120
    苹果APP验证原理(1):双向签名

    双向签名: 手机和苹果服务器还有开发人员的MAC电脑,他们一共维护着2对公私钥,利用这两对公私钥分别完成双向签名与验证,从而已到达苹果服务器对苹果手机里的appstore的控...

  • //不用返回值的函数
    #define KVAR_VOID(name,...) void(^name)(__VA_ARGS__)
    //待返回值的函数
    #define KVAR(name,obj,...) obj(^name)(__VA_ARGS__)

    我想到的是可以分情况拆细一点,比如定义函数时候的宏的写法,实现函数的时候宏的写法, 那个是为了照顾所有情况弄了一个通用写法。

    像swift一样书写OC代码OC链式编程实践

    链式编程特点 链式编程 = 点语法 事物 串联 同样的hello word代码 OC和swift调用函数时候最大的区别就是swift回归了通用写法,利用了点语法传参.而OC则...

  • 120
    像swift一样书写OC代码OC链式编程实践

    链式编程特点 链式编程 = 点语法 事物 串联 同样的hello word代码 OC和swift调用函数时候最大的区别就是swift回归了通用写法,利用了点语法传参.而OC则...

  • 120
    KVO实现原理 自定义KVO

    原理 注册一个中间类KVO_xxx继承自要观察的类,通过isa-swizzling将xxx类的isa指像新的的类KVO_XXX. 并且动态给新类重写setter方法,以达到属...