从模拟器上的 iOS 应用程序,启动 OS X shell 脚本
From iOS app on Simulator, launch OS X shell script
是否可以从 iOS 应用代码内部到 运行 Mac OS X shell 脚本(或任何其他 OS X程序)?
具体情况如下:我正在玩UI XCTests,想运行 shell脚本中的setup()
和tearDown()
方法测试用例。目的是在测试 运行ning 时启动屏幕录制。
好的,看来没有人知道简单的解决方法。所以我用 python.
上的本地网络服务器解决了这个问题
Python 已内置 BaseHTTPServer
class。以本教程为例:http://joelinoff.com/blog/?p=1658 我们可以编写简单的网络服务器来处理 POST 请求并执行一些操作。
在我的例子中,操作是调用 bash 脚本
os.system(someCommandString)
要启动所有这些机制,我们需要 运行 python 网络服务器。然后在 XCTestCase
subclass 中的 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")
})
是否可以从 iOS 应用代码内部到 运行 Mac OS X shell 脚本(或任何其他 OS X程序)?
具体情况如下:我正在玩UI XCTests,想运行 shell脚本中的setup()
和tearDown()
方法测试用例。目的是在测试 运行ning 时启动屏幕录制。
好的,看来没有人知道简单的解决方法。所以我用 python.
上的本地网络服务器解决了这个问题Python 已内置 BaseHTTPServer
class。以本教程为例:http://joelinoff.com/blog/?p=1658 我们可以编写简单的网络服务器来处理 POST 请求并执行一些操作。
在我的例子中,操作是调用 bash 脚本
os.system(someCommandString)
要启动所有这些机制,我们需要 运行 python 网络服务器。然后在 XCTestCase
subclass 中的 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")
})