feat: show xcarchive developer notes
This commit is contained in:
@@ -9,6 +9,7 @@
|
||||
/* Begin PBXBuildFile section */
|
||||
5405CF5E2EA1199B00613856 /* MetaInfo.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5405CF5D2EA1199B00613856 /* MetaInfo.swift */; };
|
||||
5405CF652EA1376B00613856 /* Zip.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5405CF642EA1376B00613856 /* Zip.swift */; };
|
||||
5412DECE2EBC168600F9040D /* Preview+ArchiveInfo.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5412DECD2EBC168600F9040D /* Preview+ArchiveInfo.swift */; };
|
||||
543FE5742EB3BB5E0059F98B /* AppIcon.icns in Resources */ = {isa = PBXBuildFile; fileRef = 543FE5732EB3BB5E0059F98B /* AppIcon.icns */; };
|
||||
54442C232E378BAF008A870E /* Quartz.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 54442C222E378BAF008A870E /* Quartz.framework */; };
|
||||
54442C702E378BDD008A870E /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 54442C6A2E378BDD008A870E /* AppDelegate.swift */; };
|
||||
@@ -124,6 +125,7 @@
|
||||
/* Begin PBXFileReference section */
|
||||
5405CF5D2EA1199B00613856 /* MetaInfo.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MetaInfo.swift; sourceTree = "<group>"; };
|
||||
5405CF642EA1376B00613856 /* Zip.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Zip.swift; sourceTree = "<group>"; };
|
||||
5412DECD2EBC168600F9040D /* Preview+ArchiveInfo.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "Preview+ArchiveInfo.swift"; sourceTree = "<group>"; };
|
||||
54352E8A2EB6A79A0082F61D /* AssetCarReader.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = AssetCarReader.framework; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||
543FE5732EB3BB5E0059F98B /* AppIcon.icns */ = {isa = PBXFileReference; lastKnownFileType = image.icns; path = AppIcon.icns; sourceTree = "<group>"; };
|
||||
543FE5752EB3BC740059F98B /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
|
||||
@@ -217,6 +219,7 @@
|
||||
547F52DC2EB2C15D002B6D5F /* ExpirationStatus.swift */,
|
||||
547F52E62EB2C41C002B6D5F /* PreviewGenerator.swift */,
|
||||
547F52EC2EB2C822002B6D5F /* Preview+AppInfo.swift */,
|
||||
5412DECD2EBC168600F9040D /* Preview+ArchiveInfo.swift */,
|
||||
547F52E32EB2C3D8002B6D5F /* Preview+iTunesPurchase.swift */,
|
||||
549E3BA32EBC021500ADFF56 /* Preview+TransportSecurity.swift */,
|
||||
547F52F32EB2CA05002B6D5F /* Preview+Entitlements.swift */,
|
||||
@@ -529,6 +532,7 @@
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
549E3BA42EBC021500ADFF56 /* Preview+TransportSecurity.swift in Sources */,
|
||||
5412DECE2EBC168600F9040D /* Preview+ArchiveInfo.swift in Sources */,
|
||||
54D3A6F02EA3F49F001EF4F6 /* NSBezierPath+RoundedRect.swift in Sources */,
|
||||
547F52E42EB2C3D8002B6D5F /* Preview+iTunesPurchase.swift in Sources */,
|
||||
547F52F72EB2CAC7002B6D5F /* Preview+Footer.swift in Sources */,
|
||||
|
||||
@@ -22,6 +22,11 @@
|
||||
<br class="clear" />
|
||||
</div>
|
||||
|
||||
<div class="__ArchiveHidden__">
|
||||
<h2>Archive Notes</h2>
|
||||
<pre>__ArchiveComment__</pre>
|
||||
</div>
|
||||
|
||||
<div class="__iTunesHidden__">
|
||||
<h2>iTunes Metadata</h2>
|
||||
iTunesId: __iTunesId__<br />
|
||||
|
||||
29
src/Preview+ArchiveInfo.swift
Normal file
29
src/Preview+ArchiveInfo.swift
Normal file
@@ -0,0 +1,29 @@
|
||||
import Foundation
|
||||
|
||||
extension MetaInfo {
|
||||
/// Read `Info.plist` if type `.Archive`
|
||||
func readPlistXCArchive() -> PlistDict? {
|
||||
switch self.type {
|
||||
case .Archive:
|
||||
// not `readPayloadFile` because plist is in root dir
|
||||
return try? Data(contentsOf: self.url.appendingPathComponent("Info.plist", isDirectory: false)).asPlistOrNil()
|
||||
case .IPA, .Extension:
|
||||
return nil
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
extension PreviewGenerator {
|
||||
/// Process info of `.xcarchive` stored in root `Info.plist`
|
||||
mutating func procArchiveInfo(_ archivePlist: PlistDict?) {
|
||||
guard let archivePlist, let comment = archivePlist["Comment"] as? String else {
|
||||
self.apply(["ArchiveHidden": CLASS_HIDDEN])
|
||||
return
|
||||
}
|
||||
|
||||
self.apply([
|
||||
"ArchiveHidden": CLASS_VISIBLE,
|
||||
"ArchiveComment": comment,
|
||||
])
|
||||
}
|
||||
}
|
||||
@@ -10,13 +10,13 @@ struct PreviewGenerator {
|
||||
init(_ meta: MetaInfo) {
|
||||
self.meta = meta
|
||||
let plistApp = meta.readPlistApp()
|
||||
let plistItunes = meta.readPlistItunes()
|
||||
let plistProvision = meta.readPlistProvision()
|
||||
|
||||
data["QuickLookTitle"] = stringForFileType(meta)
|
||||
|
||||
procAppInfo(plistApp, isOSX: meta.isOSX)
|
||||
procItunesMeta(plistItunes)
|
||||
procArchiveInfo(meta.readPlistXCArchive())
|
||||
procItunesMeta(meta.readPlistItunes())
|
||||
procTransportSecurity(plistApp)
|
||||
procEntitlements(meta, plistApp, plistProvision)
|
||||
procProvision(plistProvision, isOSX: meta.isOSX)
|
||||
|
||||
Reference in New Issue
Block a user