iPhone应用程序:应用程序进入App Store之前在特定设备上进行Beta测试

时间:2010-02-17 15:40:08

标签: iphone ipod-touch beta-testing

我在App程序门户中注册了2个设备。只有我有一台Mac&设备下载App进行测试。其他用户没有Mac。但他有一部iPhone。是否可以让其他用户下载应用程序以进行测试,以便我们可以讨论是否需要进行任何修改,然后才能在App Store上公开使用App。

5 个答案:

答案 0 :(得分:4)

答案 1 :(得分:2)

按照此处的步骤打包测试人员的应用程序。 Publishing Applications for Testing

然后测试人员应按照此处的步骤进行安装。 Instructions for Application Testers

编辑:这两个链接都是来自Apple本身的参考文档,并且随着后续版本中的程序更改,这两个链接可能会保持更新。

答案 2 :(得分:1)

我在AdHoc发行方面取得了成功。想把这个信息发给别人,这样会有所帮助。

  1. 来自计划门户>供应>分发时,您需要创建AdHoc配置文件。
  2. 下载AdHoc移动设备文件并确保它已安装在您的计算机中。
  3. 接下来你应该转到xCode并像分发那样构建项目。
  4. 确保在“构建”部分属性下为“代码签名”选择“AdHoc移动设置”。并指定了Entitlements.plist。
  5. 同时根据文档验证构建结果。
  6. 按照程序门户用户指南中的文档,了解构建步骤。

    然后,您可以将.app和.mobileprovision文件(用于AdHoc分发)拖到iTunes帐户。它为您安装应用程序。然后,您可以同步到设备。它很棒。

    你需要发送.app& .mobileprovision文件给想要在App可以转到AppStore之前预览应用程序的人。他们的UDID(设备ID)应该已经在您的Program Portal帐户中注册。

答案 3 :(得分:0)

另一种用途可以将您的Ad Hoc版本拖到Windows上的iTunes中。有一些非常good instructions here

要创建Ad Hoc构建,您可以按照iPhone dev门户中的说明进行操作。它类似于使用不同的配置文件进行发布构建。

答案 4 :(得分:0)

对Windows iTunes的临时分发与Mac iTunes一样。我根据Apple的ad-hoc发布说明设置了我的Xcode项目,然后添加了我自己的Makefile来创建发行版。 Makefile片段:

AdHoc AppStore : 
    rm -rf iphone/build/$@-${DEVICE_SDK}/${APP_NAME}.app
    cd iphone ; xcodebuild -target ${APP_NAME} \
            -configuration $@ -sdk ${DEVICE_SDK}${SDK_VERSION}
    for f in embedded.mobileprovision CodeResources _CodeSignature/CodeResources ; do \
            [ -f iphone/build/$@-${DEVICE_SDK}/${APP_NAME}.app/$$f ] || \
                    { echo BITCH MOAN COMPLAIN : missing $$f ; exit 1 ; } \
    done
    mkdir -p ${DISTRO_ROOT}/$@
    [ -f ${DISTRO_ROOT}/$@/$@.mobileprovision ] || \
            cp ${PROVISION_DIR}/$@.mobileprovision ${DISTRO_ROOT}/$@/$@.mobileprovision
    cd iphone/build/$@-${DEVICE_SDK} ; \
            rm -f ${DISTRO_ROOT}/$@/${APP_NAME}.app.zip ; \
            zip -r -y ${DISTRO_ROOT}/$@/${APP_NAME}.app.zip ${APP_NAME}.app
    cd ${DISTRO_ROOT}/$@ ; rm -rf ${APP_NAME}.app ; unzip ${APP_NAME}.app.zip ; \
            codesign -vvvvv ${APP_NAME}.app && rm -rf ${APP_NAME}.app || \
                    { rm -rf ${APP_NAME}.app ; exit 1 ; }
    cd iphone/build/$@-${DEVICE_SDK} ; \
            rm -rf Payload ; mkdir Payload ; \
            ln -s ../${APP_NAME}.app Payload/ ; \
            zip -r ${DISTRO_ROOT}/$@/${APP_NAME}.ipa Payload

我的项目结构是./Makefile和./iphone/MyProject.xcodeproj,其中包含预期位置的源./iphone/Classes/*.[hm]。 Makefile变量说明:

APP_NAME=whatever_your_app_is_named
DEVICE_SDK=iphoneos
DISTRO_ROOT=/some/path/you/like
PROVISION_DIR=~/Library/MobileDevice/Provisioning_Profiles
SDK_VERSION=3.1.2

我将Provisioning_Profiles与“配置配置文件”相关联,以便于输入。我还将该目录中相应的配置文件硬链接为AppStore.mobileprovision或AdHoc.mobileprovision,以便于更新。

步骤本身很简单:清除构建空间,构建应用程序,验证代码签名位是否正确,为发行版准备着陆空间,拉入相应的移动配置文件,压缩应用程序,验证签名,并压缩为.ipa文件。 (严格来说,只有AppStore需要zipfile,AdHoc需要.ipa,但是我把它们放在一起用于我自己的歇斯底里葡萄干。: - )

然后我将.ipa和移动配置文件推送到私人网站。我的测试版测试人员将.ipa拉下来并拖放到iTunes上。只有当我添加或删除设备时,移动设备才会发生变化,从而迫使beta测试人员下拉并拖放最新的移动配置文件。

对于我和iClear上的beta测试人员来说,这非常顺利(更新后的评论)。