原创 對使用自動佈局的UITableView進行上拉加載更多操作時,tableView向上跳動一定的高度

問題: 對使用自動佈局的UITableView進行上拉加載更多操作時,tableView向上跳動一定的高度。 分析: 搜索“UITableView 自動佈局 加載數據 reloadData 跳動”之類的關鍵字,搜出來的是手動佈局下

原创 自動佈局(AutoLayout)中更新視圖佈局的幾種方式

根據視圖的類型,分爲以下幾種情況: 1,對於具有固有內容尺寸(intrinsicContentSize)的視圖類型,如UILabel, UIButton, UIImageView, UITextView等,其高度取決於內容的高度,

原创 Swift4升級到Swift4.2修改內容記錄

本文記錄了將工作項目由Swift4版本升級到Swift4.2中修改的內容,需要修改876處錯誤: ‘UIImageOrientation’ has been renamed to ‘UIImage.Orientation’ ‘

原创 iOS13適配之SceneDelegte

問題引入 老項目升級到了XCode11 + iOS13,但是通過第三方平臺還是收集到了崩潰信息。以這個最爲棘手: 崩潰時發生的異常: 崩潰調用棧: 0 CoreFoundation ___exceptionPreprocess

原创 WebViewJavascriptBridge分析及擴展

WebViewJavascriptBridge的原理參考這篇[iOS 開發] WebViewJavascriptBridge 從原理到實戰,寫的不錯。 對它做了一點改動:H5調用原生方法時,如果該方法並不是原生要處理的函數的話,原

原创 XCode歸檔(Archive)過程及部分錯誤的分析

先介紹一下iOS開發中使用的編譯器LLVM 開發iOSApp的Objective-C / Swift是編譯型語言,從XCode5之後其對應的編譯器正式有GCC過渡到LLVM(5.0)。 經典編譯器設計: LLVM的設計簡介:

原创 App啓動時間優化

先挖坑 官方視頻: Optimizing App Launch

原创 iOS13上基於UIScene的應用在WKWebView中崩潰

WKWebView使用了UIAlertView,導致在iOS13上UICoreFoundation中崩潰。暫時沒有解決辦法,標記。 參考: https://stackoverflow.com/questions/58181815/

原创 JavaWeb學習(一)-- 圖書系統

1,將IDEA工程導入Eclipse 1.1 1.2 1.3 1.4 2,連接MySql MySql版本8.0,只能用JDK1.8 以下爲TomcatServer啓動時的錯誤: Q:Data source rejected

原创 通過Universal Link進行微信分享

參考: 1,官方接入文檔。 2,通用鏈接的一點整理。 3,微信分享,一直跳轉二次,版本:1.8.6.1SDK? 注意點1:正確的配置通用鏈接,詳見上面參考1和參考2。 注意點2:在info.plist中添加URL scheme爲微

原创 用iOS模擬器安裝App

背景介紹: Mac機器A上面有工程P的源碼,Mac機器B上沒有源碼,想在B的模擬器上運行應用P。 步驟: 1,在機器A上,build模擬器版本,得到模擬器下的app文件: /Users/work/Library/Develop

原创 iOS逆向工具--cycript

這個工具也是Jay Freeman (saurik)的作品,作用是控制運行時的進程,通過cycript語法與其交互。 官網:http://www.cycript.org 1,ssh到手機上之後通過ps aux查看進程,找到目標進

原创 《黃帝內經》第一章《上古天真論》

上醫治國,中醫治人,下醫治病   《黃帝內經》分《素問》《靈樞(shu)》上下兩部,每部各81篇。素問,就是我們現在的FAQ(Frequently Asked Questions);靈樞的樞,指的是門軸,靈樞指的是穴位,下部講的是

原创 ApplePay開發過程中遇到的問題--調試時可以支付,打包後無法支付

最近對接銀聯的ApplePay支付功能,按照說明文檔一切都很順利,調試過程中也可以支付。其中merchantID的設置方式如下: 1,創建了兩個merchantID:正式merchantID,測試merchantID。 2,爲正式

原创 TabbarController架構的App中tabbar的控制

之前的代碼中將self.hidesBottomBarWhenPushed = true放在了ViewController基類的下列方法中: override init(nibName nibNameOrNil: String?,