ITMS-90338: Non-public API usage

  1. SDK Version: 48
  2. Platforms(Android/iOS/web/all): IOS

My relatively simple hobbyist builds are no longer being accepted by App Store Connect. For maybe the last three weeks, I can’t get anything to go through.

I am trying to build for TestFlight – and previously that worked. More recently, builds sent through Transport are delivered without error, but shortly afterward I get an email with this message:

Dear Developer,

We identified one or more issues with a recent delivery for your app, “Hello Blue” 0.0.2 (1). Please correct the following issues, then upload again.

ITMS-90338: Non-public API usage - The app references non-public selectors in helloblue: _isKeyDown, _modifiedInput, _modifierFlags. 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 Requesting Technical Support - Support - Apple Developer

Best regards,

The App Store Team

In troubleshooting, I have retreated to increasingly simplified versions of code to write a hello world application which fails in exactly the same way as my other projects.

repo

hello world Bitbucket repo

eas.json

I am building with the development-testflight profile.

{
  "cli": {
    "version": ">= 3.9.3"
  },
  "build": {
    "development": {
      "developmentClient": true,
      "distribution": "internal",
      "ios": {
        "resourceClass": "m-medium"
      }
    },
    "development-testflight": {
      "developmentClient": true,
      "distribution": "store",
      "ios": {
        "resourceClass": "m-medium"
      }
    },
    "preview": {
      "distribution": "internal",
      "ios": {
        "resourceClass": "m-medium"
      }
    },
    "production": {
      "ios": {
        "resourceClass": "m-medium"
      }
    }
  },
  "submit": {
    "production": {}
  }
}

Hi @ifthen

Unfortunately expo-dev-client makes use of non-public APIs, so you cannot submit a build with "developmentClient": true to Testflight or the App Store.

It’s a known issue, but I personally don’t know the details and it’s been around for a long time, so I don’t think this is likely to change.

Related post:

This topic was automatically closed 20 days after the last reply. New replies are no longer allowed.