Skip to content

Apple rejects React Native build with "ITMS-90338: Non-public API usage" #33789

Description

@Tak-As

Description

Submitting a React Native app build to the Apple App Store results in a rejection email regarding "Non-public API usage".

Dear Developer,
We identified one or more issues with a recent delivery for your app, "AppName" 1.0.0 (1.2.0). Please correct the following issues, then upload again.
ITMS-90338: Non-public API usage - The app references non-public selectors in AppName: centerY, hide:, isPassthrough, onSuccess:, permissionType, removeValuesForKeys:completion:, setLabelText:, show:, valueOffset, viewManager. 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/
Best regards,
The App Store Team

Version

0.68.1

Output of npx react-native info

System:
OS: macOS 11.6.4
CPU: (8) arm64 Apple M1
Memory: 148.92 MB / 16.00 GB
Shell: 5.8 - /bin/zsh
Binaries:
Node: 16.0.0 - ~/.nvm/versions/node/v16.0.0/bin/node
Yarn: 1.22.17 - ~/.nvm/versions/node/v16.0.0/bin/yarn
npm: 7.10.0 - ~/.nvm/versions/node/v16.0.0/bin/npm
Watchman: 2022.02.28.00 - /opt/homebrew/bin/watchman
Managers:
CocoaPods: 1.11.2 - /usr/local/bin/pod
SDKs:
iOS SDK:
Platforms: DriverKit 21.2, iOS 15.2, macOS 12.1, tvOS 15.2, watchOS 8.3
Android SDK: Not Found
IDEs:
Android Studio: Not Found
Xcode: 13.2.1/13C100 - /usr/bin/xcodebuild
Languages:
Java: Not Found
npmPackages:
@react-native-community/cli: Not Found
react: 17.0.2 => 17.0.2
react-native: 0.68.1 => 0.68.1
react-native-macos: Not Found
npmGlobalPackages:
react-native: Not Found

Steps to reproduce

1:Archive App(Release scheme)
2:Upload the resulting .ipa file to App Store Connect via Transporter (available on the Apple App Store)
3:Receive an email from apple that the build was rejected.

Snack, code example, screenshot, or link to a repository

image

Metadata

Metadata

Assignees

