我正在使用应用程序扫描工具来检测应用程序中PRIVATE API的使用。
按照网站的指示,我拖拽了my_application。应用程序文件&该工具扫描使用的私有API参考所附屏幕截图
完成扫描私有API后,它给出了一个巨大的列表!附件是ref.
的截图。在第二列中列出了有问题的方法签名。这到底是什么意思(这些也包括委托的一些委托方法)&我该如何解决它们呢?我需要去上课吗?重命名方法?
我认为oTool工作得更好。我检查了
otool -ov APP.NAME.
工作更好。像这样的信息
0059b058 0x6164a8
name 0x57ac94
cls 0x0
instanceMethods 0x6163c0
entsize 12
count 17
name 0x52b277 getSysInfoByName:
types 0x582a3b @12@0:4*8
imp 0x3f92b5
name 0x52b2ba platform
types 0x57bc6d @8@0:4
imp 0x3f9351
name 0x52b2eb hwmodel
types 0x57bc6d @8@0:4
imp 0x3f9389
name 0x52b289 getSysInfo:
types 0x582a45 I12@0:4I8
imp 0x3f93c1
name 0x52b2f3 cpuFrequency
types 0x57bda8 I8@0:4
imp 0x3f9451
name 0x52b300 busFrequency
types 0x57bda8 I8@0:4
imp 0x3f9485
name 0x52b30d cpuCount
types 0x57bda8 I8@0:4
imp 0x3f94b9
name 0x52b316 totalMemory
types 0x57bda8 I8@0:4
imp 0x3f94ed
name 0x52b322 userMemory
types 0x57bda8 I8@0:4
imp 0x3f9521
name 0x52b32d maxSocketBufferSize
types 0x57bda8 I8@0:4
imp 0x3f9555
name 0x52b341 totalDiskSpace
types 0x57bc6d @8@0:4
imp 0x3f9589
name 0x52b350 freeDiskSpace
types 0x57bc6d @8@0:4
imp 0x3f9639
name 0x52b2c3 platformType
types 0x57bda8 I8@0:4
imp 0x3f96e9
name 0x52b0c4 platformString
types 0x57bc6d @8@0:4
imp 0x3f9e99
name 0x52b35e hasRetinaDisplay
types 0x57bcf4 c8@0:4
imp 0x3fa0ed
name 0x52b36f deviceFamily
types 0x57bccf i8@0:4
imp 0x3fa185
name 0x52b09a macaddress
types 0x57bc6d @8@0:4
imp 0x3fa2f9
classMethods 0x616494
它看起来像它检测私有API调用您的第三方库(MFGridView, MFGridViewCell, KitabooGridCell…)。我不确定他们是如何定义"私有"的(如果它只是在头文件中没有记录的任何函数)。这对苹果来说不是问题,他们只是不喜欢你调用他们的私有api,因为他们不能保证结果。