2017-02-24 42 views
0

我正在使用ifaddrs.h來獲取iOS設備使用的數據,它的工作就像一個魅力!我正在與Objective-C合作。我使用結構ifa_dataif_var.h頭訪問ifi_ibytesifi_obytes。但是,有一個問題,計數器返回的數據類型爲u_int32_t,這會導致數據在4 GB後溢出。同一個if_var.h文件中有另一個結構可用,其名稱爲ifa_data64,它與u_int64_t數據類型中的ifa_data具有相同的成員。但是我不能訪問它,因爲它不是ifaddrs.h裏面的結構體的成員。 (參考:ifaddrs.hif_var.h)內ifaddrs.h的代碼看起來像這樣是否有可能在ios中的ifaddrs.h結構中添加成員

struct ifaddrs { 
struct ifaddrs *ifa_next; 
char  *ifa_name; 
unsigned int  ifa_flags; 
struct sockaddr *ifa_addr; 
struct sockaddr *ifa_netmask; 
struct sockaddr *ifa_dstaddr; 
void  *ifa_data; 
}; 

我想補充ifa_data64因爲這個結構和運行的內部成員。是否有可能這樣做?任何幫助,將不勝感激。

回答

0

Fishhook是一個非常簡單的庫,它允許在模擬器和設備上的iOS上運行的Mach-O二進制文件中動態重新綁定符號。它由Facebook開發,也許它會幫助你。

+0

我添加的文件是Apple的。 Fishhook是一個私人圖書館嗎?當使用該應用程序時,該appstore會拒絕該應用程序嗎?而我只想知道的是我可以更改我的應用程序的頭文件 –

+0

我不確定當使用該應用程序時,appstore是否會拒絕該應用程序。我想這不會被拒絕,因爲它使用了dylb,蘋果公開了什麼。 – Shawn

+0

結構不是Mach-o動態意義上的符號,有非常特定的內存處理,並且在運行時無法替換,因爲機器代碼已經針對確切的結構大小生成。這個庫不能改變結構體的定義。 –

相關問題