phimage/notarizeprocess
Utility object to launch `xcrun altool` to notarize app and get notarization information.
Notarize app
let process = NotarizeProcess(username: username, password: password)
let upload = try process.notarize(app: appArchiveURL, bundleID: "your.app.bundle.id")or for .app
An archive will be created using ditto.
let upload = try process.notarize(app: appURL, bundleID: "")If the bundleID argument is empty, we extract it from the .app Info.plist.
Get information about notarized app
let info = try process.notarizationInfo(for: upload) // or upload.requestUUIDYou can also wait for the final result
let info = try process.waitForNotarizationInfo(for: upload, timeout: 30 * 60)Get history
let history = try process.notarizationHistory() // page: iand full information
for item in history.items {
let info = try process.notarizationInfo(for: item)
print("\(info)")
}Get audit log from information
let info = try process.notarizationInfo(for: id)
let publisher = info.auditLogPublisher() // using Combine framework
_ = publisher.sink(receiveCompletion: { completion in
...
}) { auditLog in
...
}Stapler
Staple
try process.staple(app: appURL)Validate
try process.validate(app: appURL)All in one
try process.run(action: [.notarize, .wait, .staple] /*.all*/, on: appURL)
try process.run(action: .all, on: appURL)
try process.run(on: appURL)Dependencies
[Dependencies graph]
Package Metadata
Repository: phimage/notarizeprocess
Default branch: master
README: README.md