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的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开发之Objective-c的AES加密和解密算法的实现
高级加密标准(Advanced Encryption Standard,AES),又称 Rijndael 加密法。 以下实现代码中分别为 NSData 和 NSString 增加了一个 Category。使用时直接调用即可。 需要注意的是,AES 并不能作为 HASH 算法…
[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 里面的则不会…