kivy xcode 7问题 - 构建和存档工作,但验证失败

时间:2016-05-12 15:56:38

标签: python ios xcode validation kivy

我已经在kivy上创建了一个iOS应用。在xcode 7中构建和存档应用程序后,我无法验证该应用程序。

具体来说,验证失败并显示以下错误消息:

"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."

我一直试图解决这个问题一段时间没有任何运气。有谁知道这里发生了什么或有其他人遇到过这个问题?这是一个工具链问题吗?

2 个答案:

答案 0 :(得分:0)

我会为遇到此问题的未来用户发布解决方案。看来kivy-ios中的“dist”文件夹中有30个或更多的.so.o文件分散在整个文件夹中,这些文件一直是构建共享库的遗留物。如果你进去并简单地删除这些.so.o文件,你就可以成功验证并将你的应用上传到应用程序商店。

您可以通过在kivy-ios文件夹中运行以下脚本来解决此问题:

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')

答案 1 :(得分:0)

我有同样的错误,这是由于在我的kivy-ios设置中不必要地pip install编辑了py2app。删除它可以为我解决。