Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt Extensions
  • Unsolved
Collapse
Brand Logo
  1. Home
  2. Qt Development
  3. General and Desktop
  4. Presence of private APIs in Qt 6.4.2's QtCore | macOS
Forum Updated to NodeBB v4.3 + New Features

Presence of private APIs in Qt 6.4.2's QtCore | macOS

Scheduled Pinned Locked Moved Unsolved General and Desktop
macosprivate apiqt 6.4.2qtcore
3 Posts 2 Posters 668 Views 2 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • S Offline
    S Offline
    sidthatsmoi
    wrote on last edited by sidthatsmoi
    #1

    Qt 6.4.2's QtCore has two private APIs that are causing the rejection of a macOS app from the App Store. The two private APIs responsible are:
    _responsibility_get_pid_responsible_for_pid
    _responsibility_spawnattrs_setdisclaim

    These two were not present in Qt 6.3.2's QtCore.

    I used nm to view the APIs used;

    nm -a Qt/6.4.2/macos/lib/QtCore.framework/Versions/A/QtCore
    

    Screenshot 2023-02-15 at 16.11.39.png

    I have tried to use macdeployqt but it did not remove the private APIs.

    Any ideas on how to get rid of the private APIs?

    Christian EhrlicherC 1 Reply Last reply
    0
    • S sidthatsmoi

      Qt 6.4.2's QtCore has two private APIs that are causing the rejection of a macOS app from the App Store. The two private APIs responsible are:
      _responsibility_get_pid_responsible_for_pid
      _responsibility_spawnattrs_setdisclaim

      These two were not present in Qt 6.3.2's QtCore.

      I used nm to view the APIs used;

      nm -a Qt/6.4.2/macos/lib/QtCore.framework/Versions/A/QtCore
      

      Screenshot 2023-02-15 at 16.11.39.png

      I have tried to use macdeployqt but it did not remove the private APIs.

      Any ideas on how to get rid of the private APIs?

      Christian EhrlicherC Offline
      Christian EhrlicherC Offline
      Christian Ehrlicher
      Lifetime Qt Champion
      wrote on last edited by
      #2

      @sidthatsmoi said in Presence of private APIs in Qt 6.4.2's QtCore | macOS:

      I have tried to use macdeployqt but it did not remove the private APIs.

      How? See -appstore-compliant. Maybe you also have to compile Qt by yourself with the feature "appstore-compliant" set to false.

      Qt Online Installer direct download: https://download.qt.io/official_releases/online_installers/
      Visit the Qt Academy at https://academy.qt.io/catalog

      S 1 Reply Last reply
      0
      • Christian EhrlicherC Christian Ehrlicher

        @sidthatsmoi said in Presence of private APIs in Qt 6.4.2's QtCore | macOS:

        I have tried to use macdeployqt but it did not remove the private APIs.

        How? See -appstore-compliant. Maybe you also have to compile Qt by yourself with the feature "appstore-compliant" set to false.

        S Offline
        S Offline
        sidthatsmoi
        wrote on last edited by
        #3

        @Christian-Ehrlicher
        I have used the -appstore-compliant option on the final .app made with Xcode. I used nm on the .app after using macdeployqt and it still showed the presence of the two APIs within it.

        I think I will have to make my own custom Qt using the appstore-compliant feature.

        Surely you mean I have to compile Qt with the "appstore-compliant" feature turned ON?

        I know it is supposed to be turned ON by default for Qt downloaded through the maintenancetool. Maybe the Qt 6.4.2 that's available through the maintenance tool wasn't built with the appstore-compliant feature turned ON?

        1 Reply Last reply
        0

        • Login

        • Login or register to search.
        • First post
          Last post
        0
        • Categories
        • Recent
        • Tags
        • Popular
        • Users
        • Groups
        • Search
        • Get Qt Extensions
        • Unsolved