Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Apple refuses apps written in Python #87540

Closed
agprojects mannequin opened this issue Mar 2, 2021 · 11 comments
Closed

Apple refuses apps written in Python #87540

agprojects mannequin opened this issue Mar 2, 2021 · 11 comments
Labels
3.9 only security fixes interpreter-core (Objects, Python, Grammar, and Parser dirs) OS-mac topic-C-API

Comments

@agprojects
Copy link
Mannequin

agprojects mannequin commented Mar 2, 2021

BPO 43374
Nosy @terryjreedy, @ronaldoussoren, @ned-deily, @AGProjects

Note: these values reflect the state of the issue at the time it was migrated and might not reflect the current state.

Show more details

GitHub fields:

assignee = None
closed_at = <Date 2021-03-06.03:24:59.866>
created_at = <Date 2021-03-02.18:10:10.161>
labels = ['OS-mac', 'interpreter-core', '3.9', 'expert-C-API']
title = 'Apple refuses apps written in Python'
updated_at = <Date 2021-03-06.03:24:59.866>
user = 'https://github.com/agprojects'

bugs.python.org fields:

activity = <Date 2021-03-06.03:24:59.866>
actor = 'ned.deily'
assignee = 'none'
closed = True
closed_date = <Date 2021-03-06.03:24:59.866>
closer = 'ned.deily'
components = ['Interpreter Core', 'macOS', 'C API']
creation = <Date 2021-03-02.18:10:10.161>
creator = 'adigeo'
dependencies = []
files = []
hgrepos = []
issue_num = 43374
keywords = []
message_count = 11.0
messages = ['387947', '387959', '387960', '387961', '387970', '387971', '387972', '387974', '387977', '388177', '388192']
nosy_count = 4.0
nosy_names = ['terry.reedy', 'ronaldoussoren', 'ned.deily', 'adigeo']
pr_nums = []
priority = 'normal'
resolution = 'out of date'
stage = 'resolved'
status = 'closed'
superseder = None
type = None
url = 'https://bugs.python.org/issue43374'
versions = ['Python 3.9']

@agprojects
Copy link
Mannequin Author

agprojects mannequin commented Mar 2, 2021

My company maintains several Python related projects, one of them being an application published for many years in the Mac App Store.

During the submittion of the last update for the app, we were refused by Apple to publish the software with the following reason:

Guideline 2.5.1 - Performance
Your app links against the following non-public framework(s):

