iOS開發月報#11|201905

這裏記錄過去一個月,我看到的值得分享的內容,包含但不限於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 ImageFilter(濾鏡)涉及的概念和使用方法。 作者是美圖的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編寫。是一個優秀的可供參考學習的開源項目。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章