簡體   English   中英

在iOS應用中使用宏SEC_IS_BEING_DEBUGGED_RETURN_NIL

[英]Using the Macro SEC_IS_BEING_DEBUGGED_RETURN_NIL in iOS app

我了解了以下代碼,聲稱可以在某種程度上防止方法混亂

#ifndef DEBUG
SEC_IS_BEING_DEBUGGED_RETURN_NIL();
#endif

但是,當將其包含在我的項目中進行測試時,我得到了一個錯誤。

函數'SEC_IS_BEING_DEBUGGED_RETURN_NIL'的隱式聲明在C99中無效

如果我需要為同一錯誤添加任何庫標頭,有人可以幫助我解決此錯誤。

我無意回答自己的問題。 從上面的評論中,我進行了任何此類實現的搜索。 在GitHub Project中找到了它。 這是NSObject的類別

也許,它將對future任何人有所幫助。

#define SEC_IS_BEING_DEBUGGED_RETURN_NIL()  size_t size = sizeof(struct kinfo_proc); \
                                            struct kinfo_proc info; \
                                            int ret, name[4]; \
                                            memset(&info, 0, sizeof(struct kinfo_proc)); \
                                            name[0] = CTL_KERN; \
                                            name[1] = KERN_PROC; \
                                            name[2] = KERN_PROC_PID; \
                                            name[3] = getpid(); \
                                            if ((ret = (sysctl(name, 4, &info, &size, NULL, 0)))) { \
                                            if (ret) return nil; \
                                            } \
                                            if (info.kp_proc.p_flag & P_TRACED) return nil

歸功於這個的廠商

//由Derek Selander在快樂的一天創建。 //
//版權(c)
// 2013年Derek Selander。 版權所有。 //

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM