在Xcode中停止应用程序时自动closuresiOS Simulator

在Xcode中停止应用程序时,是否可以closures/退出iOS模拟器? 我一直无法在Xcode或模拟器中find设置。 如果存在,将有助于加快发展进程。

要在构build停止时终止模拟器,您需要编译一个包含以下内容的可执行文件

#!/bin/sh osascript -e 'tell app "iPhone Simulator" to quit' 

保存这个文件,然后打开Xcode首选项的行为部分,在运行完成部分添加脚本文件到运行部分。 希望这会为你工作,但是这种方法似乎有点多斑点,不幸的是我已经能够想出最好的方式! 祝你好运! 在这里输入图像说明

如果你不制作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"); } 

我不明白它是如何加快你的开发时间,但是当使用模拟器,你想完成,只需按下CMD + Q,它将退出模拟器,并自动停止在Xcode。

您可以停止从Xcode的debugging会话,并重新启动它,甚至只是再次从Xcode中打cmd-r,新版本将在模拟器中运行良好。 没有必要退出并重新启动模拟器。

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

至于“为什么这会加速开发”,对我来说,Xcode不会让我再跑,直到我离开模拟器,这是很乏味的。

您可以添加一个'运行脚本'构build阶段到一个新的项目(通过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> 

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

 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将这些简单助手设置为默认设置,那将是非常棒的,但至less我们可以自己添加它们。