Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/macos/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从模拟器上的iOS应用程序启动OS X shell脚本_Ios_Macos_Shell_Ios Simulator_Xctest - Fatal编程技术网

从模拟器上的iOS应用程序启动OS X shell脚本

从模拟器上的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请求并执行一些操作 在我的例子中,操作是调用

是否可以从iOS应用程序代码内部运行Mac OS X shell脚本(或任何其他OS X程序)


具体情况如下:我正在玩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播放器就是这样做的。但是这种方法太复杂了。。。