I am trying to upload an app to the Mac app store. I have used py2app to create an application bundle, code signed the frameworks and executables, created a .pkg using productbuild
and signed that too. Everything seems fine until I use application loader. Here is the error message I get:
Package Summary:
1 package(s) were not uploaded because they had problems:
/var/folders/0n/tcm_mnqx7xz7x4z87_96y88r0000gn/T/2202BA63-472B-4357-9F4C-4127EA0E2E25/1050509510.itmsp - Error Messages:
ERROR ITMS-90135: "The executable could not be re-signed for submission to the App Store. The app may have been built or signed with non-compliant or pre-release tools."
After much trial and error, I narrowed down the possible problems to one module. My app uses matplotlib to create graphs. Because I use matplotlib, I must include the numpy module (it's a dependency). I get the error above only when numpy is included in the app. As soon as I delete it's folder from appName/Contents/Resources/lib/python3.4/numpy
, the error is gone and the app begins to upload. However, because numpy is now removed, my app no longer works.
My Questions
- Can I remove matplotlib's dependencies on numpy so I can remove numpy altogether? Or is there a version of matplotlib that does not need numpy?
- Is there a way to keep numpy in the package and still use application loader?
I have tried tricking matplotlib into thinking numpy is still there by adding 'empty' files (Ex: making the __init__.py
in numpy an empty document), but with no success.
Here is a list of the modules I have imported for matplotlib:
from matplotlib import pyplot as plt
from mpl_toolkits.mplot3d import Axes3D
from matplotlib.backends.backend_tkagg import FigureCanvasTkAgg, NavigationToolbar2TkAgg
from matplotlib.figure import Figure
from matplotlib import style
I am using:
Python 3.4, OSX 10.10.5, Application Loader 3.2 (also tried 3.0)