Are you over 18 and want to see adult content?
More Annotations
A complete backup of https://bereskinparr.info
Are you over 18 and want to see adult content?
A complete backup of https://planetared.com
Are you over 18 and want to see adult content?
A complete backup of https://shrewsburyfolkfestival.co.uk
Are you over 18 and want to see adult content?
A complete backup of https://spacecloud.kr
Are you over 18 and want to see adult content?
A complete backup of https://chemocare.com
Are you over 18 and want to see adult content?
A complete backup of https://enable.org.uk
Are you over 18 and want to see adult content?
A complete backup of https://retail.org.au
Are you over 18 and want to see adult content?
A complete backup of https://unidiversidad.com.ar
Are you over 18 and want to see adult content?
A complete backup of https://roots.io
Are you over 18 and want to see adult content?
A complete backup of https://burg-stolpen.org
Are you over 18 and want to see adult content?
A complete backup of https://rustica.fr
Are you over 18 and want to see adult content?
Favourite Annotations
A complete backup of calliopesguardodarte.it
Are you over 18 and want to see adult content?
A complete backup of fullreleasez.com
Are you over 18 and want to see adult content?
A complete backup of bonediseasess.blogspot.com
Are you over 18 and want to see adult content?
A complete backup of clearspending.ru
Are you over 18 and want to see adult content?
A complete backup of torrent-games.net
Are you over 18 and want to see adult content?
A complete backup of americancivilwarforum.com
Are you over 18 and want to see adult content?
A complete backup of ewbankauctions.co.uk
Are you over 18 and want to see adult content?
Text
about me. 2009
年我来北京上大学,刚好赶上国内移动互联网的萌芽和崛起,很荣幸我能见证它的快速发展并参与其中,最终 IOS APP “去评分” 功能的几种实现总结 备注:上述 URL 中 id 字符串后续的数字为当前 App 对应的 Apple ID,可以在 App Store Connect 后台查到;另外 openURL: 方法在 iOS 10 以后已被弃用,替换为 openURL:options:completionHandler:。. 但是,这种方式只是打开 App 的 App Store 详情页面,用户如果想进行评分或评论,需要在该页面往下滑,找到“评 IOS APP 异常捕获相互覆盖问题 在开发和维护 App 过程中,我们通常需要去捕获并上报导致 App 崩溃的异常信息,以便于分析,一般我们会使用一些成熟的第三方 SDK,例如 Bugly 或者友盟等。 IOS 判断设备是否锁屏 因此,我们无法通过 AppDelegate 的上述相应回调事件来直接判断设备是否锁屏了。. 在网上搜了一下,目前主要有以下几种方式:. 通过 Darwin 通知监听锁屏事件,代码大致如图 1 所示, 不过这种方式已被禁用,在提交 App Store 审核时会被拒。. 通过 中的 配置 XCODEBUILD 命令打包支持 BITCODE 我们通常会把一些公用的模块抽离出来打成一个 .a 静态库或者 .framework 动态库,然后再嵌入到宿主工程中。 最近我们的 App 工程开启 Bitcode 编译选项后(Enable Bitcode = YES),发现在进行 Archive 归档打 Release 包时,报如下错误,提示说工程使用的 libTestStaticSDK.a 静态库不支持 Bitcode: 1ld: bitcod 使用 XCODE 检测代码覆盖率 “代码覆盖率”是软件测试中的一种度量,用于描述工程中源代码被测试到的比例和程度。 在做单元测试时,代码覆盖率经常被拿来作为衡量测试质量好坏的指标,同时也能在一定程度上检测出工程中的冗余代码。 使用 OTOOL 命令查看 APP 所使用的动态库 在之前的小集中,我们介绍了 iOS 开发中“静态库”和“动态库”库的区别。对于工程中使用到的第三方 “.a 静态库” 或者 “静态 framework”,在编译链接时,就会被合并到主 Mach-O 二进制文件中,而对于“动态 framework”,则会被拷贝到 .ipa 包中的 .app 文件里的 “Frameworks” 文件夹下,在 App 启动时 苹果示例源码阅读:SIMPLEPING 前言手机网络连接状态的检测对于 iOS App 开发来说是一个非常基础的需求,在前一篇文 苹果示例源码阅读:Reachability 我们介绍了如何通过 SCNetworkReachability 提供的一系列 C 函数 API 进行网络连接状态变化的监听。但事实上,此方案能获取的只是设备的本地连接状态,有时它很难为我们检测真正的 TESTFLIGHT 内测邀请弹窗的实现 最近,我们在使用一些 App 时经常会遇到,在 App 刚启动不久后有时我们会看到一些内测弹窗,类似 “恭喜您获得内测资格,诚邀您体验新版本”,然后点击下载按钮时就会跳转到 TestFlight 中安装测试版本,(注意不是跳转到 App Store 中更新最新版本哦),而且用户无需输入任何测试邀请码。 ZUBIN BLOGTRANSLATE THIS PAGE 在 iOS 开发中,我们通常会通过 delegate 或者 block 的方式来实现异步回调。. 如图 1 所示,在异步方法 doSomethingWithCallback: 中执行一些耗时操作,然后通过执行 callback block 将结果返回给调用者,并执行后续的逻辑。. 在 iOS 系统中,通常为了节省电池电量,我们会将 ABOUT ME | ZUBIN BLOGTRANSLATE THIS PAGE Hello, I am Zubin Kang, an iOS Developer, now working on Alibaba Ant Financial Group, Alipay team. See my LinkedIn page for more detailsabout me. 2009
年我来北京上大学,刚好赶上国内移动互联网的萌芽和崛起,很荣幸我能见证它的快速发展并参与其中,最终 IOS APP “去评分” 功能的几种实现总结 备注:上述 URL 中 id 字符串后续的数字为当前 App 对应的 Apple ID,可以在 App Store Connect 后台查到;另外 openURL: 方法在 iOS 10 以后已被弃用,替换为 openURL:options:completionHandler:。. 但是,这种方式只是打开 App 的 App Store 详情页面,用户如果想进行评分或评论,需要在该页面往下滑,找到“评 IOS APP 异常捕获相互覆盖问题 在开发和维护 App 过程中,我们通常需要去捕获并上报导致 App 崩溃的异常信息,以便于分析,一般我们会使用一些成熟的第三方 SDK,例如 Bugly 或者友盟等。 IOS 判断设备是否锁屏 因此,我们无法通过 AppDelegate 的上述相应回调事件来直接判断设备是否锁屏了。. 在网上搜了一下,目前主要有以下几种方式:. 通过 Darwin 通知监听锁屏事件,代码大致如图 1 所示, 不过这种方式已被禁用,在提交 App Store 审核时会被拒。. 通过 中的 配置 XCODEBUILD 命令打包支持 BITCODE 我们通常会把一些公用的模块抽离出来打成一个 .a 静态库或者 .framework 动态库,然后再嵌入到宿主工程中。 最近我们的 App 工程开启 Bitcode 编译选项后(Enable Bitcode = YES),发现在进行 Archive 归档打 Release 包时,报如下错误,提示说工程使用的 libTestStaticSDK.a 静态库不支持 Bitcode: 1ld: bitcod 使用 XCODE 检测代码覆盖率 “代码覆盖率”是软件测试中的一种度量,用于描述工程中源代码被测试到的比例和程度。 在做单元测试时,代码覆盖率经常被拿来作为衡量测试质量好坏的指标,同时也能在一定程度上检测出工程中的冗余代码。 使用 OTOOL 命令查看 APP 所使用的动态库 在之前的小集中,我们介绍了 iOS 开发中“静态库”和“动态库”库的区别。对于工程中使用到的第三方 “.a 静态库” 或者 “静态 framework”,在编译链接时,就会被合并到主 Mach-O 二进制文件中,而对于“动态 framework”,则会被拷贝到 .ipa 包中的 .app 文件里的 “Frameworks” 文件夹下,在 App 启动时 苹果示例源码阅读:SIMPLEPING 前言手机网络连接状态的检测对于 iOS App 开发来说是一个非常基础的需求,在前一篇文 苹果示例源码阅读:Reachability 我们介绍了如何通过 SCNetworkReachability 提供的一系列 C 函数 API 进行网络连接状态变化的监听。但事实上,此方案能获取的只是设备的本地连接状态,有时它很难为我们检测真正的 TESTFLIGHT 内测邀请弹窗的实现 最近,我们在使用一些 App 时经常会遇到,在 App 刚启动不久后有时我们会看到一些内测弹窗,类似 “恭喜您获得内测资格,诚邀您体验新版本”,然后点击下载按钮时就会跳转到 TestFlight 中安装测试版本,(注意不是跳转到 App Store 中更新最新版本哦),而且用户无需输入任何测试邀请码。 ZUBIN BLOGTRANSLATE THIS PAGE 上个月,CocoaPods 在发布了 1.6.0 正式版不久后,就马上开始了 1.7.0 Beta 版的公测,它在先前版本重写底层架构的基础上进行了大量的扩展,是一次巨大更新。. 本文将介绍 1.7.0 的几个新特性,主要总结自 CocoaPods 官方博文《CocoaPods 1.7.0 Beta!》,如有描述不当的地方,请查阅原文: ABOUT ME | ZUBIN BLOGTRANSLATE THIS PAGE Hello, I am Zubin Kang, an iOS Developer, now working on Alibaba Ant Financial Group, Alipay team. See my LinkedIn page for more detailsabout me. 2009
年我来北京上大学,刚好赶上国内移动互联网的萌芽和崛起,很荣幸我能见证它的快速发展并参与其中,最终 使用 XCODE 检测代码覆盖率 “代码覆盖率”是软件测试中的一种度量,用于描述工程中源代码被测试到的比例和程度。 在做单元测试时,代码覆盖率经常被拿来作为衡量测试质量好坏的指标,同时也能在一定程度上检测出工程中的冗余代码。 使用 OTOOL 命令查看 APP 所使用的动态库 在之前的小集中,我们介绍了 iOS 开发中“静态库”和“动态库”库的区别。对于工程中使用到的第三方 “.a 静态库” 或者 “静态 framework”,在编译链接时,就会被合并到主 Mach-O 二进制文件中,而对于“动态 framework”,则会被拷贝到 .ipa 包中的 .app 文件里的 “Frameworks” 文件夹下,在 App 启动时 IOS APP 的反调试(ANTI-DEBUG) 此时,如果尝试对 App 进行 GDB 依附,则会得到一个 Segmentation fault 错误。 另外,AloneMonkey 的《关于反调试 & 反反调试那些事》文中也介绍了可以通过 sysctl,syscall, 等其他几种检测调试的手段。 再谈 UITABLEVIEW 的 ESTIMATEDROWHEIGHT 今天发现之前写的一个基于 UITableView 的列表页面存在如下问题: 当列表在滑动过程中,特别是往下滑快接近底部时,右侧的滚动条一直在不断地抖动,并且滚动条的长度也在不断地微小变化;另外,当滑动到底部加载下一页数据并reloadData
后,列表的内容会整体跳动往上偏移一段距离。 SSL 数字证书的标准、编码以及文件扩展名 SSL 数字证书的主要目的是 用于传递服务端公钥 ,我们下面来了解一下证书的标准、编码格式以及常见的文件扩展名。.证书标准. X.509
数字证书标准,定义证书文件的结构和内容,详情参考RFC5280 。. SSL
数字证书通常采用这种标准,一般由用户公共密钥和用户 XCODE 工程添加 “动态” FRAMEWORK 的几种方式 在上一条小集,我们分别介绍了 “.a 静态库”、“静态 framework” 和 “动态 framework” 的异同。. 接下来我们将介绍一下,如何在 Xcode 工程中添加动态库(Dynamic Library)。 首先我们知道,对于 “.a 静态库” 和 “静态 framework”,直接把相关文件拖拽到工程中,并勾选 Copy if needed 选项即可,无需其它 微信小程序适配 IPHONE X 总结 我们这里先简单总结一下 iPhone X 屏幕的基础数据,方便后续在小程序开发中进行适配。. 屏幕尺寸:5.8 英寸(对角线). 屏幕物理分辨率:1125px × 2436px,458 ppi. 实际开发适配尺寸:375pt × 812pt,@3x. 此外,由于在 iPhone X 屏幕顶部状态栏区域有“齐刘海”,以及在 解决「HTTPDNS + HTTPS」的证书校验问题为了提升 app
网络请求的稳定可靠,从不同维度考虑有很多的优化方案,今天我们就从“域名解析”切入来讲一讲。 下面先来介绍一下 httpdns 服务,以及接入 httpdns 后对 app 中原有的 https 请求的证书校验带来的影响和相关解决方案。 ZUBIN BLOGTRANSLATE THIS PAGE 在 iOS 开发中,我们通常会通过 delegate 或者 block 的方式来实现异步回调。. 如图 1 所示,在异步方法 doSomethingWithCallback: 中执行一些耗时操作,然后通过执行 callback block 将结果返回给调用者,并执行后续的逻辑。. 在 iOS 系统中,通常为了节省电池电量,我们会将 ABOUT ME | ZUBIN BLOGTRANSLATE THIS PAGE Hello, I am Zubin Kang, an iOS Developer, now working on Alibaba Ant Financial Group, Alipay team. See my LinkedIn page for more detailsabout me. 2009
年我来北京上大学,刚好赶上国内移动互联网的萌芽和崛起,很荣幸我能见证它的快速发展并参与其中,最终 COCOAPODS 1.7 新特性 上个月,CocoaPods 在发布了 1.6.0 正式版不久后,就马上开始了 1.7.0 Beta 版的公测,它在先前版本重写底层架构的基础上进行了大量的扩展,是一次巨大更新。 本文将介绍 1.7.0 的几个新特性,主要总结自 CocoaPods 官方博文《CocoaPods 1.7.0 Beta!》,如有描述不当的地方,请查阅原文: IOS APP “去评分” 功能的几种实现总结 备注:上述 URL 中 id 字符串后续的数字为当前 App 对应的 Apple ID,可以在 App Store Connect 后台查到;另外 openURL: 方法在 iOS 10 以后已被弃用,替换为 openURL:options:completionHandler:。. 但是,这种方式只是打开 App 的 App Store 详情页面,用户如果想进行评分或评论,需要在该页面往下滑,找到“评 使用 OTOOL 命令查看 APP 所使用的动态库 在之前的小集中,我们介绍了 iOS 开发中“静态库”和“动态库”库的区别。对于工程中使用到的第三方 “.a 静态库” 或者 “静态 framework”,在编译链接时,就会被合并到主 Mach-O 二进制文件中,而对于“动态 framework”,则会被拷贝到 .ipa 包中的 .app 文件里的 “Frameworks” 文件夹下,在 App 启动时 IOS 判断设备是否锁屏 因此,我们无法通过 AppDelegate 的上述相应回调事件来直接判断设备是否锁屏了。. 在网上搜了一下,目前主要有以下几种方式:. 通过 Darwin 通知监听锁屏事件,代码大致如图 1 所示, 不过这种方式已被禁用,在提交 App Store 审核时会被拒。. 通过 中的 使用 XCODE 检测代码覆盖率 “代码覆盖率”是软件测试中的一种度量,用于描述工程中源代码被测试到的比例和程度。 在做单元测试时,代码覆盖率经常被拿来作为衡量测试质量好坏的指标,同时也能在一定程度上检测出工程中的冗余代码。 TESTFLIGHT 内测邀请弹窗的实现 最近,我们在使用一些 App 时经常会遇到,在 App 刚启动不久后有时我们会看到一些内测弹窗,类似 “恭喜您获得内测资格,诚邀您体验新版本”,然后点击下载按钮时就会跳转到 TestFlight 中安装测试版本,(注意不是跳转到 App Store 中更新最新版本哦),而且用户无需输入任何测试邀请码。 解决「HTTPDNS + HTTPS」的证书校验问题 微信小程序适配 IPHONE X 总结 我们这里先简单总结一下 iPhone X 屏幕的基础数据,方便后续在小程序开发中进行适配。. 屏幕尺寸:5.8 英寸(对角线). 屏幕物理分辨率:1125px × 2436px,458 ppi. 实际开发适配尺寸:375pt × 812pt,@3x. 此外,由于在 iPhone X 屏幕顶部状态栏区域有“齐刘海”,以及在 ZUBIN BLOGTRANSLATE THIS PAGE 在 iOS 开发中,我们通常会通过 delegate 或者 block 的方式来实现异步回调。. 如图 1 所示,在异步方法 doSomethingWithCallback: 中执行一些耗时操作,然后通过执行 callback block 将结果返回给调用者,并执行后续的逻辑。. 在 iOS 系统中,通常为了节省电池电量,我们会将 ABOUT ME | ZUBIN BLOGTRANSLATE THIS PAGE Hello, I am Zubin Kang, an iOS Developer, now working on Alibaba Ant Financial Group, Alipay team. See my LinkedIn page for more detailsabout me. 2009
年我来北京上大学,刚好赶上国内移动互联网的萌芽和崛起,很荣幸我能见证它的快速发展并参与其中,最终 COCOAPODS 1.7 新特性 上个月,CocoaPods 在发布了 1.6.0 正式版不久后,就马上开始了 1.7.0 Beta 版的公测,它在先前版本重写底层架构的基础上进行了大量的扩展,是一次巨大更新。 本文将介绍 1.7.0 的几个新特性,主要总结自 CocoaPods 官方博文《CocoaPods 1.7.0 Beta!》,如有描述不当的地方,请查阅原文: IOS APP “去评分” 功能的几种实现总结 备注:上述 URL 中 id 字符串后续的数字为当前 App 对应的 Apple ID,可以在 App Store Connect 后台查到;另外 openURL: 方法在 iOS 10 以后已被弃用,替换为 openURL:options:completionHandler:。. 但是,这种方式只是打开 App 的 App Store 详情页面,用户如果想进行评分或评论,需要在该页面往下滑,找到“评 使用 OTOOL 命令查看 APP 所使用的动态库 在之前的小集中,我们介绍了 iOS 开发中“静态库”和“动态库”库的区别。对于工程中使用到的第三方 “.a 静态库” 或者 “静态 framework”,在编译链接时,就会被合并到主 Mach-O 二进制文件中,而对于“动态 framework”,则会被拷贝到 .ipa 包中的 .app 文件里的 “Frameworks” 文件夹下,在 App 启动时 IOS 判断设备是否锁屏 因此,我们无法通过 AppDelegate 的上述相应回调事件来直接判断设备是否锁屏了。. 在网上搜了一下,目前主要有以下几种方式:. 通过 Darwin 通知监听锁屏事件,代码大致如图 1 所示, 不过这种方式已被禁用,在提交 App Store 审核时会被拒。. 通过 中的 使用 XCODE 检测代码覆盖率 “代码覆盖率”是软件测试中的一种度量,用于描述工程中源代码被测试到的比例和程度。 在做单元测试时,代码覆盖率经常被拿来作为衡量测试质量好坏的指标,同时也能在一定程度上检测出工程中的冗余代码。 TESTFLIGHT 内测邀请弹窗的实现 最近,我们在使用一些 App 时经常会遇到,在 App 刚启动不久后有时我们会看到一些内测弹窗,类似 “恭喜您获得内测资格,诚邀您体验新版本”,然后点击下载按钮时就会跳转到 TestFlight 中安装测试版本,(注意不是跳转到 App Store 中更新最新版本哦),而且用户无需输入任何测试邀请码。 解决「HTTPDNS + HTTPS」的证书校验问题 微信小程序适配 IPHONE X 总结 我们这里先简单总结一下 iPhone X 屏幕的基础数据,方便后续在小程序开发中进行适配。. 屏幕尺寸:5.8 英寸(对角线). 屏幕物理分辨率:1125px × 2436px,458 ppi. 实际开发适配尺寸:375pt × 812pt,@3x. 此外,由于在 iPhone X 屏幕顶部状态栏区域有“齐刘海”,以及在 分类 | ZUBIN BLOGTRANSLATE THIS PAGE 目前共计 12 个分类. C/C++ 3. Flutter 1. Linux 1. Swift 2. iOS 技术文章 22. iOS 知识小集 43. 其它 6. 安全 1. 使用 OTOOL 命令查看 APP 所使用的动态库 在之前的小集中,我们介绍了 iOS 开发中“静态库”和“动态库”库的区别。对于工程中使用到的第三方 “.a 静态库” 或者 “静态 framework”,在编译链接时,就会被合并到主 Mach-O 二进制文件中,而对于“动态 framework”,则会被拷贝到 .ipa 包中的 .app 文件里的 “Frameworks” 文件夹下,在 App 启动时 使用 XCODE 检测代码覆盖率 “代码覆盖率”是软件测试中的一种度量,用于描述工程中源代码被测试到的比例和程度。 在做单元测试时,代码覆盖率经常被拿来作为衡量测试质量好坏的指标,同时也能在一定程度上检测出工程中的冗余代码。 IOS APP 的反调试(ANTI-DEBUG) 此时,如果尝试对 App 进行 GDB 依附,则会得到一个 Segmentation fault 错误。 另外,AloneMonkey 的《关于反调试 & 反反调试那些事》文中也介绍了可以通过 sysctl,syscall, 等其他几种检测调试的手段。 IOS APP 异常捕获相互覆盖问题 其中,NSSetUncaughtExceptionHandler 函数用于设置异常处理的回调函数,在程序终止前的最后一刻会调用我们设置的回调函数(Handler),进行崩溃日志的记录,代码如下: 但是,大部分第三方 SDK 也是通过这种方式来收集异常的,当我们通过 NSSetUncaughtExceptionHandler 设置异常处理函数时,会覆盖 SSL 数字证书的标准、编码以及文件扩展名 SSL 数字证书的主要目的是 用于传递服务端公钥 ,我们下面来了解一下证书的标准、编码格式以及常见的文件扩展名。.证书标准. X.509
数字证书标准,定义证书文件的结构和内容,详情参考RFC5280 。. SSL
数字证书通常采用这种标准,一般由用户公共密钥和用户 IOS 获取设备型号最新总结 在开发中,我们经常需要获取设备的型号(如 iPhoneX,iPhone 8 Plus
等)以进行数据统计,或者做不同的适配。但苹果并没有提供相应的系统 API 让我们直接取得当前设备的型号。 其中,UIDevice 有一个属性 model 只是用于获取 iOS 设备的类型,如 iPhone,iPod touch,iPad 等;而其另一个属性 name表示当前
XCODE 工程添加 “动态” FRAMEWORK 的几种方式 在上一条小集,我们分别介绍了 “.a 静态库”、“静态 framework” 和 “动态 framework” 的异同。. 接下来我们将介绍一下,如何在 Xcode 工程中添加动态库(Dynamic Library)。 首先我们知道,对于 “.a 静态库” 和 “静态 framework”,直接把相关文件拖拽到工程中,并勾选 Copy if needed 选项即可,无需其它 解决 WKWEBVIEW 无法处理 URL SCHEME 和 APP …TRANSLATE THISPAGE
之前使用 UIWebView 时,当遇到 App Store 下载链接,例如: LNMP + APACHE 架构配置:NGINX 做前端代理 + …TRANSLATE THISPAGE
前面两篇文章: Win7 下 VMware 虚拟机中安装 CentOS 服务器 CentOS 服务器环境搭建:Linux + Apache + MySQL + PHP + Nginx. 我们分别介绍了如何在 Win7 虚拟机中安装 CentOS 服务器、如何在本地主机 Win7 中通过 PuTTY “远程”登录虚拟机中的 CentOS 服务器,以及如何在 CentOS 中搭建 LAMP 环境和 ZUBIN BLOGTRANSLATE THIS PAGE 在 iOS 开发中,我们通常会通过 delegate 或者 block 的方式来实现异步回调。. 如图 1 所示,在异步方法 doSomethingWithCallback: 中执行一些耗时操作,然后通过执行 callback block 将结果返回给调用者,并执行后续的逻辑。. 在 iOS 系统中,通常为了节省电池电量,我们会将 ABOUT ME | ZUBIN BLOGTRANSLATE THIS PAGE Hello, I am Zubin Kang, an iOS Developer, now working on Alibaba Ant Financial Group, Alipay team. See my LinkedIn page for more detailsabout me. 2009
年我来北京上大学,刚好赶上国内移动互联网的萌芽和崛起,很荣幸我能见证它的快速发展并参与其中,最终 分类 | ZUBIN BLOGTRANSLATE THIS PAGE 目前共计 12 个分类. C/C++ 3. Flutter 1. Linux 1. Swift 2. iOS 技术文章 22. iOS 知识小集 43. 其它 6. 安全 1. 使用 OTOOL 命令查看 APP 所使用的动态库 在之前的小集中,我们介绍了 iOS 开发中“静态库”和“动态库”库的区别。对于工程中使用到的第三方 “.a 静态库” 或者 “静态 framework”,在编译链接时,就会被合并到主 Mach-O 二进制文件中,而对于“动态 framework”,则会被拷贝到 .ipa 包中的 .app 文件里的 “Frameworks” 文件夹下,在 App 启动时 COCOAPODS 1.7 新特性 上个月,CocoaPods 在发布了 1.6.0 正式版不久后,就马上开始了 1.7.0 Beta 版的公测,它在先前版本重写底层架构的基础上进行了大量的扩展,是一次巨大更新。 本文将介绍 1.7.0 的几个新特性,主要总结自 CocoaPods 官方博文《CocoaPods 1.7.0 Beta!》,如有描述不当的地方,请查阅原文: IOS APP “去评分” 功能的几种实现总结 备注:上述 URL 中 id 字符串后续的数字为当前 App 对应的 Apple ID,可以在 App Store Connect 后台查到;另外 openURL: 方法在 iOS 10 以后已被弃用,替换为 openURL:options:completionHandler:。. 但是,这种方式只是打开 App 的 App Store 详情页面,用户如果想进行评分或评论,需要在该页面往下滑,找到“评 IOS 判断设备是否锁屏 因此,我们无法通过 AppDelegate 的上述相应回调事件来直接判断设备是否锁屏了。. 在网上搜了一下,目前主要有以下几种方式:. 通过 Darwin 通知监听锁屏事件,代码大致如图 1 所示, 不过这种方式已被禁用,在提交 App Store 审核时会被拒。. 通过 中的 TESTFLIGHT 内测邀请弹窗的实现 最近,我们在使用一些 App 时经常会遇到,在 App 刚启动不久后有时我们会看到一些内测弹窗,类似 “恭喜您获得内测资格,诚邀您体验新版本”,然后点击下载按钮时就会跳转到 TestFlight 中安装测试版本,(注意不是跳转到 App Store 中更新最新版本哦),而且用户无需输入任何测试邀请码。 配置 XCODEBUILD 命令打包支持 BITCODE 我们通常会把一些公用的模块抽离出来打成一个 .a 静态库或者 .framework 动态库,然后再嵌入到宿主工程中。 最近我们的 App 工程开启 Bitcode 编译选项后(Enable Bitcode = YES),发现在进行 Archive 归档打 Release 包时,报如下错误,提示说工程使用的 libTestStaticSDK.a 静态库不支持 Bitcode: 1ld: bitcod 解决「HTTPDNS + HTTPS」的证书校验问题 ZUBIN BLOGTRANSLATE THIS PAGE 在 iOS 开发中,我们通常会通过 delegate 或者 block 的方式来实现异步回调。. 如图 1 所示,在异步方法 doSomethingWithCallback: 中执行一些耗时操作,然后通过执行 callback block 将结果返回给调用者,并执行后续的逻辑。. 在 iOS 系统中,通常为了节省电池电量,我们会将 ABOUT ME | ZUBIN BLOGTRANSLATE THIS PAGE Hello, I am Zubin Kang, an iOS Developer, now working on Alibaba Ant Financial Group, Alipay team. See my LinkedIn page for more detailsabout me. 2009
年我来北京上大学,刚好赶上国内移动互联网的萌芽和崛起,很荣幸我能见证它的快速发展并参与其中,最终 分类 | ZUBIN BLOGTRANSLATE THIS PAGE 目前共计 12 个分类. C/C++ 3. Flutter 1. Linux 1. Swift 2. iOS 技术文章 22. iOS 知识小集 43. 其它 6. 安全 1. 使用 OTOOL 命令查看 APP 所使用的动态库 在之前的小集中,我们介绍了 iOS 开发中“静态库”和“动态库”库的区别。对于工程中使用到的第三方 “.a 静态库” 或者 “静态 framework”,在编译链接时,就会被合并到主 Mach-O 二进制文件中,而对于“动态 framework”,则会被拷贝到 .ipa 包中的 .app 文件里的 “Frameworks” 文件夹下,在 App 启动时 COCOAPODS 1.7 新特性 上个月,CocoaPods 在发布了 1.6.0 正式版不久后,就马上开始了 1.7.0 Beta 版的公测,它在先前版本重写底层架构的基础上进行了大量的扩展,是一次巨大更新。 本文将介绍 1.7.0 的几个新特性,主要总结自 CocoaPods 官方博文《CocoaPods 1.7.0 Beta!》,如有描述不当的地方,请查阅原文: IOS APP “去评分” 功能的几种实现总结 备注:上述 URL 中 id 字符串后续的数字为当前 App 对应的 Apple ID,可以在 App Store Connect 后台查到;另外 openURL: 方法在 iOS 10 以后已被弃用,替换为 openURL:options:completionHandler:。. 但是,这种方式只是打开 App 的 App Store 详情页面,用户如果想进行评分或评论,需要在该页面往下滑,找到“评 IOS 判断设备是否锁屏 因此,我们无法通过 AppDelegate 的上述相应回调事件来直接判断设备是否锁屏了。. 在网上搜了一下,目前主要有以下几种方式:. 通过 Darwin 通知监听锁屏事件,代码大致如图 1 所示, 不过这种方式已被禁用,在提交 App Store 审核时会被拒。. 通过 中的 TESTFLIGHT 内测邀请弹窗的实现 最近,我们在使用一些 App 时经常会遇到,在 App 刚启动不久后有时我们会看到一些内测弹窗,类似 “恭喜您获得内测资格,诚邀您体验新版本”,然后点击下载按钮时就会跳转到 TestFlight 中安装测试版本,(注意不是跳转到 App Store 中更新最新版本哦),而且用户无需输入任何测试邀请码。 配置 XCODEBUILD 命令打包支持 BITCODE 我们通常会把一些公用的模块抽离出来打成一个 .a 静态库或者 .framework 动态库,然后再嵌入到宿主工程中。 最近我们的 App 工程开启 Bitcode 编译选项后(Enable Bitcode = YES),发现在进行 Archive 归档打 Release 包时,报如下错误,提示说工程使用的 libTestStaticSDK.a 静态库不支持 Bitcode: 1ld: bitcod 解决「HTTPDNS + HTTPS」的证书校验问题 SSL 数字证书的标准、编码以及文件扩展名 SSL 数字证书的主要目的是 用于传递服务端公钥 ,我们下面来了解一下证书的标准、编码格式以及常见的文件扩展名。.证书标准. X.509
数字证书标准,定义证书文件的结构和内容,详情参考RFC5280 。. SSL
数字证书通常采用这种标准,一般由用户公共密钥和用户 机器学习与移动应用开发的未来 作者 Karl Utermohlen 原文 Machine Learning and the Future of Mobile App Development. 下一波移动应用将由机器学习提供动力的 4 个原因。 移动开发者可以从设备上的机器学习(on-device machine learning)所能提供的革命性变化中获益匪浅。 IOS APP 异常捕获相互覆盖问题 其中,NSSetUncaughtExceptionHandler 函数用于设置异常处理的回调函数,在程序终止前的最后一刻会调用我们设置的回调函数(Handler),进行崩溃日志的记录,代码如下: 但是,大部分第三方 SDK 也是通过这种方式来收集异常的,当我们通过 NSSetUncaughtExceptionHandler 设置异常处理函数时,会覆盖 使用 XCODE 检测代码覆盖率 “代码覆盖率”是软件测试中的一种度量,用于描述工程中源代码被测试到的比例和程度。 在做单元测试时,代码覆盖率经常被拿来作为衡量测试质量好坏的指标,同时也能在一定程度上检测出工程中的冗余代码。 解决「HTTPDNS + HTTPS」的证书校验问题为了提升 app
网络请求的稳定可靠,从不同维度考虑有很多的优化方案,今天我们就从“域名解析”切入来讲一讲。 下面先来介绍一下 httpdns 服务,以及接入 httpdns 后对 app 中原有的 https 请求的证书校验带来的影响和相关解决方案。 再谈 UITABLEVIEW 的 ESTIMATEDROWHEIGHT 今天发现之前写的一个基于 UITableView 的列表页面存在如下问题: 当列表在滑动过程中,特别是往下滑快接近底部时,右侧的滚动条一直在不断地抖动,并且滚动条的长度也在不断地微小变化;另外,当滑动到底部加载下一页数据并reloadData
后,列表的内容会整体跳动往上偏移一段距离。 苹果示例源码阅读:SIMPLEPING 前言手机网络连接状态的检测对于 iOS App 开发来说是一个非常基础的需求,在前一篇文 苹果示例源码阅读:Reachability 我们介绍了如何通过 SCNetworkReachability 提供的一系列 C 函数 API 进行网络连接状态变化的监听。但事实上,此方案能获取的只是设备的本地连接状态,有时它很难为我们检测真正的 浅析微信小程序 APP() 和 PAGE() 函数的内部实现 在小程序开发中,App() 和 Page() 是我们最熟悉也是最常用的两个函数,今天我们就来分析一下它们的内部实现,以及调用时的初始化流程。 前一段时间,我们公众号转载了有赞技术团队的《从源码看微信小程序启动过程》,这篇文章记录了小程序框架的基本代码结构,启动流程,以及程序实例化 微信小程序适配 IPHONE X 总结 我们这里先简单总结一下 iPhone X 屏幕的基础数据,方便后续在小程序开发中进行适配。. 屏幕尺寸:5.8 英寸(对角线). 屏幕物理分辨率:1125px × 2436px,458 ppi. 实际开发适配尺寸:375pt × 812pt,@3x. 此外,由于在 iPhone X 屏幕顶部状态栏区域有“齐刘海”,以及在 IOS9 以后 OPENURL 和 CANOPENURL 使用限制的小误 …TRANSLATETHIS PAGE
通常我们会用 UIApplication 的 openURL: 方法调起其他 App 来进行一些操作,如分享、第三方登录、支付等。但iOS9
发布后,在看了很多适配总结的文章后,相信很多人可能跟我一样会有如下理解: iOS9 限制了 openURL: 和 canOpenURL: 方法的使用,如果我们要调起第三方 App,需要在 Info.plist 的 LSApplicationQueries__ KANGZUBIN __
* 首页
* 归档
* 分类
* 关于我
* 旧版博客
* 2018 总结
使用 XCODE 检测代码覆盖率 __ 发表于 2019-04-02 | __ 分类于 iOS 知识小集 “代码覆盖率”是软件测试中的一种度量,用于描述工程中源代码被测试到的比例和程度。 在做单元测试时,代码覆盖率经常被拿来作为衡量测试质量好坏的指标,同时也能在一定程度上检测出工程中的冗余代码。阅读全文 »
IOS 判断设备是否静音 __ 发表于 2019-03-19 | __ 分类于 iOS 知识小集 在 iOS 设备中,主要有以下两种类型的声音:*
铃声和提醒:包括电话、短信、通知等系统类的声音(也包括按键音、锁定声,这两者可在设置中设置是否开启),它们受物理静音开关键的控制,也就是说,当设备开启静音时,这些声音是不会播放的。*
媒体声音:一般为 App 播放音视频时的声音,音量大小可通过物理音量 + - 键来控制,但它不受设备静音开关键的控制,即当静音键开启时,我们仍然可以通过相关 API 正常播放声音。阅读全文 »
COCOAPODS 1.7 新特性 __ 发表于 2019-03-15 | __ 分类于 iOS 技术文 上个月,CocoaPods 在发布了 1.6.0 正式版不久后,就马上开始了 1.7.0 BETA 版的公测,它在先前版本重写底层架构的基础上进行了大量的扩展,是一次巨大更新。 本文将介绍 1.7.0 的几个新特性,主要总结自 CocoaPods 官方博文《CocoaPods 1.7.0 Beta!》,如有描述不当的地方,请查阅原文:阅读全文 »
COCOAPODS 1.6 概览 __ 发表于 2019-03-06 | __ 分类于 iOS 技术文 前几天,CocoaPods 官方博客发布了一篇新博文《CocoaPods1.7.0 Beta!》
,看到标题你可能会有点慌,1.6 正式版不是刚发布吗,这么快 1.7.0 就开始 Beta版了?!
阅读全文 »
5G 是什么?
__ 发表于 2019-03-06 | __ 分类于 翻译 > 作者:David Goldman > 原文:What is 5G?>
阅读全文 »
IOS 判断设备是否锁屏 __ 发表于 2019-03-05 | __ 分类于 iOS 知识小集 在某些特定的业务场景下,我们可能需要判断用户在使用 App 过程中是否锁屏了。阅读全文 »
5G 不会改变世界 __ 发表于 2019-02-26 | __ 分类于 翻译 > 作者:Roman Luzgin > 原文:5G Will Not Change the World>
阅读全文 »
机器学习与移动应用开发的未来 __ 发表于 2019-02-20 | __ 分类于 翻译 > 作者 Karl Utermohlen > 原文 Machine Learning and the Future of Mobile App Development>
阅读全文 »
TESTFLIGHT 内测邀请弹窗的实现 __ 发表于 2019-02-19 | __ 分类于 iOS 知识小集 最近,我们在使用一些 App 时经常会遇到,在 App 刚启动不久后有时我们会看到一些内测弹窗,类似 “恭喜您获得内测资格,诚邀您体验新版本…”,然后点击下载按钮时就会跳转到 TestFlight 中安装测试版本,(注意不是跳转到 App Store 中更新最新版本哦),而且用户无需输入任何测试邀请码。阅读全文 »
2019 年技术大趋势预测 __ 发表于 2019-01-28 | __ 分类于 翻译 > 作者:Mark Sullivan @ Fast Company > 原文:The Biggest Tech Trends of 2019, According to Top Experts>
阅读全文 »
XCODE 工程设置构建版本号自动递增 __ 发表于 2019-01-22 | __ 分类于 iOS 知识小集 在一个 iOS 工程中,通常有两种“版本号”,即 Version 和 Build,如图 1 所示:阅读全文 »
IOS APP 异常捕获相互覆盖问题 __ 发表于 2019-01-08 | __ 分类于 iOS 知识小集 在开发和维护 App 过程中,我们通常需要去捕获并上报导致 App 崩溃的异常信息,以便于分析,一般我们会使用一些成熟的第三方 SDK,例如 Bugly 或者友盟等。阅读全文 »
2018 总结
__ 发表于 2019-01-01 | __ 分类于 其它 > 题图来源:微博 @tango2010阅读全文 »
C 语言中的结构体和共用体(联合体) __ 发表于 2018-12-30 | __ 分类于 C/C++ > 本文主要总结了谭浩强主编的《C > 程序设计》教材中结构体和共用体相关章节的内容。在 C
语言中,结构体(STRUCT)是一个或多个变量的集合,这些变量可能为不同的类型,为了处理的方便而将这些变量组织在一个名字之下。由于结构体将一组相关变量看作一个单元而不是各自独立的实体,因此结构体有助于组织复杂的数据,特别是在大型的程序中。 共用体(UNION),也称为联合体,是用于(在不同时刻)保存不同类型和长度的变量,它提供了一种方式,以在单块存储区中管理不同类型的数据。 今天,我们来介绍一下 C 语言中结构体和共用体的相关概念和使用。阅读全文 »
OBJECTIVE-C RUNTIME 大佬系列文章整理 __ 发表于 2018-12-27 | __ 分类于 iOS 技术文 最近重新温习了下 Objective-C Runtime 相关的知识,自己整理了两篇水文: * Objective-C 1.0 中类与对象的定义 * Objective-C 2.0 中类与对象的定义 然后在网上搜罗了一圈,发现很多大佬之前都写了一系列关于Runtime
的文章,深入浅出,真是让人难以望其项背,收集如下,方便日后学习,欢迎补充。阅读全文 »
使用 OTOOL 命令查看 APP 所使用的动态库 __ 发表于 2018-12-26 | __ 分类于 iOS 知识小集 在之前的小集中,我们介绍了 iOS 开发中“静态库”和“动态库”库的区别。对于工程中使用到的第三方 “.a 静态库” 或者 “静态 framework”,在编译链接时,就会被合并到主 Mach-O 二进制文件中,而对于“动态 framework”,则会被拷贝到 .ipa 包中的 .app 文件里的 “Frameworks” 文件夹下,在 App 启动时才会被动态链接。 今天我们介绍一下如何查看一个 App 都使用了哪些动态库,包括系统自带的动态库和第三方动态库。阅读全文 »
C 语言中的指针与数组 __ 发表于 2018-12-22 | __ 分类于 C/C++ > 本文主要总结了《The C Programming > Language》和谭浩强主编的《C > 程序设计》教材中指针和数组相关章节的内容。在 C
语言中,指针与数组之间有着非常密切的关系,一般来说,通过数组下标能完成的任何操作都可以通过指针来实现。本文将介绍指针与数组的概念和关系,以及一些相关的问题。目录如下:* 数组
* 指针
* 指针与数组的关系 * 字符串与数组 * 字符串与指针 * 指针常量与常量指针 * 指针函数与函数指针 * 指针数组与指向指针的指针 * 空指针与野指针阅读全文 »
OBJECTIVE-C 2.0 中类与对象的定义 __ 发表于 2018-12-20 | __ 分类于 iOS 技术文Objective-C
的运行时系统(Runtime)有两个版本:“Modern” 和 “Legacy”。我们目前使用的 Objective-C 2.0 采用的是现行(Modern)版本的 Runtime 系统,它只能运行于 iOS 和 macOS 10.5 之后的 64 位程序中,而 macOS 较老的 32 位程序仍采用 Objective-C 1.0 早期(Legacy)版本的 Runtime 系统。 在上一篇文章《Objective-C 1.0 中类与对象的定义》 中,我们介绍了早期 Objective-C 1.0 中类与对象的定义,本文以最新的 Objective-C Runtime 源码 objc4-750.1.tar.gz 进行阅读和分析 Objective-C 2.0 中类与对象的定义。阅读全文 »
OBJECTIVE-C 1.0 中类与对象的定义 __ 发表于 2018-12-18 | __ 分类于 iOS 技术文 2006 年,苹果发布了全新的 Objective-C 2.0,我们可以在苹果官网下载最新的 Objective-C Runtime 源码:objc4-750.1.tar.gz 进行阅读和分析。 > 疑问:Objective-C 2.0 源码为什么被命名为 objc4 ? 本文我们先来介绍一下 Objective-C 1.0 中类与对象的定义,虽然它早已被废弃,而且在 Objective-C 2.0 中已完全重写了,但由于 1.0 的代码阅读起来相对简单清晰,易于理解,仍具一定参考意义。阅读全文 »
XCODE 10 / IOS 12 获取 WIFI 信息 __ 发表于 2018-12-12 | __ 分类于 iOS 知识小集 在一些特定业务场景下,我们需要获取 iOS 设备所连接的 WiFi 的信息,比如 WiFi 的 SSID(即 WiFi 的名称),WiFi 的 BSSID(即 WiFi 的路由器的 Mac 地址)等,相应的代码也很简单,大致如下图所示:阅读全文 »
12 …5 __
KANGZUBIN
81 文
11 分类
__ __ __
__
__ 友链
* XcodeMen
* AwesomeTips
* 南峰子的技术博客__ 0%
2015 - 2019 KANGZUBIN 京ICP备14046576号-1Powered by Hexo ,
Theme from NexT.GeminiDetails
Copyright © 2024 ArchiveBay.com. All rights reserved. Terms of Use | Privacy Policy | DMCA | 2021 | Feedback | Advertising | RSS 2.0