代码之家  ›  专栏  ›  技术社区  ›  l'L'l

NSTask/Process已弃用的方法和属性

  •  13
  • l'L'l  · 技术社区  · 7 年前

    在最新的苹果文档中 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
    

    似乎没有替代品,那又有什么用呢?

    1 回复  |  直到 7 年前
        1
  •  20
  •   vadian    7 年前

    似乎没有替代品

    还有,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