我在Xcode 6中有一个工作的OS / X应用程序。这个应用程序检查一些输入,然后执行一个shell脚本。 shell脚本是bundle的一部分,即它在Supporting Files中作为“script.sh”。
每当我修改脚本时,我还必须通过终端chmod + x使其可执行以便Xcode运行来运行它。
有没有办法保留“script.sh”可执行标志?
答案 0 :(得分:0)
选项1:在文件的源副本上设置+ x。当它被复制到您的应用程序包中时,它应该以类似的权限结束。
chmod 755 ~/Project/script.sh
在此之后,我能够在Xcode中编辑脚本,我的测试应用仍然可以正确运行。
选项2:通过/ bin / bash间接启动脚本(或任何适合您脚本的解释器),使+ x不必要。 e.g。
NSString *path = [[NSBundle mainBundle] pathForResource:@"script" ofType:@"sh"];
NSTask *task = [NSTask launchedTaskWithLaunchPath:@"/bin/bash" arguments:@[path]];
[task waitUntilExit];