在Xcode中停止应用程序时自动关闭iOS模拟器

时间:2012-02-28 21:46:18

标签: ios xcode ios-simulator

每当应用程序在Xcode中停止时,是否可以关闭/退出iOS模拟器?我无法在Xcode或Simulator中找到设置。如果它存在,它将有助于加快开发过程。

6 个答案:

答案 0 :(得分:3)

要在构建停止时终止模拟器,您需要编译包含以下

的可执行文件
#!/bin/sh
osascript -e 'tell app "iPhone Simulator" to quit'

保存此文件,然后打开Xcode首选项的行为部分,在运行完成部分将脚本文件添加到运行部分。 希望这对你有用,但是这种方法似乎有点不稳定,不幸的是我能想出的最好的方法! 祝好运! enter image description here

你不是在制作OS X应用程序太糟糕了,因为这样做非常容易。这部分是无关紧要的,但谁知道,你将来可以使用它!

- (IBAction)KillSim:(id)sender {

    NSLog (@"Sim Kill Begin");


    NSDictionary* errorDict;
    NSAppleEventDescriptor* returnDescriptor = NULL;

    NSAppleScript* scriptObject = [[NSAppleScript alloc] initWithSource:
                                   @"tell application \"iPhone Simulator\" to quit"];

    returnDescriptor = [scriptObject executeAndReturnError: &errorDict];
    [scriptObject release];

    if (returnDescriptor != NULL)
        {
            // successful execution
        if (kAENullEvent != [returnDescriptor descriptorType])
            {
                // script returned an AppleScript result
            if (cAEList == [returnDescriptor descriptorType])
                {
                    // result is a list of other descriptors
                }
            else
                {
                    // coerce the result to the appropriate ObjC type
                }
            } 
        }
    else
        {
            // no script result, handle error here
        }

    NSLog (@"Sim Killed End");


}

答案 1 :(得分:0)

我不知道它会如何加快您的开发时间,但是当使用模拟器并且您想完成时,只需按下cmd + q它就会退出模拟器并自动在Xcode中停止它。

答案 2 :(得分:0)

您可以从Xcode停止调试会话并重新启动它,甚至只需从Xcode再次点击cmd-r,新版本将在模拟器中正常运行。无需退出并重新启动模拟器。

答案 3 :(得分:0)

我在xCode 5.1中遇到了同样的问题。重启我的Mac解决了它。

至于“为什么这会加速开发”,在我的情况下Xcode不会让我再次运行,直到我退出模拟器,这是乏味的。

答案 4 :(得分:0)

您可以将“运行脚本”构建阶段添加到新项目(通过Xcode项目模板),方法是将其添加到TemplateInfo.plist;

<key>Targets</key>
<array>
<dict>
    <key>BuildPhases</key>
    <array>
        <dict>
            <key>Class</key>
            <string>ShellScript</string>
            <key>ShellPath</key>
            <string>/bin/sh</string>
            <key>ShellScript</key>
            <string>osascript -e 'tell app "iPhone Simulator" to quit'</string>
        </dict>
    </array>
</dict>

或者,您可以将此“运行脚本”添加到构建阶段;

osascript -e 'tell app "iPhone Simulator" to quit'

如果您感兴趣,可以添加另一个脚本来自动增加您的内部版本号,例如。

<key>Targets</key>
<array>
<dict>
    <key>BuildPhases</key>
    <array>
        <dict>
            <key>Class</key>
            <string>ShellScript</string>
            <key>ShellPath</key>
            <string>/bin/sh</string>
            <key>ShellScript</key>
            <string>
                buildNumber=$(/usr/libexec/PlistBuddy -c "Print CFBundleVersion" "$INFOPLIST_FILE")
                buildNumber=`echo $buildNumber +1|bc`
                /usr/libexec/PlistBuddy -c "Set :CFBundleVersion $buildNumber" "$INFOPLIST_FILE"
            </string>
        </dict>
        <dict>
            <key>Class</key>
            <string>ShellScript</string>
            <key>ShellPath</key>
            <string>/bin/sh</string>
            <key>ShellScript</key>
            <string>osascript -e 'tell app "iPhone Simulator" to quit'</string>
        </dict>
    </array>
</dict>

如果Xcode将这些简单的帮助器作为默认设置,那将是很棒的,但至少我们可以自己手动添加它们。

答案 5 :(得分:0)

在 Xcode 12.3 中,只需创建 Simulator.sh(Shell 脚本)然后填写此代码

  1. "styles": [ "node_modules/bootstrap/dist/css/bootstrap.min.css", "src/styles.css" ],
  2. #!/bin/sh

之后,打开 XCode > Preferences > Behaviors 并设置为您的目标文件

XCode Preferences Image