原创 iOS13系統App應用圖標發生變化的問題

      最近我們App的應用圖標進行了更新,在iOS13系統上,發現一個奇怪的問題,當點擊App的時候App的圖標會變回之前舊版的icon圖標,當App從前臺切換到後臺時,也會看到舊版的icon圖標,大概過0.5秒左右,纔會從舊版的i

原创 iOS中UICollectionView調用reloadData,導致視圖失去第一響應者(失去焦點、鍵盤收起)的解決辦法

   需求:    有這樣一個需求,在UICollectionViewCell中有一個UITextField控件,在輸入的過程中實時判斷格式是否正確,如果不正確就如圖二展示的效果,也就是需要在鍵盤彈出的狀態下動態調整Cell的高度。  

原创 iOS仿微信聊天輸入框、評論輸入框

   最近項目有需求,需要實現一個類似微信聊天輸入框的組件,用在全平臺的評論功能中。大概需求就是輸入的文字佔滿一行時,自動折行並且增大輸入框的高,輸入框的高有默認的最大值。在此,記錄一下遇到的問題。 1、項目中用到了三方庫IQKeyboa

原创 Mac上(iOS項目)用Jenkins做持續集成(CI)注意事項及總結

注意事項: 1、安裝Jenkins一定要從命令行安裝(brew install jenkins),切記不要從Jenkins官網直接下載安裝。因爲後者會默認安裝在Mac的Shared目錄下,之後會遇到很多訪問權限問題。 2、Jenkins默

原创 iOS線上防Crash處理並上傳未發生的崩潰日誌,降低線上APP崩潰率

     線上APP的崩潰率一直是衡量APP用戶體驗的重要條件之一,所以,我們很有必要做一些安全防護,讓APP儘可能少的產生Crash,提高用戶體驗。在以前的項目中零零散散做過一些防護,這次專門爲平臺封裝了一個Pod庫,供各個業務線直接引

原创 iOS App在運行過程中佔用系統內存的方法和CPU使用率的計算方法

     最近在調研iOS中的OOM(Out-Of-Memory),iOS中存在一些機制,當系統的內存不夠用時或者當前APP的使用內存超過了閾值,就會導致系統強殺當前APP,由於強殺當前APP的進程是系統做的事情,所以,當前APP是無法知

原创 iOS利用Runtime實現自定義類的序列化和反序列化

    最近項目中有一個發帖子的需求,就是類似新浪微博中的發文章。現在要求增加草稿箱的功能,不同的帖子都可以將內容存儲到本地。開始我打算用數據庫做本地存儲,但是,由於文本編輯有富文本內容,對應iOS中的NSAttributedString

原创 iOS13系統適配暗黑模式調研總結

  背景:iOS13系統提供了暗黑模式,公司各業務線App打算嘗試適配iOS13系統暗黑模式。   一、關於圖片的適配: 1、本地圖片適配:Assets中設置(Any,Dark)類型,可設置兩種模式下分別需要顯示的圖片(可兼容iOS低版本

原创 iOS安全防護---越獄檢測、二次打包檢測、反調試

       最近在調研越獄設備的檢測、防止APP被二次打包、防止反調試以及逆向工程,調研期間做了大量的測試來驗證方案的可行性,花費了很多時間。所以,在此將調研結果總結一下,供大家參考。   一、越獄環境下,提高App破解難度的方案: 1

原创 iOS如何判斷APP是在調試器(Xcode上)運行

#include <assert.h> #include <stdbool.h> #include <sys/types.h> #include <unistd.h> #include <sys/sysctl.h> static bo

原创 iPhone手機屏幕尺寸詳細表格、A10和A11處理器介紹

1、屏幕尺寸鏈接地址:點擊查看 補充: iPhoneX系列,也就是帶劉海屏的一系列手機,屏幕寬高比是一致的。 iPhone5、iPhoneSE、iPhone6、iPhone6 Plus等一系列非劉海屏的手機,屏幕寬高比也是一致的。   2

原创 iOS線上防Crash處理並上傳崩潰日誌,降低線上APP崩潰率

     線上APP的崩潰率一直是衡量APP用戶體驗的重要條件之一,所以,我們很有必要做一些安全防護,讓APP儘可能少的產生Crash,提高用戶體驗。在以前的項目中零零散散做過一些防護,這次專門爲平臺封裝了一個Pod庫,供各個業務線直接引

原创 iOS中獲取光標位置(解決獲取光標位置無窮大問題)

獲取UITextView光標所在位置的方法: //光標的frame CGRect caretRect = [textView caretRectForPosition:textView.selectedTextRange.start];

原创 Flutter高效率UI渲染方式原理解析

我們知道Flutter在UI繪製方面的效率是幾乎接近原生的,這點比React Native要優秀很多,因爲React Native是通過橋接轉換然後去調用各自平臺的UI系統(如iOS中的UIKit框架)提供的API來完成繪圖。接下來,我們

原创 移動開發跨平臺技術簡介:Flutter、React Native、Weex、Hybrid

最近在學習Flutter,看到了一篇關於移動開發跨平臺技術的總結,感覺寫的不錯。在此,記錄一下,方便之後查看。   文章中介紹了: 1、原生開發與跨平臺技術目前的發展現狀。 2、Hybrid技術簡介(H5+原生混合開發),這是目前跨平臺開