Wrong binary type for cv2 when uploading to Apple Cloud connect
Personne n'a encore pris cette issue.
Évaluation
- Difficulté
- 4/5
- Temps estimé
- 3-5 jours
- Accessibilité débutants
- 35/100
- Type d'issue
- Bug
- Clarté
- À clarifier
- Activité
- À l'abandon
- Domaine
- build-system, mobile
Piste de recherche
Commencez par inspecter le type Mach-O de cv2.abi3.so et la gestion des frameworks cv2 dans serious_python_darwin.podspec ; comparez cela avec le wheel numpy et son type binaire accepté. Reproduisez le flux de packaging avec flutter build ipa et --cleanup-packages, puis déterminez quelle modification est nécessaire pour que la validation Apple accepte le bundle généré.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Description
Hello !
I've built and tested an Flutter app using Serious Python with several non-pure Python packages ( Like opencv ).
I've successfully publish my Apk but i got an error when publishing on the TestFlight of Apple Store.
Here are 3 issue about the same file cv2.cv2 explaining why Apple refuse my .ipa.
TMS-90171: Invalid bundle structure - The “Runner.app/Frameworks/cv2.cv2.framework/cv2.cv2” binary file is not permitted. Your app cannot contain standalone executables or libraries, other than a valid CFBundleExecutable of supported bundles. For details, visit: https://developer.apple.com/documentation/bundleresources/placing_content_in_a_bundle
ITMS-90124: The binary is invalid - The executable 'Runner.app/Frameworks/cv2.cv2.framework/cv2.cv2' has type 'BUNDLE' that is not valid. Only 'EXECUTE' is permitted.
ITMS-90210: Missing load commands - The executable at 'Runner.app/Frameworks/cv2.cv2.framework' does not have the necessary load commands. Try rebuilding the app with the latest Xcode version. If you are using third party development tools, contact the provider.
If i download wheels (numpy and opencv) from the https://pypi.flet.dev/ repository, and i extract the content, the file command returned 2 differents output for the .so built.
$ file numpy_1_26_4_2_cp312_cp312_ios_13_0_arm64_iphoneos_whl/numpy/core/_umath_tests.cpython-312-iphoneos.so
_umath_tests.cpython-312-iphoneos.so: Mach-O 64-bit dynamically linked shared library arm64
$ file opencv_python_4_10_0_84_1_cp312_cp312_ios_13_0_arm64_iphoneos_whl/cv2/cv2.abi3.so
cv2.abi3.so: Mach-O 64-bit bundle arm64
Do you have any idea why this package is refused by AppleStore ? Did you succeed to publish a iOS app using this package ( using serious python or Flet ) ?
Is a workaround to recompile the package using mobile-forge and adding a compilation flag to change the file type?
Note :
- I'm on MacOS 26 & xcode 26. (out Github actions CI building and publishing too)
- Adding the cv2 xcframeworks as a resources instead of frameworks ( serious_python_darwin.podspec ) doesn't change the error.
- I had to change the
CFBundlePackageTypefromAPPLtoFRMKin all info.plist of all python packages, or i got an issue about BundleID and AppId.Cannot determine the Apple ID from Bundle ID 'org.python.numpy.random.-pcg64' and platform 'IOS'. (12) - Apple Profiles and certs should be okay as it is not our first app Version deployed with our CI.
- serious_python ( forked ) is a dependencie of a custom Flutter plugin, which is a dependencie of our application.
- I explored the cv2.cv2.frameworks and xcframeworks folder after "ios preparation", i can't see any other issue in the plists of this xcframeworks.
- app is build with
flutter build ipa ...and uploaded withxcrun altool --upload-package ./path/app.ipa --type ios - I used the
--cleanup-packagesarg of the package command to remove all.afiles.
Thanks a lot for any insights and for this awesome package.
- Langage dominant
- Dart
- Étoiles
- 325
- Forks
- 46
- Merge moyen
- 14 h 53 min
- PR mergées (30 j)
- 5
Préparer son environnement
- Aucun Dockerfile ni fichier Docker Compose
- Aucun modèle de pull request
- Lire le guide de contribution
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Autres issues de flet-dev/serious-python
-
Difficulté 4/5 3-5 jours Accessibilité débutants 45/100
flet-dev/serious-python#226 ·
-
iOS Build Failure: Missing site-xcframeworks Directory in serious_python_darwin PhaseScriptExecutionOuverte
Difficulté 3/5 1-2 jours Accessibilité débutants 42/100
flet-dev/serious-python#168 ·
-
Update docs for site-packagesPeut-être à nouveau libre @FeodorFitsner l’a pris il y a 559 jours, et aucune pull request n’est ouverte. Ouvertedocumentation
flet-dev/serious-python#157 · 1 commentaire · 1 personne assignée ·
-
Difficulté 4/5 3-5 jours Accessibilité débutants 35/100
flet-dev/serious-python#133 · 2 commentaires ·
-
Fail to debug run_exampleOuverte
Difficulté 4/5 3-5 jours Accessibilité débutants 35/100
flet-dev/serious-python#117 ·
Toutes les issues de flet-dev/serious-python
Issues similaires
-
Difficulté 2/5 1-3 heures Accessibilité débutants 88/100
-
Difficulté 1/5 Moins d'une heure Accessibilité débutants 90/100
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 1/5 Moins d'une heure Accessibilité débutants 92/100
Les mainteneurs répondent en général sous 3 jours
-
analyzer package size is ~48MB on pub — test files (~20MB) could be excluded with .pubignoreOuvertearea-dart-model
Difficulté 2/5 1-3 heures Accessibilité débutants 76/100
dart-lang/sdk#64436 · 2 commentaires ·
Les mainteneurs répondent en général sous 4 jours
-
Difficulté 2/5 1-3 heures Accessibilité débutants 85/100
immich-app/immich#31955 ·
Les mainteneurs répondent en général sous 1 jour