Xcode的“建立和存档”从命令行

Xcode 3.2在构建菜单“构建和存档”下提供了一个非常棒的新功能,它可以生成适用于Ad Hoc分发的.ipa文件。 您也可以打开管理器,转到“存档应用程序”和“提交应用程序到iTunesConnect”。

有没有办法从命令行(作为构建脚本的一部分)使用“构建和存档”? 我假设xcodebuild会以某种方式参与进来,但man页似乎没有提到这件事。

更新 Michael Grinich要求澄清; 以下是您无法使用命令行构建的功能,这是您在“构建和存档”后只能使用Xcode的组织者执行的功能。

  • 您可以点击“共享应用程序...”与beta测试人员分享您的IPA。 正如Guillaume指出的那样,由于一些Xcode的魔力,这个IPA文件不需要beta测试者需要安装的单独分发的.mobileprovision文件; 这很神奇。 没有命令行脚本可以做到。 例如,Arrix的脚本(5月1日提交)不符合该要求。
  • 更重要的是,在测试版本之后,您可以单击“将应用程序提交到iTunes Connect”,将相同的内部版本提交给苹果公司(您测试的二进制文件),而无需重新构建它。 这在命令行中是不可能的,因为签名应用程序是构建过程的一部分; 您可以为Ad Hoc beta测试签名,或者您可以签署它们以提交给App Store,但不能同时提交。 没有建立在命令行上的IPA可以在手机上进行beta测试,然后直接提交给Apple。
  • 我非常喜欢有人来证明我错了:这些功能在Xcode GUI中都很好用,并且不能从命令行复制。


    我发现如何从命令行自动化构建和归档过程,我只写了一篇博客文章,解释如何实现这一点。

    您必须使用的命令是xcrun

    /usr/bin/xcrun -sdk iphoneos PackageApplication -v "${RELEASE_BUILDDIR}/${APPLICATION_NAME}.app" -o "${BUILD_HISTORY_DIR}/${APPLICATION_NAME}.ipa" --sign "${DEVELOPER_NAME}" --embed "${PROVISONING_PROFILE}"
    

    你会在文章中找到所有的细节。 如果您有任何疑问,请不要犹豫。


    使用Xcode 4.2,您可以使用-scheme标志来执行此操作:

    xcodebuild -scheme <SchemeName> archive
    

    在此命令之后,存档将显示在Xcode Organizer中。


    这里是用于创建存档和IPA示例的命令行脚本。 我有一个iPhone xcode项目,位于Desktop / MyiOSApp文件夹中。

    逐个执行以下命令。

    cd /Users/username/Desktop/MyiOSApp/
    
    xcodebuild -scheme MyiOSApp archive 
        -archivePath /Users/username/Desktop/MyiOSApp.xcarchive
    
    xcodebuild -exportArchive -exportFormat ipa 
        -archivePath "/Users/username/Desktop/MyiOSApp.xcarchive" 
        -exportPath "/Users/username/Desktop/MyiOSApp.ipa" 
        -exportProvisioningProfile "MyCompany Distribution Profile"
    

    这是用Xcode 5测试的,并且适合我。

    链接地址: http://www.djcxy.com/p/47391.html

    上一篇: Xcode "Build and Archive" from command line

    下一篇: Trackpad gesture to switch to header/source