Pranav Jaiswal
Pranav Jaiswal

Reputation: 3752

App Scanner Tool for detecting usage of PRIVATE API's

I'm using the App Scanner Tool for detecting PRIVATE API use in the application.

As instructed at website I've dragged my_application.app file & the tool scans for Private API's used refer the attached screen shot

After completing the scan for Private API's it gives out a huge list! attached is a screen shot for ref.

Here it lists out the Offending Method Signatures in the second column. What exactly does this mean (these also include delegate some of the delegate methods) & how do i go about resolving them? Do i need to go the classes & rename the methods?

Upvotes: 0

Views: 1738

Answers (2)

Grigori Jlavyan
Grigori Jlavyan

Reputation: 1971

I think oTool working better. I checked with

otool -ov APP.NAME. 

Working better. Like this info

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

Upvotes: 2

jbat100
jbat100

Reputation: 16827

It looks like its detecting private API calls for your third party libraries (MFGridView, MFGridViewCell, KitabooGridCell...). I'm not sure how they define "private" (if it's just any function not documented in the headers). This is not a problem as far as Apple are concerned, they just don't like you calling THEIR private APIs because they cannot provide any guarantees about the results.

Upvotes: 0

Related Questions