【问题标题】:no product after "build success" of a cocoa touch static library project可可触摸静态库项目“构建成功”后没有产品
【发布时间】:2012-05-29 14:02:16
【问题描述】:

我搜索了很多问题,但没有和我一样的问题。 Xcode 4.3.2(4.3.1)

我在一个新的 cocoa touch 静态库项目中添加了几个文件并使用 iPhone Simulator 构建它,然后收到 构建成功,但产品组中没有 .a 文件(.a 文件在文件列表中为红色,位于 Xcode 左侧)

当我将“iPhone Simulator”更改为IOS Device时,也收到build success,但现在我可以看到.a文件不是红色的,我可以在产品文件夹^

我使用lipo -info查看.a文件后,显示它只支持arm7架构,从而确认我的第一个动作(模拟器中没有内置产品 )^ 所以 .a 文件不能在我的另一个项目中使用(我知道它只能通过支持 i386 架构在模拟器中使用)

【问题讨论】:

    标签: iphone arm i386


    【解决方案1】:

    使用命令行。这是我不久前构建的一个简单脚本,它甚至可以为你将你的二进制文件打包在一起!

    #!/bin/bash
    #build the device
    echo building for ARM architecture
    xcodebuild -sdk iphoneos4.3 "ARCHS=armv6 armv7" build > /dev/null
    #build the simulator
    echo building for the i386 architecture
    xcodebuild -sdk iphonesimulator4.3 "ARCHS=i386 x86_64" "VALID_ARCHS=i386 x86_64" build > /dev/null
    #make the folder
    mkdir "Fat Binary"
    #lipo suck it together
    echo lipo binaries together
    lipo -output Fat\ Binary/libMyLib.a  -create build/Release-iphoneos/liblibMyLib.a build/Release-iphonesimulator/libMyLib.a
    echo lipo binary saved at $./Fat Binary/libMyLib.a
    echo coping headers
    cp -R build/Release-iphoneos/usr "Fat Binary"
    echo [COMPLETE]
    

    只需将出现的 libMyLib.a 替换为您的库名称即可。

    【讨论】:

    • 命令行真的很厉害……但是只有xcodebuild -sdk iphonesimulator4.3 "ARCHS=i386 x86_64" "VALID_ARCHS=i386 x86_64" build > /dev/null 可以正常执行。在执行 xcodebuild -sdk iphoneos4.3 "ARCHS=armv6 armv7" build > /dev/null 后它告诉我 ** BUILD FAILED ** 以下构建命令失败:检查依赖关系,如何解决?
    猜你喜欢
    • 2023-01-12
    • 1970-01-01
    • 1970-01-01
    • 2016-03-06
    • 2016-02-02
    • 1970-01-01
    • 2011-04-16
    • 2020-01-16
    • 2011-02-17
    相关资源
    最近更新 更多