I've created an iOS app on kivy. After building and archiving the app in xcode 7 I cannot validate the app.
Specifically, validation fails with the following error message:
"Couldn't find platform family in Info.plist CFBundleSupportedPlatforms or Mach-O LC_VERSION_MIN for audio_sdl2.so.o"
"Unable to validate your application.
The archive is invalid. /var/folders/blahblahblah/Packages/myfile.ipa does not exist."
I'll post the solution for future users who encounter this issue. It appears that the "dist" folder in kivy-ios has 30 or more .so.o files scattered throughout it that have been leftover from building shared libraries. If you go in and simply remove these .so.o files you can successfully validate and upload your app to the app store.
You can fix this issue by running the following script in your kivy-ios folder:
def kivy_ios_clean(file_ext, dir_to_clean, collection_dir='cleanup_collection'): ''' inputs: - file_ext = extension of the file that you want to move out of kivy-ios (ex: .so.o) - dir_to_clean = name of directory that needs cleaning other: - collection_dir = name of directory where all of the removed files will be collected (feel free to modify this script to delete files instead, I implemented it this way so you could see everything...) ''' import os, shutil # Make folder for .so.o collection: if not os.path.exists(collection_dir): os.makedirs(collection_dir) # Parse the directory, move the files with the extension of interest to the collection folder for root, dirs, files in os.walk(dir_to_clean): for i in files: if file_ext in i: shutil.move(root+'/'+i, collection_dir) kivy_ios_clean('.so.o', 'dist')