FirebaseCrashlytics – Non-public API usage on Mac Catalyst

[REQUIRED] Step 1: Describe your environment

  • Xcode version: 11.6
  • Firebase SDK version: 6.28.1
  • Firebase Component: FirebaseCrashlytics
  • Component version: 4.3.0
  • Installation method: CocoaPods

[REQUIRED] Step 2: Describe the problem

Steps to reproduce:

After uploading a Mac Catalyst app, I received an email form Apple saying:

ITMS-90338: Non-public API usage – The app references non-public symbols in Contents/MacOS/Invoice: _NXGetArchInfoFromCpuType, _NXGetLocalArchInfo, _getsectbynamefromheader, _getsectbynamefromheader_64. If method names in your source code match the private Apple APIs listed above, altering your method names will help prevent this app from being flagged in future submissions. In addition, note that one or more of the above APIs may be located in a static library that was included with your app. If so, they must be removed. For further information, visit the Technical Support Information at http://developer.apple.com/support/technical/

I noticed that these methods are present in FirebaseCrashlytics code. I was able to successfully upload iOS version of my app which also uses FirebaseCrashlytics. This email is only being sent for my macOS app.

2 thoughts on “FirebaseCrashlytics – Non-public API usage on Mac Catalyst

  1. @maksymmalyhin the popups, from top to bottom, are:

    Unable to open the document "YES". The document does not exist.
    
    AppName wants to use the secret stored in com.firebase.FIRInstallations.
    
    The authenticity of AppName could not be verified. If you would like to provide access, enter your login password.
    

    The second popup is a duplicate of ##5540.

    I’m not sure what is causing the first popup. @dinglingui can you provide a sample project that reproduces this popup?