pod与spm的比较与区别(Amplify)
参考: amplify-2.33.6-package amplify-1.31.0-package Amplify-1.31.0-podspec-github Amplify-1.31.0-podspec-specs 前言 最近在搞亚马逊人脸识别SDK接入,想把spm的方式改成pod的方式,改造起来十分痛苦都快抑郁了,特研究学习下Amplify的写法 一、...
参考: amplify-2.33.6-package amplify-1.31.0-package Amplify-1.31.0-podspec-github Amplify-1.31.0-podspec-specs 前言 最近在搞亚马逊人脸识别SDK接入,想把spm的方式改成pod的方式,改造起来十分痛苦都快抑郁了,特研究学习下Amplify的写法 一、...
参考: AFNetworking Swift Package Manager - 基础篇(教你 iOS 项目, 如何用 SPM 依赖第三方) Swift Package Manager - Swift自带的包管理器 前言 最近在搞亚马逊人脸识别SDK接入,想把spm的方式改成pod的方式,改造起来十分痛苦都快抑郁了,特研究学习下AFNetworking的写法 ...
前言 在开发过程中,经常有些东西需要延迟执行,但是容易把延迟执行的写法理解有误,特记录 extension Date { static func systemMilliseconds_int64() -> Int64 { return Int64(Date().timeIntervalSince1970*1000) } } // 延迟时间与设置...
参考 iOS 中的NSDecimalNumber使用 在 Swift 中使用可变参数 ios swift Double Float 保留n位小数 String保留两位小数 本demo源码 前言 日常项目的开发中,经常会遇到数字计算、小数位截取等操作,如果使用标准的Double类型操作,则会丢失精度,需要用到专门用于计算的NSDecimalNumber 一、...
参考: swift-protobuf protobufjs 深入理解Protobuf3协议原理 精通protobuf原理之一:为什么要使用以及如何使用 精通protobuf原理之二:编码原理剖析 精通 protobuf 原理之三:一文彻底搞懂反射原理 protobuf通信协议(proto2) protobuf教程(二)—核心编码原理 Protobuf的高...
前言 由于最近做的是IM相关项目,经常跟socket打交道,近期一个同事把socket模块重构后经常有用户反馈丢消息,查询了很久也不知道是什么原因,后续经过大量日志及服务端协助定位,发现服务端已经给App推送了消息,但是App一直没有给服务端收到回执,导致消息一直累积丢失。后续经过大量日志定位,发现是iOS端在重构socket模块时,把拆包的逻辑做出问题了。 之前跟安卓和服务端沟通,由于...
参考: NSData+zlib 使用NSData+zlib进行zip、unzip操作 zip的压缩与解压缩 import Foundation import GoogleUtilities extension Data { var gzip: Data? { do { let result = try NSData.gul_da...
参考: SwiftyRSA CryptoSwift swift 5.0 RSA+AES加密插件CryptoSwift以及SwiftyRSA的使用 Swift RSA加解密 MZRSA_Swift
CryptoSwift 一、使用CommonCrypto进行MD5加密的代码 import Foundation import CommonCrypto extension String { var md5: String? { guard let data = self.data(using: .utf8) else { return ...
参考: CryptoSwift swift 5.0 RSA+AES加密插件CryptoSwift以及SwiftyRSA的使用 iOS中加密解密之CommonCrypto框架 Pure Swift 5 CommonCrypto AES Encryption 一、使用CryptoSwift进行AES加解密的代码 import Foundation import Crypto...