原创 蘋果開發者是否審覈歧視中國開發者?傲慢無恥的蘋果公司(二)

審覈一個應用真的需要半個月麼? 你們的審覈人員每天在拿着我們的開發者費用, 故意拖延?    

原创 蘋果開發者是否審覈歧視中國開發者?傲慢無恥的蘋果公司

說來慚愧,作爲差不多10年的開發者,第一次嘗試提審,結果卻收穫來了蘋果無休止的等待 我從4月24日替身,後續到現在沒有任何回饋,只告訴你 other 原因拒絕, 請問蘋果是隻針對中國開發者,還是所有開發者? 如果一個賬戶按年計費,一次等待按

原创 2024年感想

  看了一眼之前到博客,最近的一次博客還在一年之前,時間如白駒過隙,飛快流逝。這兩年生活和工作都經歷裏很多,想想是應該在這裏好好梳理總結下。我總是感慨,自己從二十六七歲到現在三十多的年紀,好像經歷別人的半輩子,感悟衆多。   我以前是個朋友

原创 Flutter TextField開始輸入中文的時候,被打斷導致錯誤輸入字母問題

一、Bug樣例 建立一個web demo flutter run -d chrome --web-renderer html      出現問題: 輸入中文的時候,比如打字 hao, 第一個字母h會先輸入,變成  h奧   二、解決  

原创 2022到2023

2022年到2023年,工作內容發生了很大變化。 原來在字節主要做iOS平臺上的業務開發,使用Swift語言。後面新的工作內容主要做IoT相關,不再侷限在移動端,而是圍繞整個IoT系統。 從iOS介入到後端開發之後,處理事情發生很多的變化。

原创 Xcode Debugger Extremely Slow , Xcode Swift調試器調試時極其慢(😡)

一、Xcode 調試器   我的項目是國內某辦公軟件的iOS客戶端, 代碼量極其龐大, 編譯一次至少30min以上。   關鍵是,如果你遇到問題的時候,調試下斷點,需要至少5min才能斷下來,走下一步,又重複同樣的流程   二、問題排查  

原创 爲什麼SwiftUI使用struct, 限制使用class

前言 在學習SwiftUI所有的地方,視圖元素都定義一個struct並實現View協議,該協議定義body變量返回View類型。 但是爲什麼,這裏一直是指定的struct, 而不是class呢? 嘗試使用class 如果你使用class 在

原创 SwiftUI Stack中的View被壓縮的效果

一、背景   我們在佈局中,經常會遇到視圖元素排列時空間不足或者空間過大的情況,在這種場景下面,不同的佈局方式有不同的方法:   絕對佈局frame:純靠計算過程控制,獲取父視圖的大小,根據需求,計算自己需要的大小,並設置到frame上去

原创 Swift 計算字符串展示的區域

一、如果是普通文本,那麼可以採用NSString的方法,代碼如下: import UIKit import PlaygroundSupport class MyViewController : UIViewController {

原创 FlexBox 行間距

問題背景 在Flex佈局方式下, 父容器約定是換行的方式, 不足以容納一行子元素的時候, 會單獨進行折行, 那麼折行的行間距如何處理呢?   解決辦法 通過在子Item上面設置margin-top可以模擬出折行之後, 下面一行距離上面一行的

原创 swift_slowAlloc Crash 分析

一、Crash詳情 Crash類型 exception EXC_BREAKPOINT (SIGTRAP) reason EXC_BREAKPOINT EXC_ARM_BREAKPOINT fault_address:0x000000018

原创 Swift Lazy計算屬性的線程安全分析

一、代碼示例 // // ViewController.swift // LazyTest // // Created by lilun.ios on 2021/7/30. // import UIKit class ViewC

原创 Swift全局變量的線程安全分析

一、示例代碼 import UIKit let obj = TestObj() class TestObj { init() { print("\(type(of: self)) init") } }

原创 Swift 與 Objc Exception

一、背景   Swift具備完善的Error handle機制,對於純Swift下面的Error,在編碼的時候能夠正確處理。   在使用try? 處理拋出Error的方法的時候,會忽略Error,直接返回nil   二、Swift 與 Ob

原创 Swift 模式下面LLDB 輸出對象

(lldb) expr -l Swift -- import UIKit (lldb) expr -l Swift -- let $pin = unsafeBitCast(0x7f81c8d459f0, to: UILabel.self)