這裏記錄過去一個月,我看到的值得分享的內容,包含但不限於iOS知識,每個月的最後一天發佈。 歡迎推薦內容,可以前往zhangferry/iOSMonthlyReport提交issue。
Tips
對UISearchBar樣式的修改
1、完成一次搜索之後,調用
searchBar.resignFirstResponder()
複製代碼
隱藏鍵盤,會將
searchBar的取消按鈕默認置爲disEnable
。如果我們需要此時能夠監聽取消按鈕的點擊狀態,需要恢復其可用狀態:
if let cancelButton = searchBar.value(forKey: "cancelButton") as? UIButton
cancelButton.isEnabled = true
}
複製代碼
2、修改取消按鈕的文案
//修改searchbar的取消按鈕文案
searchBar.setValue("delete", forKey: "cancelButtonText")
複製代碼
3、更改取消按鈕文案樣式
UIBarButtonItem.appearance(whenContainedInInstancesOf: [UISearchBar.self])
.setTitleTextAttributes([NSAttributedString.Key.font: UIFont.systemFont(ofSize: 15)], for: .normal)
複製代碼
4、更改searchBar文本框文字樣式
UITextField.appearance(whenContainedInInstancesOf: [UISearchBar.self])
.defaultTextAttributes = [NSAttributedString.Key.font: UIFont.systemFont(ofSize: 15)]
複製代碼
上傳IAP時出現TCP 443問題
具體錯誤爲:
Communication error. Please use diagnostic mode to check connectivity. You need to have outbound access to TCP port 443.
這是由於代理問題引起的上傳錯誤,上傳IAP至App Store Connect不需要代理,關掉代理繼續上傳就可以了。
上傳IAP時出現:WARNING ITMS-90176
完整錯誤爲:
WARNING ITMS-90176: "Unrecognized Locale - The locale names used in localization directories at ( "Payload/sandbox.app/AccountKitStrings.bundle/Resources/cb_IQ.lproj" ) are invalid. iTunes supports BCP47 but not the UN M.49 specification. Refer to the Language and Locale Designations guide at developer.apple.com/library/con… for more information on naming your language-specific directories.”
該錯誤是由Xcode9不再兼容cb_IQ.lproj
這個格式,所以只要一出AccountKitStrings.bundle
中的cb_IQ.lproj
文件即可。
推薦閱讀
Core Image 之自定義 Filter~
非常詳細的介紹Core Image
中Filter
(濾鏡)涉及的概念和使用方法。
作者是美圖的iOS開發工程師,博客多講解圖像處理相關知識,是iOS圖像領域的大牛,推薦關注。
iOS圖形處理概論:OpenGL ES,Metal,Core Graphics,Core Image,GPUImage,OpenCV等
對於剛接觸iOS圖形相關框架的小白,有一些圖形框架在字面上和功能上非常容易混淆。這裏旨在總結一下各種框架,區分它們的概念和功能,以作日後進一步細分學習的指引。
Swift 5 字符串插值之美
Swift5除了ABI穩定並沒有帶來很多語法上的變化,你如果以爲Swift5只有ABI穩定那你就錯了,它還帶來了一個很強的特性---字符串插值。一開始我還以爲它是一個小特性,但是當我把它和AttributedStrings
, sql
聯繫到一塊時,我才發現他的強大之處!
還有一篇將字符串插值應用到AttributedStrings
上的文章: StringInterpolation in Swift 5 — AttributedStrings
如何選擇開源許可證
關於幾種常見開源許可證的區別:
Github
Python-100-Days
Python - 100天從新手到大師。 作爲一線移動端開發,或多或少都有着一個全棧的目標,而作爲後端語言的Python無疑是最佳選擇。一個star數多達3w+的Python教學項目,這足以說明Python的受歡迎程度,這份教程的受歡迎程度。
markdown-weixin
一個在線將 Markdown 轉換爲微信公衆帳號文章格式的工具。 md.qikqiak.com/
AssetsExtractor
『Assets提取工具』是一款OSX平臺上用於將Assets.car或xxx.app中打包的png圖片、pdf等資源重新提取出來的開發者工具。Assets.car常見於iOS/Mac/Unity等開發中的資源打包。
awesome-ios-bluetooth
一個收集開發iOS藍牙功能資料的倉庫。從入門必讀、藍牙升級、ANCS、調試工具都有介紹。目前該庫由我維護,大家有什麼藍牙相關的問題可以提issue給我。
firefox-ios
火狐瀏覽器的iOS開源庫,由Swift4.2編寫。是一個優秀的可供參考學習的開源項目。