原创 圖解Android消息傳遞機制(Looper、Handler、MessageQueue)

Looper Looper爲消息循環器, 不停的取出MessageQueue中的消息,並把獲取的消息分發下去。 是MessageQueue和Handle交互的橋樑。 提供prepare()方法 prepare方法中通過sThre

原创 python 自動打 .framework/.a 文件,合併真機、模擬器包

前言 因項目中需要頻繁打SDK包(.a / .framwork),所以考慮用python寫一個腳本,自動化打包,並且把生成真機包、模擬器包進行合併。 實現方式 import os import shutil # framewo

原创 OC 反射實現(runtime)集合Admob案例

前言 因需要做一個廣告的聚合包,聚合包裏包含了各個廣告平臺的SDK,當需要時,把SDK引入,不需要時把SDK刪除即可,不需要動邏輯代碼。比如:當需要接入admob時,只需要把admob的庫引入項目中即可,不需要另外寫代碼,當不用a

原创 xcode 打包報錯:_isPlatformVersionAtLeast

前言 xcode打包時報錯,錯誤描述爲:Undefined symbol:_isPlatformVersionAtLeast 解決方式 把xcode升級爲13,即可。

原创 Object-C替換自定義佔位符"${}"

前言 oc字符串替換一般使用系統提供的%@、%d、%u等,但是有的時候根據需求我們需要自定義佔位符,如下: 我們上報服務器數據時,需要向Facebook的渠道做一個轉發,eventName是轉發的事件名稱,其中${level}是需

原创 IOS OC IPA內購流程

IOS 內購分爲四種商品類型: 消耗品項目 非消耗品項目 自動續期訂閱 非續期訂閱 基本實現流程 添加支付監聽 [[SKPaymentQueue defaultQueue] addTransactionObserver:s

原创 IOS項目,以workspace的形式,管理多個項目

做SDK開發時,需要把SDK的工程和測試工程放在一個workspace下,這邊可以方便對SDK的包進行斷點測試,以下爲對現有的兩個工程放入同一個workspace的流程。 新建項目選擇 “Workspace” 如果之前打開了要加

原创 Xcode 修改Copyright的組織信息

在xcode中新建文件時,會自動寫上Organization信息,修改Organization的方式如下: 選擇工程名稱 選擇TARGETS 在最右邊窗口,選擇Organization,並輸入內容 如下圖所示: 效果:

原创 Unity和IOS相互通信方式、生成unitypage包

前言 本內容講解IOS、Unity項目通信的方式,以及IOS如何生成一個unitypager包,供Unity安裝使用。 Demo: https://github.com/LSnumber1/UnityAndIOSMessageDemo

原创 Error: IOS iPhone has denied the launch request(Xcode10.1)

前言 環境:xcode 10.1, iphone:12.1.4 開發運行中,報了iPhone has denied the launch request錯誤,可以從以下兩種方式進行嘗試解決。 修改Executable 打開Produ

原创 崩潰:Property follows Cocoa naming convention for returning 'owned' objects

定義屬性時,報了這個錯誤,如下: 錯誤信息 Property follows Cocoa naming convention for returning 'owned' objects 報錯位置 @interface ViewCon

原创 利用數組實現簡化的List

前言 複習下數組的使用方式,仿照List用oc實現下數組的增刪改查 功能 初始化時給定數組的容量 插入數據 刪除數據 根據下標返回數據 代碼 聲明頭文件 ​ 頭文件中包含了6個對象方法,如下: initWithCa

原创 oc中copy、strong、weak、assign解析

NSMutableString “_”方式調用賦值 NSMutableString *mOriginMutableString = [[NSMutableString alloc] initWithString: @"原始數據"

原创 獲取View寬高的四種方式(避免獲取的爲0)

前言 在Activity獲取控件寬高時,有時獲取的爲0,無法獲取正確的信息,原因是View的measure過程和Activity的生命週期不是同步的,也就是說在Activity走了onCreate、onStart、onResume週期

原创 圖解Android啓動模式

啓動模式分類 standard: 標準模式 此爲系統默認的啓動模式,每次啓動Activity均會新建一個實例。此種模式下,誰啓動了它,它就加入誰的任務棧中。 如: A 啓動了 B,那麼B就加入到A所屬的任務棧中。 A和B的生命週期