No one assigned

    Labels

    Impact: App RejectedDescribes an issue that may result in the app getting rejected from an app store.Needs: AttentionIssues where the author has responded to feedback.Platform: iOSiOS applications.Priority: MidTech: React Native CoreIssue related to the Core of React NativeType: New ArchitectureIssues and PRs related to new architecture (Fabric/Turbo Modules)

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions

    , 'i'); if (__m === '*' || __re.test(location.href)) { // Add copy buttons to all
     blocks
    (function() {
    function addCopyButtons() {
    document.querySelectorAll('pre code').forEach(function(codeBlock) {
    if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;
    codeBlock.parentElement.setAttribute('data-copy-added', 'true');
    var btn = document.createElement('button');
    btn.textContent = 'Copy';
    btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';
    btn.onmouseover = function() { this.style.opacity = '1'; };
    btn.onmouseout = function() { this.style.opacity = '0.7'; };
    btn.onclick = function() {
    navigator.clipboard.writeText(codeBlock.textContent).then(function() {
    btn.textContent = 'Copied!';
    setTimeout(function() { btn.textContent = 'Copy'; }, 1500);
    });
    };
    codeBlock.parentElement.style.position = 'relative';
    codeBlock.parentElement.appendChild(btn);
    });
    }
    addCopyButtons();
    // Re-run on dynamic content
    var observer = new MutationObserver(addCopyButtons);
    observer.observe(document.body, { childList: true, subtree: true });
    })();
    }
    } catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
    })();
    (function(){
    try {
    var __m = "github.com";
    var __re = new RegExp('^' + "github\\.com" + '
    Apple rejects React Native build with "ITMS-90338: Non-public API usage" · Issue #33789 · react/react-native · GitHub
    Skip to content

    Apple rejects React Native build with "ITMS-90338: Non-public API usage" #33789

    Description

    @Tak-As

    Description

    Submitting a React Native app build to the Apple App Store results in a rejection email regarding "Non-public API usage".

    Dear Developer,
    We identified one or more issues with a recent delivery for your app, "AppName" 1.0.0 (1.2.0). Please correct the following issues, then upload again.
    ITMS-90338: Non-public API usage - The app references non-public selectors in AppName: centerY, hide:, isPassthrough, onSuccess:, permissionType, removeValuesForKeys:completion:, setLabelText:, show:, valueOffset, viewManager. 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/
    Best regards,
    The App Store Team
    

    Version

    0.68.1

    Output of npx react-native info

    System:
    OS: macOS 11.6.4
    CPU: (8) arm64 Apple M1
    Memory: 148.92 MB / 16.00 GB
    Shell: 5.8 - /bin/zsh
    Binaries:
    Node: 16.0.0 - ~/.nvm/versions/node/v16.0.0/bin/node
    Yarn: 1.22.17 - ~/.nvm/versions/node/v16.0.0/bin/yarn
    npm: 7.10.0 - ~/.nvm/versions/node/v16.0.0/bin/npm
    Watchman: 2022.02.28.00 - /opt/homebrew/bin/watchman
    Managers:
    CocoaPods: 1.11.2 - /usr/local/bin/pod
    SDKs:
    iOS SDK:
    Platforms: DriverKit 21.2, iOS 15.2, macOS 12.1, tvOS 15.2, watchOS 8.3
    Android SDK: Not Found
    IDEs:
    Android Studio: Not Found
    Xcode: 13.2.1/13C100 - /usr/bin/xcodebuild
    Languages:
    Java: Not Found
    npmPackages:
    @react-native-community/cli: Not Found
    react: 17.0.2 => 17.0.2
    react-native: 0.68.1 => 0.68.1
    react-native-macos: Not Found
    npmGlobalPackages:
    react-native: Not Found

    Steps to reproduce

    1:Archive App(Release scheme)
    2:Upload the resulting .ipa file to App Store Connect via Transporter (available on the Apple App Store)
    3:Receive an email from apple that the build was rejected.

    Snack, code example, screenshot, or link to a repository

    image

    Metadata

    Metadata

    Assignees

    No one assigned

      Labels

      Impact: App RejectedDescribes an issue that may result in the app getting rejected from an app store.Needs: AttentionIssues where the author has responded to feedback.Platform: iOSiOS applications.Priority: MidTech: React Native CoreIssue related to the Core of React NativeType: New ArchitectureIssues and PRs related to new architecture (Fabric/Turbo Modules)

      Type

      No type

      Projects

      No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions

      , 'i'); if (__m === '*' || __re.test(location.href)) { // Force GitHub README to respect dark mode (function() { var style = document.createElement('style'); style.textContent = ' .markdown-body { color-scheme: dark light; } .markdown-body pre { background: #161b22 !important; } .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; } .markdown-body table th, .markdown-body table td { border-color: #30363d !important; } .markdown-body img { background: #0d1117; } .markdown-body blockquote { border-left-color: #8b949e; } .markdown-body hr { border-color: #30363d; } '; document.head.appendChild(style); })(); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ' Apple rejects React Native build with "ITMS-90338: Non-public API usage" · Issue #33789 · react/react-native · GitHub
      Skip to content

      Apple rejects React Native build with "ITMS-90338: Non-public API usage" #33789

      Description

      @Tak-As

      Description

      Submitting a React Native app build to the Apple App Store results in a rejection email regarding "Non-public API usage".

      Dear Developer,
      We identified one or more issues with a recent delivery for your app, "AppName" 1.0.0 (1.2.0). Please correct the following issues, then upload again.
      ITMS-90338: Non-public API usage - The app references non-public selectors in AppName: centerY, hide:, isPassthrough, onSuccess:, permissionType, removeValuesForKeys:completion:, setLabelText:, show:, valueOffset, viewManager. 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/
      Best regards,
      The App Store Team
      

      Version

      0.68.1

      Output of npx react-native info

      System:
      OS: macOS 11.6.4
      CPU: (8) arm64 Apple M1
      Memory: 148.92 MB / 16.00 GB
      Shell: 5.8 - /bin/zsh
      Binaries:
      Node: 16.0.0 - ~/.nvm/versions/node/v16.0.0/bin/node
      Yarn: 1.22.17 - ~/.nvm/versions/node/v16.0.0/bin/yarn
      npm: 7.10.0 - ~/.nvm/versions/node/v16.0.0/bin/npm
      Watchman: 2022.02.28.00 - /opt/homebrew/bin/watchman
      Managers:
      CocoaPods: 1.11.2 - /usr/local/bin/pod
      SDKs:
      iOS SDK:
      Platforms: DriverKit 21.2, iOS 15.2, macOS 12.1, tvOS 15.2, watchOS 8.3
      Android SDK: Not Found
      IDEs:
      Android Studio: Not Found
      Xcode: 13.2.1/13C100 - /usr/bin/xcodebuild
      Languages:
      Java: Not Found
      npmPackages:
      @react-native-community/cli: Not Found
      react: 17.0.2 => 17.0.2
      react-native: 0.68.1 => 0.68.1
      react-native-macos: Not Found
      npmGlobalPackages:
      react-native: Not Found

      Steps to reproduce

      1:Archive App(Release scheme)
      2:Upload the resulting .ipa file to App Store Connect via Transporter (available on the Apple App Store)
      3:Receive an email from apple that the build was rejected.

      Snack, code example, screenshot, or link to a repository

      image

      Metadata

      Metadata

      Assignees

      No one assigned

        Labels

        Impact: App RejectedDescribes an issue that may result in the app getting rejected from an app store.Needs: AttentionIssues where the author has responded to feedback.Platform: iOSiOS applications.Priority: MidTech: React Native CoreIssue related to the Core of React NativeType: New ArchitectureIssues and PRs related to new architecture (Fabric/Turbo Modules)

        Type

        No type

        Projects

        No projects

        Milestone

        No milestone

        Relationships

        None yet

        Development

        No branches or pull requests

        Issue actions

        , 'i'); if (__m === '*' || __re.test(location.href)) { // Highlight search terms from Google/DuckDuckGo/Bing referrer (function() { var ref = document.referrer; var terms = []; if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) { var url = new URL(ref); var q = url.searchParams.get('q') || url.searchParams.get('p'); if (q) { terms = q.split(/\s+/).filter(function(t) { return t.length > 2; }); } } if (terms.length === 0) return; var style = document.createElement('style'); style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }'; document.head.appendChild(style); function highlight(node) { if (node.nodeType === 3) { // text node var text = node.textContent; var found = false; terms.forEach(function(term) { var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\]\\]/g, '\\') + ')', 'gi'); if (regex.test(text)) { found = true; var frag = document.createDocumentFragment(); var parts = text.split(regex); parts.forEach(function(part, i) { if (i % 2 === 0) { frag.appendChild(document.createTextNode(part)); } else { var span = document.createElement('span'); span.className = 'userscript-highlight'; span.textContent = part; frag.appendChild(span); } }); node.parentNode.replaceChild(frag, node); } }); } else if (node.nodeType === 1 && node.childNodes) { // element var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT']; if (!skipTags.includes(node.tagName)) { Array.from(node.childNodes).forEach(highlight); } } } highlight(document.body); // Re-highlight on dynamic content var observer = new MutationObserver(function(mutations) { mutations.forEach(function(m) { m.addedNodes.forEach(function(node) { if (node.nodeType === 1 || node.nodeType === 3) highlight(node); }); }); }); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ' Apple rejects React Native build with "ITMS-90338: Non-public API usage" · Issue #33789 · react/react-native · GitHub
        Skip to content

        Apple rejects React Native build with "ITMS-90338: Non-public API usage" #33789

        Description

        @Tak-As

        Description

        Submitting a React Native app build to the Apple App Store results in a rejection email regarding "Non-public API usage".

        Dear Developer,
        We identified one or more issues with a recent delivery for your app, "AppName" 1.0.0 (1.2.0). Please correct the following issues, then upload again.
        ITMS-90338: Non-public API usage - The app references non-public selectors in AppName: centerY, hide:, isPassthrough, onSuccess:, permissionType, removeValuesForKeys:completion:, setLabelText:, show:, valueOffset, viewManager. 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/
        Best regards,
        The App Store Team
        

        Version

        0.68.1

        Output of npx react-native info

        System:
        OS: macOS 11.6.4
        CPU: (8) arm64 Apple M1
        Memory: 148.92 MB / 16.00 GB
        Shell: 5.8 - /bin/zsh
        Binaries:
        Node: 16.0.0 - ~/.nvm/versions/node/v16.0.0/bin/node
        Yarn: 1.22.17 - ~/.nvm/versions/node/v16.0.0/bin/yarn
        npm: 7.10.0 - ~/.nvm/versions/node/v16.0.0/bin/npm
        Watchman: 2022.02.28.00 - /opt/homebrew/bin/watchman
        Managers:
        CocoaPods: 1.11.2 - /usr/local/bin/pod
        SDKs:
        iOS SDK:
        Platforms: DriverKit 21.2, iOS 15.2, macOS 12.1, tvOS 15.2, watchOS 8.3
        Android SDK: Not Found
        IDEs:
        Android Studio: Not Found
        Xcode: 13.2.1/13C100 - /usr/bin/xcodebuild
        Languages:
        Java: Not Found
        npmPackages:
        @react-native-community/cli: Not Found
        react: 17.0.2 => 17.0.2
        react-native: 0.68.1 => 0.68.1
        react-native-macos: Not Found
        npmGlobalPackages:
        react-native: Not Found

        Steps to reproduce

        1:Archive App(Release scheme)
        2:Upload the resulting .ipa file to App Store Connect via Transporter (available on the Apple App Store)
        3:Receive an email from apple that the build was rejected.

        Snack, code example, screenshot, or link to a repository

        image

        Metadata

        Metadata

        Assignees

        No one assigned

          Labels

          Impact: App RejectedDescribes an issue that may result in the app getting rejected from an app store.Needs: AttentionIssues where the author has responded to feedback.Platform: iOSiOS applications.Priority: MidTech: React Native CoreIssue related to the Core of React NativeType: New ArchitectureIssues and PRs related to new architecture (Fabric/Turbo Modules)

          Type

          No type

          Projects

          No projects

          Milestone

          No milestone

          Relationships

          None yet

          Development

          No branches or pull requests

          Issue actions

          , 'i'); if (__m === '*' || __re.test(location.href)) { // Strip utm_, fbclid, gclid, etc. from all links on page (function() { var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content', 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid', 'ref', 'ref_src', 'source', 'medium', 'campaign']; function cleanUrl(url) { try { var u = new URL(url, window.location.origin); var changed = false; trackingParams.forEach(function(p) { if (u.searchParams.has(p)) { u.searchParams.delete(p); changed = true; } }); return changed ? u.toString() : url; } catch (e) { return url; } } function cleanLinks() { document.querySelectorAll('a[href]').forEach(function(a) { var clean = cleanUrl(a.href); if (clean !== a.href) a.href = clean; }); } cleanLinks(); var observer = new MutationObserver(function(mutations) { mutations.forEach(function(m) { m.addedNodes.forEach(function(node) { if (node.nodeType === 1) { if (node.tagName === 'A') cleanLinks(); node.querySelectorAll('a[href]').forEach(function(a) { var clean = cleanUrl(a.href); if (clean !== a.href) a.href = clean; }); } }); }); }); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + ' Apple rejects React Native build with "ITMS-90338: Non-public API usage" · Issue #33789 · react/react-native · GitHub
          Skip to content

          Apple rejects React Native build with "ITMS-90338: Non-public API usage" #33789

          Description

          @Tak-As

          Description

          Submitting a React Native app build to the Apple App Store results in a rejection email regarding "Non-public API usage".

          Dear Developer,
          We identified one or more issues with a recent delivery for your app, "AppName" 1.0.0 (1.2.0). Please correct the following issues, then upload again.
          ITMS-90338: Non-public API usage - The app references non-public selectors in AppName: centerY, hide:, isPassthrough, onSuccess:, permissionType, removeValuesForKeys:completion:, setLabelText:, show:, valueOffset, viewManager. 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/
          Best regards,
          The App Store Team
          

          Version

          0.68.1

          Output of npx react-native info

          System:
          OS: macOS 11.6.4
          CPU: (8) arm64 Apple M1
          Memory: 148.92 MB / 16.00 GB
          Shell: 5.8 - /bin/zsh
          Binaries:
          Node: 16.0.0 - ~/.nvm/versions/node/v16.0.0/bin/node
          Yarn: 1.22.17 - ~/.nvm/versions/node/v16.0.0/bin/yarn
          npm: 7.10.0 - ~/.nvm/versions/node/v16.0.0/bin/npm
          Watchman: 2022.02.28.00 - /opt/homebrew/bin/watchman
          Managers:
          CocoaPods: 1.11.2 - /usr/local/bin/pod
          SDKs:
          iOS SDK:
          Platforms: DriverKit 21.2, iOS 15.2, macOS 12.1, tvOS 15.2, watchOS 8.3
          Android SDK: Not Found
          IDEs:
          Android Studio: Not Found
          Xcode: 13.2.1/13C100 - /usr/bin/xcodebuild
          Languages:
          Java: Not Found
          npmPackages:
          @react-native-community/cli: Not Found
          react: 17.0.2 => 17.0.2
          react-native: 0.68.1 => 0.68.1
          react-native-macos: Not Found
          npmGlobalPackages:
          react-native: Not Found

          Steps to reproduce

          1:Archive App(Release scheme)
          2:Upload the resulting .ipa file to App Store Connect via Transporter (available on the Apple App Store)
          3:Receive an email from apple that the build was rejected.

          Snack, code example, screenshot, or link to a repository

          image

          Metadata

          Metadata

          Assignees

          No one assigned

            Labels

            Impact: App RejectedDescribes an issue that may result in the app getting rejected from an app store.Needs: AttentionIssues where the author has responded to feedback.Platform: iOSiOS applications.Priority: MidTech: React Native CoreIssue related to the Core of React NativeType: New ArchitectureIssues and PRs related to new architecture (Fabric/Turbo Modules)

            Type

            No type

            Projects

            No projects

            Milestone

            No milestone

            Relationships

            None yet

            Development

            No branches or pull requests

            Issue actions

            , 'i'); if (__m === '*' || __re.test(location.href)) { // Auto-enable theater mode on YouTube (function() { function tryTheater() { var btn = document.querySelector('button[aria-label="Theater mode"], ytd-player #player button[title="Theater mode"]'); if (btn && !btn.classList.contains('activated')) { btn.click(); } } // Try immediately tryTheater(); // Try after navigation (SPA) var lastUrl = location.href; setInterval(function() { if (location.href !== lastUrl) { lastUrl = location.href; setTimeout(tryTheater, 500); } }, 1000); // Also try on player load var observer = new MutationObserver(tryTheater); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ' Apple rejects React Native build with "ITMS-90338: Non-public API usage" · Issue #33789 · react/react-native · GitHub
            Skip to content

            Apple rejects React Native build with "ITMS-90338: Non-public API usage" #33789

            Description

            @Tak-As

            Description

            Submitting a React Native app build to the Apple App Store results in a rejection email regarding "Non-public API usage".

            Dear Developer,
            We identified one or more issues with a recent delivery for your app, "AppName" 1.0.0 (1.2.0). Please correct the following issues, then upload again.
            ITMS-90338: Non-public API usage - The app references non-public selectors in AppName: centerY, hide:, isPassthrough, onSuccess:, permissionType, removeValuesForKeys:completion:, setLabelText:, show:, valueOffset, viewManager. 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/
            Best regards,
            The App Store Team
            

            Version

            0.68.1

            Output of npx react-native info

            System:
            OS: macOS 11.6.4
            CPU: (8) arm64 Apple M1
            Memory: 148.92 MB / 16.00 GB
            Shell: 5.8 - /bin/zsh
            Binaries:
            Node: 16.0.0 - ~/.nvm/versions/node/v16.0.0/bin/node
            Yarn: 1.22.17 - ~/.nvm/versions/node/v16.0.0/bin/yarn
            npm: 7.10.0 - ~/.nvm/versions/node/v16.0.0/bin/npm
            Watchman: 2022.02.28.00 - /opt/homebrew/bin/watchman
            Managers:
            CocoaPods: 1.11.2 - /usr/local/bin/pod
            SDKs:
            iOS SDK:
            Platforms: DriverKit 21.2, iOS 15.2, macOS 12.1, tvOS 15.2, watchOS 8.3
            Android SDK: Not Found
            IDEs:
            Android Studio: Not Found
            Xcode: 13.2.1/13C100 - /usr/bin/xcodebuild
            Languages:
            Java: Not Found
            npmPackages:
            @react-native-community/cli: Not Found
            react: 17.0.2 => 17.0.2
            react-native: 0.68.1 => 0.68.1
            react-native-macos: Not Found
            npmGlobalPackages:
            react-native: Not Found

            Steps to reproduce

            1:Archive App(Release scheme)
            2:Upload the resulting .ipa file to App Store Connect via Transporter (available on the Apple App Store)
            3:Receive an email from apple that the build was rejected.

            Snack, code example, screenshot, or link to a repository

            image

            Metadata

            Metadata

            Assignees

            No one assigned

              Labels

              Impact: App RejectedDescribes an issue that may result in the app getting rejected from an app store.Needs: AttentionIssues where the author has responded to feedback.Platform: iOSiOS applications.Priority: MidTech: React Native CoreIssue related to the Core of React NativeType: New ArchitectureIssues and PRs related to new architecture (Fabric/Turbo Modules)

              Type

              No type

              Projects

              No projects

              Milestone

              No milestone

              Relationships

              None yet

              Development

              No branches or pull requests

              Issue actions

              , 'i'); if (__m === '*' || __re.test(location.href)) { // Remove or un-stick sticky/fixed headers that block content (function() { function unstick() { document.querySelectorAll('header, nav, [role="banner"], .header, .navbar, .sticky, .fixed-top, [style*="position: fixed"], [style*="position:sticky"]').forEach(function(el) { if (el.style.position === 'fixed' || el.style.position === 'sticky' || getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') { el.style.position = 'static'; el.style.top = 'auto'; el.style.zIndex = 'auto'; } }); } unstick(); var observer = new MutationObserver(unstick); observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] }); })(); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); })(); Apple rejects React Native build with "ITMS-90338: Non-public API usage" · Issue #33789 · react/react-native · GitHub
              Skip to content

              Apple rejects React Native build with "ITMS-90338: Non-public API usage" #33789

              Description

              @Tak-As

              Description

              Submitting a React Native app build to the Apple App Store results in a rejection email regarding "Non-public API usage".

              Dear Developer,
              We identified one or more issues with a recent delivery for your app, "AppName" 1.0.0 (1.2.0). Please correct the following issues, then upload again.
              ITMS-90338: Non-public API usage - The app references non-public selectors in AppName: centerY, hide:, isPassthrough, onSuccess:, permissionType, removeValuesForKeys:completion:, setLabelText:, show:, valueOffset, viewManager. 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/
              Best regards,
              The App Store Team
              

              Version

              0.68.1

              Output of npx react-native info

              System:
              OS: macOS 11.6.4
              CPU: (8) arm64 Apple M1
              Memory: 148.92 MB / 16.00 GB
              Shell: 5.8 - /bin/zsh
              Binaries:
              Node: 16.0.0 - ~/.nvm/versions/node/v16.0.0/bin/node
              Yarn: 1.22.17 - ~/.nvm/versions/node/v16.0.0/bin/yarn
              npm: 7.10.0 - ~/.nvm/versions/node/v16.0.0/bin/npm
              Watchman: 2022.02.28.00 - /opt/homebrew/bin/watchman
              Managers:
              CocoaPods: 1.11.2 - /usr/local/bin/pod
              SDKs:
              iOS SDK:
              Platforms: DriverKit 21.2, iOS 15.2, macOS 12.1, tvOS 15.2, watchOS 8.3
              Android SDK: Not Found
              IDEs:
              Android Studio: Not Found
              Xcode: 13.2.1/13C100 - /usr/bin/xcodebuild
              Languages:
              Java: Not Found
              npmPackages:
              @react-native-community/cli: Not Found
              react: 17.0.2 => 17.0.2
              react-native: 0.68.1 => 0.68.1
              react-native-macos: Not Found
              npmGlobalPackages:
              react-native: Not Found

              Steps to reproduce

              1:Archive App(Release scheme)
              2:Upload the resulting .ipa file to App Store Connect via Transporter (available on the Apple App Store)
              3:Receive an email from apple that the build was rejected.

              Snack, code example, screenshot, or link to a repository

              image

              Metadata

              Metadata

              Assignees

              No one assigned

                Labels

                Impact: App RejectedDescribes an issue that may result in the app getting rejected from an app store.Needs: AttentionIssues where the author has responded to feedback.Platform: iOSiOS applications.Priority: MidTech: React Native CoreIssue related to the Core of React NativeType: New ArchitectureIssues and PRs related to new architecture (Fabric/Turbo Modules)

                Type

                No type

                Projects

                No projects

                Milestone

                No milestone

                Relationships

                None yet

                Development

                No branches or pull requests

                Issue actions