国内链接gitee
iOS工具类和模板代码,简单高效
- 线程锁:XMLock.h
- 常量,常用判断,MIME类型获取,调试日志:Const.h
- 国际化,本地化:LocalizedManager/
- NSInputStream添加跳过(skip)方法:NSInputStream+Skip/
- 工具类,计算文件MD5、创建图片缩略图、获取文件夹大小、获取可用存储空间大小、AES加解密:Utils.m
- 随app启动自动运行一些代码,不需要开发者主动调用,适用于一些第三库自动运行
- 限制 UITextField 输入
- 获取视频文件的第一帧,远程或本地视频都可
- 禁止音乐远程控制
- 用最简单的方式自定义一个Toast
- 后台备份,相册备份:Backup/
- 后台下载:Download/
- 后台上传:Upload/
上传下载备份中用到的:DownloadUploadBackupCommon/ - 屏幕旋转控制:ShouldNotAutorotate/
- IP地址获取,当前Wi-Fi获取,连接Wi-Fi,监听WiFi切换:IPAddr.m
- UITableViewCell侧滑删除,长按事件:TableViewTemplate.m
- UITableViewCell高度自适应:TableViewCellAutoCalculate.m
- WKWebView简单使用:WebViewController.m
- 身份验证,生物识别:LocalAuthentication.m
- 分享(社会化):Share.m
- 蓝牙BLE:BLE/
- Swift坑爹的 ViewController的init指定构造器:Test2ViewController.swift
- 系统日历事件和提醒:EventKitTemplate.m
- 制作一个和启动页一模一样的页面,动态替换启动页:LaunchViewController.m
- 纯代码实现iOS原生扫描,图片二维码识别:ScanViewController.m
- 文字转语音:SpeechUtils.m
- shell自动打包脚本:iOS_App_Template-archive.sh
- mDNS服务
- 一次性 GCD timer
- 复制到剪切板
- 使用iOS原生类请求 HTTP JSON,不依赖第三方库
- 从AppStore获取版App最新本号
- 使用UIDocumentPickerViewController获取手机本地(File app)文件
- 使用 NSURLSession.sharedSession 下载文件并获取进度,免得自己创建 NSURLSession 来设置 NSURLSessionDownloadDelegate 去获取进度
- UITextField 添加 leftView 文字 并且为 leftView 留空白
- 设置 UIButton 图片和文字之间的间隔
- 用最简单的方式仿 UIAlertController 弹框
- 移动 UITextField 的光标位置
- 组件化服务自动注册,与分阶段启动
- 给 storyboard 或者 xib 添加国际化key填空,而不是将 storyboard 或者 xib 直接国际化,方便国际化 Localizable.strings 文件的统一管理
- 设置 navigationBar 颜色
- 代码生成圆角矩形图片,可拉伸
- 圆环倒计时动画
- 音频控制、锁屏显示: MPRemoteCommandCenter、MPNowPlayingInfoCenter
- 音视频播放:AVFoundation; 音视频下载缓存:AVAssetDownloadURLSession
- HTTP上传文件的断点续传协议可参考(苹果公司为其NSURLSession上传文件定制的):https://datatracker.ietf.org/doc/draft-ietf-httpbis-resumable-upload/
- 苹果系统有自己的Swift响应式框架(闭源的),貌似性能比开源RX的好很多
- 避免两个 UIButton(UIView)同时响应点击事件:通过设置 UIView 的 exclusiveTouch 为 YES,可以解决这个问题
- Swift 异步转同步方法:withCheckedContinuation、withCheckedThrowingContinuation、withUnsafeContinuation、withUnsafeThrowingContinuation