• Contents/Frameworks/Python.framework/Versions/3.9/lib/libformw.5.dylib/_wadd_wchnstr
• Contents/Frameworks/Python.framework/Versions/3.9/lib/libformw.5.dylib/_wins_wch
• Contents/Frameworks/Python.framework/Versions/3.9/lib/libformw.5.dylib/_win_wch
• Contents/Frameworks/Python.framework/Versions/3.9/lib/libformw.5.dylib/_win_wchnstr
• Contents/Frameworks/Python.framework/Versions/3.9/lib/libformw.5.dylib/_win_wchnstr
• Contents/Frameworks/libpython3.9.dylib/___sprintf_chk
• Contents/Frameworks/libpython3.9.dylib/_posix_spawn
• Contents/Frameworks/libpython3.9.dylib/_posix_spawn_file_actions_addclose
• Contents/Frameworks/libpython3.9.dylib/_posix_spawn_file_actions_adddup2
• Contents/Frameworks/libpython3.9.dylib/_posix_spawn_file_actions_addopen
• Contents/Frameworks/libpython3.9.dylib/_posix_spawn_file_actions_destroy
• Contents/Frameworks/libpython3.9.dylib/_posix_spawn_file_actions_init
• Contents/Frameworks/libpython3.9.dylib/_posix_spawnattr_destroy
• Contents/Frameworks/libpython3.9.dylib/_posix_spawnattr_init
• Contents/Frameworks/libpython3.9.dylib/_posix_spawnattr_setflags
• Contents/Frameworks/libpython3.9.dylib/_posix_spawnattr_setpgroup
• Contents/Frameworks/libpython3.9.dylib/_posix_spawnattr_setsigdefault
• Contents/Frameworks/libpython3.9.dylib/_posix_spawnattr_setsigmask
• Contents/Frameworks/libpython3.9.dylib/_posix_spawnp
• Contents/Frameworks/libcrypto.1.1.dylib/___sprintf_chk
• Contents/Frameworks/libp11-kit.0.dylib/___sprintf_chk
• Contents/Frameworks/Python.framework/Versions/3.9/lib/libpanelw.5.dylib/_SP
• Contents/Frameworks/Python.framework/Versions/3.9/lib/libformw.5.dylib/_SP
• Contents/Frameworks/Python.framework/Versions/3.9/lib/libformw.5.dylib/___sprintf_chk
• Contents/Frameworks/libmpfr.6.dylib/___sprintf_chk
• Contents/Frameworks/libgnutls.30.dylib/___sprintf_chk
• Contents/Frameworks/libgnutls.30.dylib/_p11_kit_space_strdup
• Contents/Frameworks/libgnutls.30.dylib/_p11_kit_space_strlen
• Contents/Frameworks/libidn2.0.dylib/_sprintf
• Contents/Frameworks/libx264.157.dylib/___sprintf_chk
• Contents/Frameworks/Python.framework/Versions/3.9/lib/libcrypto.1.1.dylib/___sprintf_chk
• Contents/Frameworks/libssl.1.1.dylib/___sprintf_chk
• Contents/Frameworks/libxml2.2.dylib/___sprintf_chk
• Contents/Frameworks/Python.framework/Versions/3.9/Python/___sprintf_chk
• Contents/Frameworks/Python.framework/Versions/3.9/Python/_posix_spawn
• Contents/Frameworks/Python.framework/Versions/3.9/Python/_posix_spawn_file_actions_addclose
• Contents/Frameworks/Python.framework/Versions/3.9/Python/_posix_spawn_file_actions_adddup2
• Contents/Frameworks/Python.framework/Versions/3.9/Python/_posix_spawn_file_actions_addopen
• Contents/Frameworks/Python.framework/Versions/3.9/Python/_posix_spawn_file_actions_destroy
• Contents/Frameworks/Python.framework/Versions/3.9/Python/_posix_spawn_file_actions_init
• Contents/Frameworks/Python.framework/Versions/3.9/Python/_posix_spawnattr_destroy
• Contents/Frameworks/Python.framework/Versions/3.9/Python/_posix_spawnattr_init
• Contents/Frameworks/Python.framework/Versions/3.9/Python/_posix_spawnattr_setflags
• Contents/Frameworks/Python.framework/Versions/3.9/Python/_posix_spawnattr_setpgroup
• Contents/Frameworks/Python.framework/Versions/3.9/Python/_posix_spawnattr_setsigdefault
• Contents/Frameworks/Python.framework/Versions/3.9/Python/_posix_spawnattr_setsigmask
• Contents/Frameworks/Python.framework/Versions/3.9/Python/_posix_spawnp
• Contents/Frameworks/Python.framework/Versions/3.9/lib/libssl.1.1.dylib/___sprintf_chk
• Contents/Frameworks/libhogweed.6.dylib/_nettle_buffer_space
• Contents/Frameworks/libicui18n.67.dylib/_sprintf
• Contents/Frameworks/Python.framework/Versions/3.9/lib/libmenuw.5.dylib/_SP
• Contents/Frameworks/libavfilter.7.dylib/_avformat_match_stream_specifier
• Contents/Frameworks/libmpc.3.dylib/___sprintf_chk
• Contents/Frameworks/libunistring.2.dylib/___sprintf_chk
• Contents/Frameworks/libunistring.2.dylib/_sprintf
• Contents/Frameworks/Python.framework/Versions/3.9/lib/libpanelw.5.dylib/__nc_panelhook
• Contents/Frameworks/Python.framework/Versions/3.9/lib/libformw.5.dylib/__nc_wcrtomb

Next Steps

The use of non-public APIs is not permitted on the App Store as it can lead to a poor user experience should these APIs change.

@agprojects agprojects mannequin added type-security A security issue 3.9 only security fixes interpreter-core (Objects, Python, Grammar, and Parser dirs) OS-mac topic-C-API labels Mar 2, 2021
@ned-deily
Copy link
Member

