iOS開發月報#10|201904

這裏記錄過去一個月,我看到的值得分享的內容,包含但不限於iOS知識,每月的最後一天發佈。 歡迎推薦內容,能夠前往zhangferry/iOSMonthlyReport提交issue。react

Tips

關於分享中的一些問題

微博linux

  • 多媒體內容的縮略圖,即thumbnialData的大小應小於32K。不然會致使分享失敗
  • 微博分享的AppStore下載連接沒法打開,這是由於微博屏蔽了指向AppStore的連接。一個可行的作法的將微博的下載連接增長一個引導頁,提醒用戶經過Safari打開。

微信ios

  • 多媒體縮略圖不能超過64K。
  • 微信分享從6.7.2以後沒法獲知是否真的分享成功。這個是官方的調整,旨在減小「強制分享至不一樣羣」等濫用分享能力。

facebookgit

關於facebook分享的採坑能夠查看這篇文章,基本也都是我遇到的問題。iOS Facebook 分享中的坑github

Twitter面試

相同內容分享兩次以後再分享將失敗。swift

SWIFT_VERSION '5.0' is unsupported, supported versions are: 3.0, 4.0, 4.2. (in target 'SwiftyJSON’)

這個問題是多人寫做開發引發的,有一個同事將SwiftJSON的版本升級至4.3.0,使其支持Swift5.0,可是Swift5.0跟Swift4.0+不兼容,致使出現上面的錯誤提示。windows

修復方式,手動指定SwiftJSON版本,使其低於或者等於4.2.0。react-native

pod 'SwiftyJSON', '~> 4.2.0'
複製代碼

Encountered an unknown error (Unable to find a specification for FrameworkA depended upon by FrameworkB

FrameworkAFrameworkB都是私有的Cocoapods庫,在製做FrameworkA時引用了FrameworkB,若是執行pod spec lint就會出現如上的提示,到時lint沒法經過。ruby

這是由於lint在對引用庫驗證時,默認只驗證官網的倉庫,咱們須要手動添加驗證源才能經過,方法是:

pod spec lint --sources=git@bitbucket.org:company/privateRepo.git,https://github.com/CocoaPods/Specs --allow-warnings
複製代碼

Tabbar的初始化會當即調用viewDidLoad方法

正常當咱們初始一個UIViewController的時候,老是先執行init方法,執行完以後纔會調用viewDidLoad方法。可是若是是UITabbarViewController的初始化則不一樣,它會在執行init方法的時候當即調用viewDidLoad

來自Stack Overflow的解釋:

UITabBarControllers call loadView inside [super init] method, which causes the call to viewDidLoad. So the viewDidLoad method will be called before init has finished its job.

If you have some thing to setup in viewDidLoad you should perhaps do it inside init method after the call to [super init].
複製代碼

AppleScript打印換行

當我使用AppleScript編輯一段腳本時,有一個需求是打印一段換行的文本,試了不少方案,包括\n,\r, ASCII碼等都不行,腳本執行時會忽略\符合自動換行,分開執行輸入內容。

最後在不斷嘗試中找到了一種方案,直接敲出換行,以下,在變量_input後拼接一個換行符:

tell note1 to append text "[*]" & _input & " "
複製代碼

因爲第三方SDK使用了用於定位的功能,致使收到蘋果的隱私警告郵件

後來定位的到的緣由是 Facebook相關的幾個庫均使用了 CoreLocation,也就是說 Facebook有偷偷使用用戶地理位置權限的嫌疑。固然聯繫他們提供不帶此功能的SDK也不顯示,後來在react的issuse中也發現了對於此問題的討論。 #20879

解決方案以下,即增長對應的隱私條款選項:

違反Guideline2.3.1被打回

在一次小版本提交時,遇到了這個違反Guideline2.3.1被打回的問題,也是第一次遇到。緣由描述是含有模糊代碼,選擇器錯誤或者誤導審覈的功能。實際排查中咱們並未猜測到哪裏可能致使這些問題。

後來經過郵件跟審覈人員溝通,獲得以下回復:

問題又好了?猜測多是蘋果審覈的問題,他們也是會犯錯誤的。

後來在網上查過這種問題的處理狀況,從資料時間來看,能夠肯定這個是最近一年纔出現過的問題。處理方法是,首先是應該跟審覈人員聯繫,讓他們告知是哪裏的問題;而後再根據狀況進行修改。

推薦閱讀

做爲面試官,哪類 iOS 開發更容易被你青睞?

來自老司機團隊的文章,正在找工做的你確定能從中有所收穫。

再貼一個我司的招聘信息,有意願的小夥伴趕忙簡歷投過來。

用戶端智能的應用實踐

bang寫的關於應用功能優化的幾個點,根據用戶的特徵推薦金額,根據用戶使用習慣調整push的時間,有些方案不必定可以爲咱們所用可是解決問題的思路仍是挺不錯的。

談Linux,Windows,和Mac

王垠的博客其實已經被刪除了,這個是網絡留存的快照文件。牛B的人老是能留下牛B的話,這是王垠關於Linux、Windows和Mac的見解。

Swift語言的設計錯誤

let shoppingList = ["Eggs", "Milk"]
//這麼寫應不該該報錯?
shoppingList[0] = "Salad"
複製代碼

關於以上問題的討論。當前Swift是不容許對let生命的數字修改內部元素的。在王垠看來這是一個低級的錯誤,具體爲何這麼定義「不對」,能夠看文章討論。

音視頻

Github

iOS-Source-Probe

iOS源碼探求系列,是iOS相關源碼的分析合集。

AutoInch

優雅的iPhone全尺寸/等比例精準適配工具,能夠經過設置一個屏幕的尺寸值,而自動配置其餘尺寸值。支持代碼和xib兩種方式。

SwiftTips

做者總結的Swift使用中的一些小技巧,和喵神的《100 個 Swift 必備 tips》有殊途同歸之妙。做爲一名剛入門的Swifter,這兩個資料都是很是推薦看一看的。

ZFPlayer

很是全面的一款iOS播放器,支持AVPlayer和ijkplayer兩種播放模塊。項目包含主流的視頻播放場景,抖音、微博短視頻等樣式。若是是對視頻功能有需求的小夥伴很是建議看一看。

相關文章
相關標籤/搜索