用于启动 xcrun altool
公证应用并获取公证信息的实用工具对象。
let process = NotarizeProcess(username: username, password: password)
let upload = try process.notarize(app: appArchiveURL, bundleID: "your.app.bundle.id")
将使用 ditto 创建一个归档文件。
let upload = try process.notarize(app: appURL, bundleID: "")
如果 bundleID
参数为空,我们将从 .app 的 Info.plist 中提取它。
let info = try process.notarizationInfo(for: upload) // or upload.requestUUID
您也可以等待最终结果
let info = try process.waitForNotarizationInfo(for: upload, timeout: 30 * 60)
let history = try process.notarizationHistory() // page: i
for item in history.items {
let info = try process.notarizationInfo(for: item)
print("\(info)")
}
let info = try process.notarizationInfo(for: id)
let publisher = info.auditLogPublisher() // using Combine framework
_ = publisher.sink(receiveCompletion: { completion in
...
}) { auditLog in
...
}
try process.staple(app: appURL)
try process.validate(app: appURL)
try process.run(action: [.notarize, .wait, .staple] /*.all*/, on: appURL)
try process.run(action: .all, on: appURL)
try process.run(on: appURL)