設(shè)置Charles Charles4.5.6版本為例荐吵,進(jìn)行如下設(shè)置: 設(shè)置Proxy Settings 按圖示設(shè)置 SSL Proxying Settings 按圖示設(shè)置 設(shè)...
![240](https://cdn2.jianshu.io/assets/default_avatar/5-33d2da32c552b8be9a0548c7a4576607.jpg?imageMogr2/auto-orient/strip|imageView2/1/w/240/h/240)
Async/await 是個(gè)啥一言以蔽之, 以前需要用閉包回調(diào)來(lái)寫的代碼, 我們現(xiàn)在可以用async/await來(lái)寫, 這讓我們可以拋棄復(fù)雜的閉包嵌套代碼, 極大的簡(jiǎn)化了代碼...
激活暗黑模式 在view或者controller中 overrideUserInterfaceStyle = .dark print(traitCollection.user...
使用RawRepresentabloe可以在自定義類型和相應(yīng)的rawValue之間來(lái)回切換 比如我們使用一個(gè)結(jié)構(gòu)體來(lái)管理埋點(diǎn)事件 然后根據(jù)提示補(bǔ)全代碼 從這就更容易看出其原理...
利用cocoapods一鍵創(chuàng)建私有庫(kù) 創(chuàng)建之后關(guān)聯(lián)遠(yuǎn)程倉(cāng)庫(kù) 查看遠(yuǎn)程分支 關(guān)聯(lián)本地分支和遠(yuǎn)程分支git branch --set-upstream-to=<remote>/ ...
embed的意思 是嵌入, 動(dòng)態(tài)庫(kù)用do not embed, 保證全局唯一, 靜態(tài)庫(kù)用embed, 可能會(huì)重復(fù)引用, 造成包體積大 兩個(gè)靜態(tài)庫(kù)中如果有相同的靜態(tài)庫(kù)(比如系統(tǒng)...
大部分iOS項(xiàng)目都需要依賴pod管理第三方庫(kù), 第三方庫(kù)又分為公有庫(kù)和私有庫(kù),私有庫(kù)所在的git服務(wù)器(比如gitlab)通過(guò)ssh公鑰進(jìn)行認(rèn)證 ssh公鑰配置 ssh-k...
最近公司在iOS開(kāi)發(fā)小組的要求下满粗,購(gòu)置了一臺(tái)Mac mini作為安卓組和蘋果組自動(dòng)打包機(jī)器豹障。兩組商量過(guò)后,決定使用Jenkins作為打包工具判哥,畢竟Jenkins比較成熟遥倦。而蘋...
iOS中事件響應(yīng)會(huì)先依次調(diào)用個(gè)層級(jí)view的[UIView pointInSide] 方法, 如果返回true, 則會(huì)走改view的hittest方法, 所以如果我們想讓v...
struct 是值類型谤绳, class 是引用類型 如果你持有一個(gè)實(shí)例, 想在多個(gè)地方對(duì)這個(gè)實(shí)例的屬性的修改生效袒哥, 那么應(yīng)該用class缩筛, 因?yàn)槟阍趕truct的實(shí)例中做修改之...
一直未間斷SDK的工作,總是在做到現(xiàn)在從未總結(jié)堡称,現(xiàn)在總結(jié)一下瞎抛,備錄一下,供大家參考和借鑒却紧。 一桐臊、什么是庫(kù)? 共享代碼便是庫(kù)晓殊,實(shí)現(xiàn)代碼的復(fù)用断凶,一般分為靜態(tài)庫(kù)和動(dòng)態(tài)庫(kù)。 二巫俺、靜態(tài)...
將要廢棄的分支git reset 到某個(gè)節(jié)點(diǎn)(SHA-1值) 在這個(gè)時(shí)間點(diǎn)新建一個(gè)新的分支 Git add . Git stash save “xxx”, 將分支上的改動(dòng)推...
如圖我們想把這張圖片拉大, 但保持圓角不變, 肯定不能直接把image放大, swift提供兩個(gè)方法let imageV = UIImageView(frame: CGRe...
為了適配iOS 13认烁,
原本可以直接將 NSData 類型 轉(zhuǎn)換成 NSString 字符串,然后替換掉多余的符號(hào)
hash = [hash stringByReplacingOccurrencesOfString:@" " withString:@""];
hash = [hash stringByReplacingOccurrencesOfString:@"<" withString:@""];
hash = [hash stringByReplacingOccurrencesOfString:@">" withString:@""];
這個(gè)方法失效识藤,借鑒iOS 13適配總結(jié) http://www.reibang.com/p/8183d086b931
需要將代碼變成
- (NSString *)SHA256
{
const char *s = [self cStringUsingEncoding:NSUTF8StringEncoding];
NSData *keyData = [NSData dataWithBytes:s length:strlen(s)];
uint8_t digest[CC_SHA256_DIGEST_LENGTH] = {0};
CC_SHA256(keyData.bytes, (CC_LONG)keyData.length, digest);
NSData *out = [NSData dataWithBytes:digest length:CC_SHA256_DIGEST_LENGTH];
const unsigned *hashBytes = [out bytes];
NSString *hash = [NSString stringWithFormat:@"%08x%08x%08x%08x%08x%08x%08x%08x",
ntohl(hashBytes[0]), ntohl(hashBytes[1]), ntohl(hashBytes[2]),
ntohl(hashBytes[3]), ntohl(hashBytes[4]), ntohl(hashBytes[5]),
ntohl(hashBytes[6]), ntohl(hashBytes[7])];
return hash;
}
親測(cè)砚著,可以適配iOS13并且兼容之前系統(tǒng)
silence_xz 評(píng)論自iOS sha256加密
通常json 反序列化方法: options 有這些: mutableContainers:在 OC 中, 如果想用 mutableArray 或者 mutableDicti...
一般與 web 交互傳遞的參數(shù)是 string 類型 使用中javaScriptString由 callback 名拼接參數(shù) arg: String通常做法 jsString...