From where are you getting the Python that you are using in the app? A number of those libraries are not part of the python.org Mac binaries. And are you compiling with c++ by any chance?

@agprojects
Copy link
Mannequin Author

agprojects mannequin commented Mar 2, 2021

My apologies, you may disregard any libraries not downloaded from python.org <http://python.org/\>

I am strictly speaking about the following items related to this mailing list:

• Contents/Frameworks/Python.framework/Versions/3.9/lib/libformw.5.dylib/_wadd_wchnstr
• Contents/Frameworks/Python.framework/Versions/3.9/lib/libformw.5.dylib/_wins_wch
• Contents/Frameworks/Python.framework/Versions/3.9/lib/libformw.5.dylib/_win_wch
• Contents/Frameworks/Python.framework/Versions/3.9/lib/libformw.5.dylib/_win_wchnstr
• Contents/Frameworks/Python.framework/Versions/3.9/lib/libformw.5.dylib/_win_wchnstr
• Contents/Frameworks/Python.framework/Versions/3.9/lib/libpanelw.5.dylib/_SP
• Contents/Frameworks/Python.framework/Versions/3.9/lib/libformw.5.dylib/_SP
• Contents/Frameworks/Python.framework/Versions/3.9/lib/libformw.5.dylib/___sprintf_chk
• Contents/Frameworks/Python.framework/Versions/3.9/lib/libcrypto.1.1.dylib/___sprintf_chk
• Contents/Frameworks/Python.framework/Versions/3.9/Python/___sprintf_chk
• Contents/Frameworks/Python.framework/Versions/3.9/Python/_posix_spawn
• Contents/Frameworks/Python.framework/Versions/3.9/Python/_posix_spawn_file_actions_addclose
• Contents/Frameworks/Python.framework/Versions/3.9/Python/_posix_spawn_file_actions_adddup2
• Contents/Frameworks/Python.framework/Versions/3.9/Python/_posix_spawn_file_actions_addopen
• Contents/Frameworks/Python.framework/Versions/3.9/Python/_posix_spawn_file_actions_destroy
• Contents/Frameworks/Python.framework/Versions/3.9/Python/_posix_spawn_file_actions_init
• Contents/Frameworks/Python.framework/Versions/3.9/Python/_posix_spawnattr_destroy
• Contents/Frameworks/Python.framework/Versions/3.9/Python/_posix_spawnattr_init
• Contents/Frameworks/Python.framework/Versions/3.9/Python/_posix_spawnattr_setflags
• Contents/Frameworks/Python.framework/Versions/3.9/Python/_posix_spawnattr_setpgroup
• Contents/Frameworks/Python.framework/Versions/3.9/Python/_posix_spawnattr_setsigdefault
• Contents/Frameworks/Python.framework/Versions/3.9/Python/_posix_spawnattr_setsigmask
• Contents/Frameworks/Python.framework/Versions/3.9/Python/_posix_spawnp
• Contents/Frameworks/Python.framework/Versions/3.9/lib/libssl.1.1.dylib/___sprintf_chk
• Contents/Frameworks/Python.framework/Versions/3.9/lib/libmenuw.5.dylib/_SP
• Contents/Frameworks/Python.framework/Versions/3.9/lib/libpanelw.5.dylib/__nc_panelhook
• Contents/Frameworks/Python.framework/Versions/3.9/lib/libformw.5.dylib/__nc_wcrtomb

All of them are part of Python 3.9 for Mac downloaded from:

https://www.python.org/downloads/ <https://www.python.org/downloads/\>

--
Adrian

On 2 Mar 2021, at 16:54, Ned Deily <report@bugs.python.org> wrote:

Ned Deily <nad@python.org> added the comment:

> From where are you getting the Python that you are using in the app? A number of those libraries are not part of the python.org Mac binaries. And are you compiling with c++ by any chance?

----------


Python tracker <report@bugs.python.org>
<https://bugs.python.org/issue43374\>


@agprojects
Copy link
Mannequin Author

agprojects mannequin commented Mar 2, 2021

My apologies, you may disregard any libraries not downloaded from python.org <http://python.org/\>

I am strictly speaking about the following items related to this mailing list:

