GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Sign in
  • ActionsCI/CD and automation
  • CodespacesCloud development environments
  • All Features
  • Documentation
  • Training
  • Certifications
  • Build with Copilot
  • Customize Copilot
  • Integrations
  • Trending repos
  • GitHub Sponsors
  • Developer articles
  • Enterprises

This view

  • Original page
  • New address

GeezerVison is showing github.com — Tkinter apps can't be distributed on the macOS App Store · Issue #129247 · python/cpython

Tkinter apps can't be distributed on the macOS App Store #129247

New issue
Copy link
New issue
Copy link
Closed
Closed
Tkinter apps can't be distributed on the macOS App Store#129247
Copy link
Labels
OS-mactopic-tkintertype-bugAn unexpected behavior, bug, or errorAn unexpected behavior, bug, or error

Description

@freakboy3742
freakboy3742
opened on Jan 23, 2025
Issue body actions

Bug report

Bug description:

If you use tkinter in your app, and package the app for distribution in the macOS App Store, the app will be rejected with a message to the effect that:

Guideline 2.5.1 - Performance - Software Requirements

Your app uses or references the following non-public or deprecated APIs:

Contents/Frameworks/Python.framework/Versions/3.12/lib/libtk8.6.dylib

Symbols:

• _NSWindowDidOrderOnScreenNotification

The use of non-public or deprecated APIs is not permitted on the App Store, as they can lead to a poor user experience should these APIs change and are otherwise not supported on Apple platforms.

(or similar).

This appears to be a known issue in Tk.

This ticket is mostly to log the issue as something that can affect macOS users; there's not much we can do to fix it until such time as Tk fixes the problem and releases the fix in a version that Python can incorporate into a release (or, I guess, Apple changes their App Store review policies).

CPython versions tested on:

3.14, 3.13, 3.12, 3.11, 3.10, 3.9, CPython main branch

Operating systems tested on:

macOS

Activity

  1. freakboy3742
    added
    OS-mac
    topic-tkinter
    type-bugAn unexpected behavior, bug, or errorAn unexpected behavior, bug, or error
    on Jan 23, 2025
  2. hoodmane commented on Jan 24, 2025

    @hoodmane
    hoodmane
    on Jan 24, 2025
    Contributor
    More actions

    Maybe you could patch tkinter.so to stub out the symbol to a trap?

  3. freakboy3742 commented on Jan 24, 2025

    @freakboy3742
    freakboy3742
    on Jan 24, 2025
    ContributorAuthor
    More actions

    I'm not sure that would actually fix the problem - the issue is the existence of the symbol at all. Apple's already demonstrated that their app rejection processes rely heavily on fairly naïve pattern matches (see #120522); I wouldn't be at all surprised that if you wrote some code that just happened to use the name _NSWindowDidOrderOnScreenNotification as a symbol, it would be rejected, even if the code had nothing to do with Cocoa.

    It's also an issue internal to the Tk dylib, not the tkinter.so Python module; so this sort of approach would require doing binary patching (or source patching) one of our upstream dependencies.... just so people can put Tk apps in the App Store. I'm not convinced that juice is worth the squeeze.

    Reacted by Hood Chatham and John
  4. serhiy-storchaka commented on Sep 22, 2026

    @serhiy-storchaka
    serhiy-storchaka
    on Sep 22, 2026
    Member
    More actions

    Fixed upstream: Tk no longer references the private NSWindowDidOrderOnScreenNotification (a9969f7ffd). The fix is in the 9.0 branch and in 9.1b1, so it will be in Tk 9.0.5; it was not backported to 8.6, and applications which need the App Store have to ship Tk 9.

  5. serhiy-storchaka
    closed this as completedon Sep 22, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    OS-mactopic-tkintertype-bugAn unexpected behavior, bug, or errorAn unexpected behavior, bug, or error

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions

      You are visitor 01402520 — GeezerVison does not store the pages you look up.
      Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.