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

问题描述:

我已在App程序门户中注册了2个设备。只有我有一台Mac &设备才能下载应用程序进行测试。其他用户没有Mac。但他有一部iPhone。其他用户是否可以下载应用程序进行测试,以便我们可以在应用程序在App Store上公开发布前进行任何修改。iPhone应用程序:在应用程序进入App Store之前在特定设备上进行Beta测试

+0

这里是另一个类似的问题:http://stackoverflow.com/questions/40154/how-do-you-beta-test-an-iphone-app – 2010-03-11 13:52:41

按照这里的步骤打包测试仪的应用程序。 Publishing Applications for Testing

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

编辑:这两个链接都是来自Apple本身的参考文档,随着程序在更高版本中的变化,可能会保持更新。

其他用途可以将您的Ad Hoc版本拖到Windows上的iTunes中。有一些漂亮的good instructions here

要创建专用生成版本,您可以按照iPhone开发人员门户中的说明进行操作。这与使用不同的配置文件进行版本构建相似。

临时分发到Windows iTunes的工作方式与Mac iTunes一样。我按照苹果的特别发行说明设置了我的Xcode项目,然后添加了我自己的Makefile来创建发行版。 Makefile文件片段:

AdHoc AppStore : 
    rm -rf iphone/build/[email protected]${DEVICE_SDK}/${APP_NAME}.app 
    cd iphone ; xcodebuild -target ${APP_NAME} \ 
      -configuration [email protected] -sdk ${DEVICE_SDK}${SDK_VERSION} 
    for f in embedded.mobileprovision CodeResources _CodeSignature/CodeResources ; do \ 
      [ -f iphone/build/[email protected]${DEVICE_SDK}/${APP_NAME}.app/$$f ] || \ 
        { echo BITCH MOAN COMPLAIN : missing $$f ; exit 1 ; } \ 
    done 
    mkdir -p ${DISTRO_ROOT}/[email protected] 
    [ -f ${DISTRO_ROOT}/[email protected]/[email protected] ] || \ 
      cp ${PROVISION_DIR}/[email protected] ${DISTRO_ROOT}/[email protected]/[email protected] 
    cd iphone/build/[email protected]${DEVICE_SDK} ; \ 
      rm -f ${DISTRO_ROOT}/[email protected]/${APP_NAME}.app.zip ; \ 
      zip -r -y ${DISTRO_ROOT}/[email protected]/${APP_NAME}.app.zip ${APP_NAME}.app 
    cd ${DISTRO_ROOT}/[email protected] ; 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/[email protected]${DEVICE_SDK} ; \ 
      rm -rf Payload ; mkdir Payload ; \ 
      ln -s ../${APP_NAME}.app Payload/ ; \ 
      zip -r ${DISTRO_ROOT}/[email protected]/${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 

我将sym-linked Provisioning_Profiles更改为“Provisioning Profiles”以便于打字。我还将该目录中适当的配置文件作为AppStore.mobileprovision或AdHoc.mobileprovision硬连接以便于更新。

这些步骤本身很简单:清除构建空间,构建应用程序,验证代码签名位已准备就绪,为发行版准备一个登录空间,提取适当的移动设备文件,向上压缩应用程序,验证签名,并将其压缩为.ipa文件。 (严格地说,zip文件仅用于AppStore,而.ipa用于AdHoc,但我把它们放在一起用于我自己的歇斯底里的葡萄干。:-)

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

这对我和我的beta测试者在iClear(更新中的评论)非常顺利。

我已成功使用AdHoc发行版。想发布这个信息给别人,所以它会有所帮助。

  1. 从Program Portal> Provisioning> Distribution,您需要创建一个AdHoc供应配置文件。
  2. 下载AdHoc移动配置文件并确保它已安装在您的机器中。
  3. 随后,您应该转到xCode并按照您的分布构建项目。
  4. 确保在“生成”部分属性下为代码签名选择“AdHoc移动设置”。并指定Entitlements.plist。
  5. 也验证生成结果按文件说。

按照Program Portal用户指南中的文档,了解构建步骤。

然后,您可以将.app和.mobileprovision文件(您用于AdHoc发行版)拖动到iTunes帐户。它会为你安装App。然后您可以同步到设备。它效果很好。

您只需将.app & .mobileprovision文件发送给想要预览App的用户,然后才能进入AppStore。他们的UDID(设备ID)应该已经在您的程序门户帐户中注册。