• Contents/Frameworks/Python.framework/Versions/3.9/lib/libformw.5.dylib/_wadd_wchnstr
• Contents/Frameworks/Python.framework/Versions/3.9/lib/libformw.5.dylib/_wins_wch
• Contents/Frameworks/Python.framework/Versions/3.9/lib/libformw.5.dylib/_win_wch
• Contents/Frameworks/Python.framework/Versions/3.9/lib/libformw.5.dylib/_win_wchnstr
• Contents/Frameworks/Python.framework/Versions/3.9/lib/libformw.5.dylib/_win_wchnstr
• Contents/Frameworks/Python.framework/Versions/3.9/lib/libpanelw.5.dylib/_SP
• Contents/Frameworks/Python.framework/Versions/3.9/lib/libformw.5.dylib/_SP
• Contents/Frameworks/Python.framework/Versions/3.9/lib/libformw.5.dylib/___sprintf_chk
• Contents/Frameworks/Python.framework/Versions/3.9/lib/libcrypto.1.1.dylib/___sprintf_chk
• Contents/Frameworks/Python.framework/Versions/3.9/Python/___sprintf_chk
• Contents/Frameworks/Python.framework/Versions/3.9/Python/_posix_spawn
• Contents/Frameworks/Python.framework/Versions/3.9/Python/_posix_spawn_file_actions_addclose
• Contents/Frameworks/Python.framework/Versions/3.9/Python/_posix_spawn_file_actions_adddup2
• Contents/Frameworks/Python.framework/Versions/3.9/Python/_posix_spawn_file_actions_addopen
• Contents/Frameworks/Python.framework/Versions/3.9/Python/_posix_spawn_file_actions_destroy
• Contents/Frameworks/Python.framework/Versions/3.9/Python/_posix_spawn_file_actions_init
• Contents/Frameworks/Python.framework/Versions/3.9/Python/_posix_spawnattr_destroy
• Contents/Frameworks/Python.framework/Versions/3.9/Python/_posix_spawnattr_init
• Contents/Frameworks/Python.framework/Versions/3.9/Python/_posix_spawnattr_setflags
• Contents/Frameworks/Python.framework/Versions/3.9/Python/_posix_spawnattr_setpgroup
• Contents/Frameworks/Python.framework/Versions/3.9/Python/_posix_spawnattr_setsigdefault
• Contents/Frameworks/Python.framework/Versions/3.9/Python/_posix_spawnattr_setsigmask
• Contents/Frameworks/Python.framework/Versions/3.9/Python/_posix_spawnp
• Contents/Frameworks/Python.framework/Versions/3.9/lib/libssl.1.1.dylib/___sprintf_chk
• Contents/Frameworks/Python.framework/Versions/3.9/lib/libmenuw.5.dylib/_SP
• Contents/Frameworks/Python.framework/Versions/3.9/lib/libpanelw.5.dylib/__nc_panelhook
• Contents/Frameworks/Python.framework/Versions/3.9/lib/libformw.5.dylib/__nc_wcrtomb

All of them are part of Python 3.9 for Mac downloaded from:

https://www.python.org/downloads/ <https://www.python.org/downloads/\>

--
Adrian

On 2 Mar 2021, at 16:54, Ned Deily <report@bugs.python.org <mailto:report@bugs.python.org>> wrote:

Ned Deily <nad@python.org <mailto:nad@python.org>> added the comment:

> From where are you getting the Python that you are using in the app? A number of those libraries are not part of the python.org <http://python.org/\> Mac binaries. And are you compiling with c++ by any chance?

----------


Python tracker <report@bugs.python.org <mailto:report@bugs.python.org>>
<https://bugs.python.org/issue43374 <https://bugs.python.org/issue43374\>\>


@ned-deily
Copy link
Member

Hmm, yours is the first report of this here that I'm aware of. I see other reports on the web of other non-Python projects running into similar problems. So one question is what has changed? Can you report the version info string of this Python? Have you previously successfully submitted apps using this particular build of Python 3.9? If not, can you say exactly which version of Python last worked for this?

@ned-deily
Copy link
Member

