在最新的Apple文档中, NSTask
和 Process
都有几个已弃用的方法和属性,尽管没有标有 API Availability Macro
的内容。
实例属性
@property(copy) NSString *launchPath;
@property(copy) NSString *currentDirectoryPath;
var launchPath: String? { get set }
var currentDirectoryPath: String { get set }
实例方法
- (void)launch;
func launch()
类型方法
+ (NSTask *)launchedTaskWithLaunchPath:(NSString *)path
arguments:(NSArray<NSString *> *)arguments;
class func launchedProcess(launchPath path: String,
arguments: [String]) -> Process
似乎没有可用的替代品,所以给出了什么?
答案 0 :(得分:9)
似乎没有替代品
现在,API与URL相关
实例属性
@property(copy) NSURL *executableURL;
@property(copy) NSURL *currentDirectoryURL;
var executableURL: URL? { get set }
var currentDirectoryURL: URL? { get set }
实例方法
- (BOOL)launchAndReturnError:(out NSError * _Nullable *)error;
func run() throws
类型方法
+ (NSTask *)launchedTaskWithExecutableURL:(NSURL *)url
arguments:(NSArray<NSString *> *)arguments
error:(out NSError * _Nullable *)error
terminationHandler:(void (^)(NSTask *))terminationHandler;
class func run(_ url: URL,
arguments: [String],
terminationHandler: ((Process) -> Void)? = nil) throws -> Process