乐器总是推出用于通用自动化应用程序的iPad模拟器,如何强制它使用iPhone模拟器?

smo*_*tle 7 iphone instruments ios-simulator ios-ui-automation

我使用iOS 4.2和Xcode 3.2.5创建了一个通用二进制文件.我正在尝试对应用程序进行一些自动化测试,因为iPad和iPhone版本之间的界面略有不同,我有单独的UIAutomation脚本.不幸的是,无论我做什么,当我点击Instruments中的记录按钮时,它总是使用iPad模拟器启动应用程序.如何强制Instruments启动iPhone模拟器?

通用应用程序在所有3个模拟设备(iPhone,iPhone(Retina)和iPad)的模拟器中运行良好.我可以通过Xcode控制Active Executable并使用指定的模拟器正确地"构建并运行/调试"工作正常.当我启动Instruments时,我选择iOS模拟器>全部>自动化,然后为iPhone选择我的自动化脚本,然后将目标设置为project-name/build/Debug-iphonesimulator/project-name.

May*_*tin 9

在从命令行运行自动化之前,只需将以下内容传递给xcodebuild,即可创建通用应用程序的构建版本,这只是iPhone的版本:

TARGETED_DEVICE_FAMILY = 1

然后使用仪器运行自动化.

如果您想测试iPad,请在没有该构建选项的情况下进行另一次构建,然后仪器/模拟器将默认返回到iPad

有关参考,请查看TARGETED_DEVICE_FAMILY的文档:

http://developer.apple.com/library/mac/#documentation/DeveloperTools/Reference/XcodeBuildSettingRef/1-Build_Setting_Reference/build_setting_ref.html


Jac*_*kas 5

根本不需要乱用您的应用程序:仪器允许您选择是否使用iPhone或iPad模拟器.假设您已经选择了自己的应用:

  1. 单击目标选择器(当前显示您的应用程序名称).
  2. 点击"编辑活动目标"
  3. 在底部附近,单击"选项"下拉菜单.
  4. 在列表的底部,您可以选择"模拟器配置".

  • 这是正确的答案.我想补充一点,更直接的方法是:**目标菜单(显示应用程序名称)>选项**并选择所需的模拟器配置,而无需打开任何对话框. (2认同)