从模拟器上的iOS应用程序启动OS X shell脚本
是否可以从iOS应用程序代码内部运行Mac OS X shell脚本(或任何其他OS X程序)从模拟器上的iOS应用程序启动OS X shell脚本,ios,macos,shell,ios-simulator,xctest,Ios,Macos,Shell,Ios Simulator,Xctest,是否可以从iOS应用程序代码内部运行Mac OS X shell脚本(或任何其他OS X程序) 具体情况如下:我正在玩UI XCTests,希望在测试用例的setup()和tearDown()方法中运行shell脚本。其目的是在测试运行时启动屏幕录制。好的,似乎没有人知道简单的解决方法。所以我用python上的本地web服务器解决了这个问题 Python具有内置的BaseHTTPServer类。以本教程为例:我们可以编写简单的web服务器来处理POST请求并执行一些操作 在我的例子中,操作是调用
具体情况如下:我正在玩UI XCTests,希望在测试用例的
setup()
和tearDown()方法中运行shell脚本。其目的是在测试运行时启动屏幕录制。好的,似乎没有人知道简单的解决方法。所以我用python上的本地web服务器解决了这个问题
Python具有内置的BaseHTTPServer
类。以本教程为例:我们可以编写简单的web服务器来处理POST请求并执行一些操作
在我的例子中,操作是调用bash脚本
os.system(someCommandString)
要启动所有这些机制,我们需要运行pythonwebserver。然后在XCTestCase
子类中的setup()
和tearDown()
方法中执行对服务器的请求,例如:
AFHTTPSessionManager().POST("http://0.0.0.0:8080/command", parameters: params, success: { (NSURLSessionDataTask, AnyObject) in
print("succeed")
}, failure: { (NSURLSessionDataTask, NSError) in
print("failed")
})
我认为苹果公司的人付出了巨大的努力来确保没有人可以从模拟器在OSX上发布任何东西;)我不知道如何解决你的问题,但我建议你看看XCode命令行工具。@AlexanderDoloz,我希望苹果公司的人为这类事情留下一些“后门”。我想象的另一种方式是可能的——通过基于web的界面与外部环境交互。例如,VLC播放器就是这样做的。但是这种方法太复杂了。。。