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

Posted

技术标签:

【中文标题】kivy xcode 7 问题 - 构建和存档工作,但验证失败【英文标题】:kivy xcode 7 issue - build and archive works, but validation fails 【发布时间】:2016-09-08 14:02:48 【问题描述】:

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

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

【问题讨论】:

好的,所以我升级到了新的 toolchain.py,它允许我构建并通过验证而不会出错。但是,当我尝试上传到应用商店时仍然存在问题。上传失败并出现以下错误:“错误 ITMS-90171:”无效的捆绑结构 - 二进制文件 '.../lib/python2.7/site-packages/kivy/weakproxy.so.o' 是不允许的。除了受支持的捆绑包的 CFBundleExecutable 之外,您的应用不能包含独立的可执行文件或库……”其中有一些错误。有其他人遇到此错误吗? 【参考方案1】:

我会为以后遇到此问题的用户发布解决方案。 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')

【讨论】:

【参考方案2】:

我遇到了同样的错误,这是由于在我的 kivy-ios 设置中不必要地添加了 pip installed py2app。删除它为我解决了它。

【讨论】:

以上是关于kivy xcode 7 问题 - 构建和存档工作,但验证失败的主要内容,如果未能解决你的问题,请参考以下文章

Xcode 构建和运行应用程序工作但存档失败(颤振)

Kivy-ios Xcode 构建错误

未找到架构 armv7 的符号(在 Xcode 和 Python3 中运行存档时)

Xcode 7.2:在“存档”中:出现问题:“找不到 Cordova/CDVViewController.h 文件”。虽然在构建应用程序时没有这样的问题

Xcode 4 存档问题与代码签名

RestKit 在存档模式下中断构建 - Xcode 8