banner
李大仁博客

李大仁博客

天地虽大,但有一念向善,心存良知,虽凡夫俗子,皆可为圣贤。

ios

Xcode8 beta版无法输出NSLog问题
使用 Xcode8 的 Beta 版本进行 Objective-C/iOS 程序调试时,使用 NSLog 无法输出日志,同时输出以下内容: subsystem: com.apple.BaseBoard, category: MachPort, enable_level: 0…
[iOS] 实现IIF功能和DECODE函数功能
iOS 开发过程中需要处理大量分支判断代码,需要大量使用 if、switch 等进行分支处理。代码编写和查看都可能出现潜在问题,使用 Objective-c 语言的自身特点,可以通过以下转换,优化分支判断处理的代码写法。关键是可以一行代码搞定各种分支判断。实现代码简化。 使用宏定…
[iOS]objective-c AES/DES/3DES等加密算法实现
objective-c 对 AES/DES/3DES 等加密提供了统一的加密方法 CCCrypt 进行实现,目前主要支持的算法有 @constant kCCAlgorithmAES128 Advanced Encryption Standard @constant…
[iOS]Xcode7.0关闭Bitcode编译
今天在 iOS 上编译原来开发的代码,出现了以下错误 xxxx.o does not contain bitcode. You must rebuild it with bitcode enabled (Xcodesetting ENABLE_BITCODE) 百度后知道…
MAC OS编译iOS版Linphone SDK和APP
最近由于开发一款基于 SIP 通信的 VOIP 应用程序项目需要,自己研究了一下几款开源 SIP 实现,主要有 PJSIP 和 Linphone,PJSIP 由于文档说明详细,编译和测试都没有费多大事情。Linphone 的编译就比较费神费力了,开始之前查看互联网上的资料…
[Xcode]XcodeGhost问题的检查和验证
这两天 XcodeGhost 问题搞得国内所有 iOS 开发者人心惶惶,如果你在编译和上线 APP 时,使用的是非官方下载的 Xcode 话,编译出来的 app 会被注入一段恶意代码,恶意代码会向特定服务器(init.icloud-analysis.com)上传机器相关数据…
[iOS] iOS9.0 关闭系统强制使用HTTPS
iOS9.0 以后出于对请求安全的考虑默认将 Foundation.framework 中的 HTTP 请求协议更换为 SSL/TLS,也就是说所有由程序发起的 HTTP 请求默认将请求 HTTPS 的内容,而且在 HTTPS 出现 404 时不会请求 HTTP 的内容,如果你的…
强制清空系统本地DNS缓存
本地 DNS 缓存被 GFW 污染时,需要手动强制清理本地的 DNS 缓存。通常只需要修复一下网络连接即可。使用命令方式处理也很简单,下面是 Windows/Mac OS/Linux/Unix 环境下使用命令强制清空系统本地 DNS 缓存的方法。 1.Windows 环境下…
[Xcode]编译时objc_msgSend错误的解决办法
之前开发的代码中需要强制使用一些苹果的私有 API,用了 objc_msgSend 方法进行调用,最近使用最新版本的 Xcode 进行编译时一致无法通过,后来通过度娘解决了这个问题,在此记录一下,修改方法也很简单,将 ENABLE_STRICT_OBJC_MSGSEND…
iOS开发之Objective-c的AES加密和解密算法的实现
高级加密标准(Advanced Encryption Standard,AES),又称 Rijndael 加密法。 以下实现代码中分别为 NSData 和 NSString 增加了一个 Category。使用时直接调用即可。 需要注意的是,AES 并不能作为 HASH 算法…
iOS开发之Objective-c的SHA224/SHA256/SHA384/SHA512加密算法的实现
之前在博文中实现的 SHA1 的安全性已经满足不了用户需求,今天把 SHA224/SHA256/SHA384/SHA512 的实现一并附上。 SHA 即 Secure Hash Algorithm(安全散列算法) 有多种不同位数的实现,常见的有 SHA224/SHA256…
iOS开发之APP进入后台禁止自动截图
iOS 在 7.0 以后,APP 进入后台后会把当前 APP 的 Window 状态记录,并对 Window 进行截图操作,会在 APP 的 Sandbox 的 Library\Caches\Snapshots\xxxx.xxx.xxx 文件夹中增加以下几个文件…
[iOS]使用Dropbox的https外链OTA部署APP
iOS7.1 之后使用 OTA 方式部署时,强制使用 SSL 加密方式传送 ipa 文件和 plist 文件,但是服务器使用 https 的话需要支付一定的费用购买 SSL 证书,国内使用 OTA 方式发布 ipa 文件的开发者大部分使用的时 http 方式,http 方式在…
[iOS]7.1使用OTA部署APP出现Cannot install applications错误
iOS 升级到 7.1 之后,之前一直使用正常的 OTA 部署的网站在安装 APP 时报出了以下错误 Cannot install applications because the certificate for www.example.com is not valid 而在 7…
[iOS]UILabel取消自动Trim空格和换行等空白字符
iOS7.0 以后的 UILabel 会自动将 Text 行尾的空白字符全部去除,除了常见的半角空格(\0x20)和制表符 (\t) 之外,全角空格 (\u3000) 也被计算在内,甚至连多余的换行符(\r,\n)也被自动去除了。这一点虽然方便直接将控件赋值和无需取值后再…
[iOS]使用UIActivityViewController实现AirDrop功能
AirDrop 是 iOS7 中新增的一个近距离分享功能,两个相邻的 iOS 设备可以通过 AirDrop 实现传递图片、文件等功能,有了 AirDrop 基本上可抛弃类似 Dropbox 的 ShareLink 和 PublicFolder 功能。 iOS7 的 SDK…
[iOS]Makefile交叉编译静态库TA-lib
为了使 Cocoa-Charts 支持客户端数据计算,需要为 Cocoa-Charts 增加技术分析数据计算功能,目前比较通用的是 TA-lib,但是 TA-lib 没有提供 iOS 版本的静态库文件,因此需要在 X86 平台上交叉编译适用于 iPhone 模拟器和 iPhone…
iOS开发之使用Keychain来存取敏感信息
iOS 开发时一般使用 UserDefaults 来存取 App 的配置信息,但是如果需要保存一些敏感信息的话,这时可以考虑使用 Keychain 来存取。开发时需要注意的是,App 卸载后 UserDefaults 的内容会被删除,而 Keychain 里面的则不会…
Ownership of this blog data is guaranteed by blockchain and smart contracts to the creator alone.