Ecco un semplice script veloce:Esegui rapida script dal progetto Xcode iOS come fase di costruzione
#!/usr/bin/env xcrun swift
import Foundation
let task = NSTask()
task.launchPath = "/bin/echo"
task.arguments = ["farg1", "arg2"]
let pipe = NSPipe()
task.standardOutput = pipe
task.launch()
let data = pipe.fileHandleForReading.readDataToEndOfFile()
let output: String = NSString(data: data, encoding: NSUTF8StringEncoding)
print(output)
ho aggiunto questo script come fase di costruzione (prima di 'compilazione fase fonti) nel progetto di iOS, ma XCode non è riuscito a costruire progetti con errore 'non definito NSTask() ...' Quando ho aggiunto lo stesso script nel progetto OSX, XCode crea il progetto senza errori.
Domanda è perché XCode sta cercando NSTask all'interno del framework iOS (dove non esiste) invece di eseguire uno script rapido come script di piattaforma (come bash)?
Solo per aggiungere: lo script rapido non è incluso nel progetto con altri file da compilare. Viene semplicemente aggiunto in fase di costruzione, anche prima della compilazione, di altri file sorgente (che sono file obiettivo-c) per eseguirlo.
Qualche idea su come eseguire uno script swift personalizzato dal progetto iOS XCode quando lo script contiene classi che non fanno parte del framework iOS?
puoi spiegare come aggiungere questo script per creare la fase? – john07