BTW, if you haven't already, I would strongly suggest you ask on one of the Apple Developer Forums. My first guess is that the App Store validation process is trying to incorrectly apply rules to your local Python framework (from the Python.org installed framework). But that's just a guess at this point.

@agprojects
Copy link
Mannequin Author

agprojects mannequin commented Mar 2, 2021

Hi Ned,

I have a ticket opened with Apple. They refuse the software as it, they are in a position of absolute power, to reject and drop many years of work on a dime.

What am I suppose to do? I can fix my own software, but then there are dependencies like Python itself. Hence my question on this forum. I don’t expect miracles or people doing works for free for me to solve my problem. I think I am not the only one confronted with this problem, Python has a pretty large installed base.

I am looking for practical suggestions.

Regards,
Adrian

On 2 Mar 2021, at 18:20, Ned Deily <report@bugs.python.org> wrote:

Ned Deily <nad@python.org> added the comment:

BTW, if you haven't already, I would strongly suggest you ask on one of the Apple Developer Forums. My first guess is that the App Store validation process is trying to incorrectly apply rules to your local Python framework (from the Python.org installed framework). But that's just a guess at this point.

----------


Python tracker <report@bugs.python.org>
<https://bugs.python.org/issue43374\>


@ned-deily
Copy link
Member

What am I suppose to do?

I appreciate that it's a nasty problem. Unfortunately, this is unknown territory for me: I have no experience with the Mac App Store and this is the first time I've run across a report like this. So the question again is: what has changed? Were you able to successfully submit Python apps before? If so, exactly what version worked and what version is failing now/ There are some differences in how we have and are now building the Mac binaries for the python.org installers. But I'm working blind here. Perhaps some other people have experience with this.

@agprojects
Copy link
Mannequin Author

agprojects mannequin commented Mar 2, 2021

Hi Ned,

Yes, I have submitted Python apps to Mac App Store since 2009, for 12 years.

Each new push opens a new pandoras box with different questions asked than previously. There is no learning curve, is just walls with more walls behind each submission. The official reasoning behind all these controls is more security for end-users at the cost of less and less freedom for developers.

The app is a the result of the collaboration effort of many people and years of IETF works related to standards based real-time communications.

Two years ago we almost dropped the app because of almost impossible to solve issues raised by Apple.

In the last year we spent many efforts to see if and how we can still comply with the more and more authoritarian demands of Apple to keep these works alive.

I resigned myself to the thought that at some point we will hit a unsolvable issue, I just hope is not this one and now.

Adrian

On 2 Mar 2021, at 18:36, Ned Deily <report@bugs.python.org> wrote:

Ned Deily <nad@python.org> added the comment:

> What am I suppose to do?

I appreciate that it's a nasty problem. Unfortunately, this is unknown territory for me: I have no experience with the Mac App Store and this is the first time I've run across a report like this. So the question again is: what has changed? Were you able to successfully submit Python apps before? If so, exactly what version worked and what version is failing now/ There are some differences in how we have and are now building the Mac binaries for the python.org installers. But I'm working blind here. Perhaps some other people have experience with this.

----------


Python tracker <report@bugs.python.org>
<https://bugs.python.org/issue43374\>


@ned-deily ned-deily removed the type-security A security issue label Mar 2, 2021
@terryjreedy
Copy link
Member

Adrian, when responding by email, please delete the copy of the email you are responding to, except maybe a line or two, as it is redundant when posted on the web page.

Have you tried forums where there might be other Apple app developers with similar issues?

@agprojects
Copy link
Mannequin Author

agprojects mannequin commented Mar 6, 2021

Terry,

After opening issues on this and other mailing lists (PyObjc) Apple validated our app without a comment.

Adrian

On 5 Mar 2021, at 21:51, Terry J. Reedy <report@bugs.python.org> wrote:

Terry J. Reedy <tjreedy@udel.edu> added the comment:

Adrian, when responding by email, please delete the copy of the email you are responding to, except maybe a line or two, as it is redundant when posted on the web page.

@ezio-melotti ezio-melotti transferred this issue from another repository Apr 10, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
3.9 only security fixes interpreter-core (Objects, Python, Grammar, and Parser dirs) OS-mac topic-C-API
Projects
None yet
Development

No branches or pull requests

2 participants