原创 runtime(3)__attribute__((constructor))用法淺析

最近在解析iOS的Instruments文件時遇到了一些有意思的事情,在此做記錄,給後來者留作參考。 看這一行代碼: __attribute__((constructor)) static void _pk_extension_inje

原创 iOS中的SEl和IMP

SEL : 類成員方法的指針,但不同於C語言中的函數指針,函數指針直接保存了方法的地址,但SEL只是方法編號。 IMP:一個函數指針,保存了方法的地址 IMP和SEL關係 每一個繼承於NSObject的類都能自動獲得runtime的支持。

原创 Objective-C Runtime 運行時:方法中 SEL, IMP, Method 的定義與關係

SEL 代表方法的名稱。僅以名字來識別。 不論兩個類是否存在依存關係,只要他們擁有相同的方法名,那麼他們的SEL都是相同的。比如,有n個viewcontroller頁面,每個頁面都有一個viewdidload,每個頁面的載入,肯定都是不盡

原创 NSBundle簡要介紹

一、NSBundle   NSBundle是cocoa爲bundle提供的一個類,bundle是一個目錄,其中包含了程序會使用到的資源. 這些資源包含了如圖像、聲音、編譯好的代碼、nib文件。(用戶也會把bundle稱爲plug-in)

原创 define DEBUG(format, ...) printf(format, ##__VA_ARGS__)

##的意思是: 如果可變參數位空,則使預處理器去除前面的那個逗號。 如果沒有##,例如: #define debug(format, …) printf(format, VA_ARGS);,這樣只有format,沒有可變參數,會被預處理爲

原创 monkeyrunner

monkeyrunner 工具提供了一個 API,用於編寫可從 Android 代碼外部控制 Android 設備或模擬器的程序。 使用 monkeyrunner,您可以編寫一個 Python 程序,以便安裝 Android 應用或測試軟

原创 dumpsys用法概述

dumpsys dumpsys 是一種在 Android 設備上運行的工具,可提供有關係統服務的信息。您可以使用 Android 調試橋 (ADB) 從命令行調用 dumpsys,獲取在連接的設備上運行的所有系統服務的診斷輸出。此輸出的內

原创 移動應用程序測試的方法

移動應用程序測試的方法 根據移動應用程序的執行方式,有兩種不同的測試方法,分別是手動測試和自動測試。 手動測試 顧名思義,手動測試是一個人工過程,主要關注用戶體驗。應用程序的功能,安全性和可用性的分析和評估是在探索性過程中通過用戶的媒介完

原创 iOS、Android時間轉換成時間戳的形式

將日期轉換成時間戳的形式,在安卓和ios不同的系統下轉正會有兼容性的問題 安卓系統下Date.parse(new Date('2018-03-30 12:00:00')) 會直接轉換成時間戳的形式(簡單說就是整數形式) ios系統下Da

原创 pycharm最新激活碼—2019

MTW881U3Z5-eyJsaWNlbnNlSWQiOiJNVFc4ODFVM1o1IiwibGljZW5zZWVOYW1lIjoiTnNzIEltIiwiYXNzaWduZWVOYW1lIjoiIiwiYXNzaWduZWVFbWFp

原创 iOS獲取IPA包編譯時間

-(NSTimeInterval)ipaBuildTime{     NSString *buildDate = [NSString stringWithFormat:@"%s %s",__DATE__, __TIME__];     N

原创 xcode警告

問題: Block implicitly retains 'self'; explicitly mention 'self' to indicate this is intended behavior Insert 'self->'  

原创 iOS模擬器彈出框不能點擊的解決方案

最近在使用iOS模擬器過程中,發現彈框點擊無反應,網上說重置模擬器、重啓電腦等方式,最終經過探索找到了原因: 發現是xcode 的iOS模擬器 Slow Animations打開了,導致了響應特別慢。 在模擬器的Debug菜單中,關掉Sl

原创 持續集成——從零開始在 Jenkins 上顯示打包二維碼

前言 在Jenkins上顯示二維碼,是爲了每次打完包之後都能方便的用手機下載,不必再使用數據線安裝。 本文涉及以下內容 架設Web服務器(https) Jenkins的history顯示圖片 Mac安裝Homebrew和Python3 本

原创 iOS 啓動耗時統計

統計iOSApp啓動時消耗時間: 在Arguments中設置參數,打印出App加載的時長,包括整體加載時長,動態庫加載時長等。 在Environment Variables中添加DYLD_PRINT_STATISTICS字段,並設置爲YE