iOS 7 0 以上一些棄用的系統API替換

2021-09-30 13:33:35 字數 1522 閱讀 8549

到新公司,接手新專案,結果發現警告 500+ ,於是決定花時間都給去除了。 記錄一下一些警告的處理方式吧

'sizewithfont:' is deprecated: first deprecated in ios 7.0 - use -sizewithattributes: '

sizewithfont:

constrainedtosize:

linebreakmode:

' is deprecated: first deprecated in ios 7.0 - use -

boundingrectwithsize:options:attributes:context:

這兩個警告是由於使用了系統已經標註 

ns_deprecated_ios (棄用)

的api,所以產生警告,警告中也已經提示了,使用者可以使用7.0以上新的api替換,具體做法如截圖:

labelsize = [

label

.text 

sizewithattributes:@

];// 文字屬性,通常這裡面需要知道是字型大小 (和舊api所需的一致)

detailslabelsize = [

detailslabel

.text 

boundingrectwithsize

:maxsize 

options

:nsstringdrawinguseslinefragmentorigin 

attributes:@ 

context

:nil

].size

;// 引數1: 自適應尺寸,提供乙個寬度,去自適應高度

// 引數2:自適應設定 (以行為矩形區域自適應,以字型字形自適應)

// 引數3:文字屬性,通常這裡面需要知道是字型大小

// 引數4:繪製文字上下文,做底層排版時使用,填nil即可

這個警告是因為你引用的檔案支援的最低版本為8.2,而你專案中選擇的最低支援版本為8.1 。

處理的方式就是提高專案最低的支援版本,或者在 build settings - other linker flags 增加乙個 -w 就可以了

"directory not found for option '-l/..."

解決方法:

依次 project -> targets -> build setting -> library search paths

刪除裡面的路徑

"directory not found for option '-f/..."

解決方法:

依次 project -> targets -> build setting -> framework search paths

刪除裡面的路徑

關於安卓7 0以上新版本的一些坑

最近開發特別的忙,一直沒時間總結最近碰到的問題。主要很多來自新版本產生的問題。先描述背景,自從安卓公升級到了8.0,由於出了齊劉海,所以公司也進了一批8.0的手機。先不說齊劉海的適配問題,還有一堆懸浮窗許可權許可權問題,一堆的系統彈框許可權,還有很多雜七雜八的問題。就是這次改動以後,然後專案出包發給...

微信環境的PHP版本公升級7 0以上的一些坑

的 notify 方法 支付結果通用通知 獲取通知的資料 開啟openssl.dll擴充套件 坑二 返回回事件訊息失敗和返回文字訊息失敗問題public function construct public function prpcrypt修改為public function construct p...

ios關聯的一些用法

1.關聯是指把兩個物件相互關聯起來,使得其中的乙個物件作為另外乙個物件的一部分。在不修改類的定義而為其物件增加儲存空間。引數有四個,第乙個為源物件。第二個為關聯關鍵字。第三個關聯的物件。第四個為關聯策略 是乙個enum 建立關聯 objc setassociatedobject imgview,ke...