导语

objc 运行时的最新版本为 709 ,一回生,二回熟,简单的记录一下过程。

环境 & 工具

macOS Sierra 10.12.4
Xcode 8.3.2
objc-709
搭建 objc-706 时的头文件

阅读更多

导语

iOS 8 引入了 Touch ID 认证的方式来解决输入密码的麻烦操作,Swift 最低需要 iOS 8*,因此本文会用 *Swift 来实现 Touch ID 功能

环境

macOS Sierra 10.12.4
Xcode 8.3.1
Swift 3.0
iPhone 6S 10.1.1

Touch ID 需要硬件支持

阅读更多

导语

最近,公司的个人开发者账号需要续费,同事发现他的 VISA 信用卡无法支付。提示你的支付授权失败。请核实你的信息后重试,或试试其他付款方式。我在尝试的时候也报了上面的错误,再次尝试就顺利支付了。搜索后发现原来自 2015年6月1日 起,中国大陆发行的 VISA 单标卡若在中国境内他行的 VISA 外卡收单商户交易,VISA 网络将不能受理。

阅读更多

导语

 

  本文主要简单描述了在 OC & Swift 混编工程中,两者是如何相互调用的,顺便实现在 Swift 中获取类的属性。

环境

 

macOS Sierra 10.12.4
Xcode 8.3.1
Swift 3.0

阅读更多

环境 & 工具

 

macOS Sierra 10.12.4
Xcode 8.3.1
Jailbreak iPad 8.4
No Jailbreak iPhone 10.1.1

影响因素

 

  • _CodeSignature
  • 二进制文件
  • embedded.mobileprovision
  • entitlements

阅读更多

导语

 
  在整理阅读:iOS App签名的原理了解了签名的过程,现在重新回头整理一下 iOS 重签名的一些内容。   

环境 & 工具

 

macOS Sierra 10.12.4
Xcode 8.3.1

数字签名

 
  数位签章(又称公钥数位签章,英语:Digital Signature )是一种类似写在纸上的普通的物理签名,但是使用了公钥加密领域的技术实现,用于鉴别数字信息的方法。

  在这里指 codesign 的参数 identity ,它的生成是用 SHA-1 算法对整个数字证书内容进行摘要生成的 40 位的 16 进制的字符序列。

Entitlement

 
在 《深入解析Mac OS X & iOS 操作系统》一书中提到:   

 

  Entitlement 是一种权限声明机制,从概念上非常像 .NetJava 中使用的声明式权限机制。在 iOSentitlement plist 是直接嵌入在应用程序的二进制中的,并且由苹果进行数字签名

 

阅读更多

导语

说说 iOS 中关于事件是如何传递与响应的。

因素 iOS 关键词
时间 点击/长按/摇一摇/音乐暂停/播放时
地点 响应者 UIButton/UIView 事件派发 & 响应者链条
人物 用户/运行循环 NSRunLoop & UIApplication
事件 UITapGestureRecognizer/UITouchUpInside UIEvent
如何 执行的具体操作 外部业务实现

阅读更多

导语

  前几天在 Bugly 公众号上看到这篇 iOS App签名的原理,解决了我原来关于 iOS 开发的证书相关知识的一些模糊的地方。
    
  下面按使用的场景进行梳理。   

场景一: 指定 AppStore 安装

  1. App 打包上传到 AppStore ,苹果服务器用对应用进行加壳,签名,用私钥对签名加密
  2. iOSAppStore 下载应用,在安装时用公钥进行验证

.ipa 包里有一个 _CodeSignature 的文件夹,其中有个 CodeResources
文件,拖拽到 Sublime Text 中,发现其内容包括 4 个节点,

阅读更多

前言

本文将会从内存结构上分析 OC 中的 Block

环境

macOS Sierra 10.12.3
Xcode 8.2.1

关于 Block 的实现

Block的实现 中的 Block 的结构声明如下

阅读更多

Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×