Skip to content

Instantly share code, notes, and snippets.

@kkebo
Last active May 22, 2022 10:31
Show Gist options
  • Save kkebo/4a930605b1f2fb744efdb5abd6908511 to your computer and use it in GitHub Desktop.
Save kkebo/4a930605b1f2fb744efdb5abd6908511 to your computer and use it in GitHub Desktop.
AppleProductTypes in Swift Playgrounds 4.1
// From /Applications/Playgrounds.app/Contents/Toolchain/usr/lib/swift/pm/ManifestAPI/AppleProductTypes.swiftmodule/arm64-apple-ios-macabi.swiftinterface
// swift-interface-format-version: 1.0
// swift-compiler-version: Apple Swift version 5.6 (swiftlang-5.6.0.323.62 clang-1316.0.20.8)
// swift-module-flags: -target arm64-apple-ios13.4-macabi -enable-objc-interop -enable-library-evolution -swift-version 5 -enforce-exclusivity=checked -O -package-description-version 999.0 -module-link-name AppleProductTypes -module-name AppleProductTypes
// swift-module-flags-ignorable: -user-module-version 15
import PackageDescription
import Swift
extension PackageDescription.Product {
public static func iOSApplication(
name: Swift.String,
targets: [Swift.String],
bundleIdentifier: Swift.String? = nil,
teamIdentifier: Swift.String? = nil,
displayVersion: Swift.String? = nil,
bundleVersion: Swift.String? = nil,
iconAssetName: Swift.String? = nil,
accentColorAssetName: Swift.String? = nil,
supportedDeviceFamilies: [PackageDescription.ProductSetting.IOSAppInfo.DeviceFamily],
supportedInterfaceOrientations: [PackageDescription.ProductSetting.IOSAppInfo.InterfaceOrientation],
capabilities: [PackageDescription.ProductSetting.IOSAppInfo.Capability] = [],
additionalInfoPlistContentFilePath: Swift.String? = nil
) -> PackageDescription.Product
@available(_PackageDescription 5.6)
public static func iOSApplication(
name: Swift.String,
targets: [Swift.String],
bundleIdentifier: Swift.String? = nil,
teamIdentifier: Swift.String? = nil,
displayVersion: Swift.String? = nil,
bundleVersion: Swift.String? = nil,
appIcon: PackageDescription.ProductSetting.IOSAppInfo.AppIcon? = nil,
accentColor: PackageDescription.ProductSetting.IOSAppInfo.AccentColor? = nil,
supportedDeviceFamilies: [PackageDescription.ProductSetting.IOSAppInfo.DeviceFamily],
supportedInterfaceOrientations: [PackageDescription.ProductSetting.IOSAppInfo.InterfaceOrientation],
capabilities: [PackageDescription.ProductSetting.IOSAppInfo.Capability] = [],
appCategory: PackageDescription.ProductSetting.IOSAppInfo.AppCategory? = nil,
additionalInfoPlistContentFilePath: Swift.String? = nil
) -> PackageDescription.Product
}
// swift-interface-format-version: 1.0
// swift-compiler-version: Apple Swift version 5.6 (swiftlang-5.6.0.323.62 clang-1316.0.20.8)
// swift-module-flags: -target arm64-apple-ios14.7 -enable-objc-interop -enable-library-evolution -swift-version 5 -enforce-exclusivity=checked -O -package-description-version 999.0 -module-link-name AppleProductTypes -module-name AppleProductTypes
// swift-module-flags-ignorable: -user-module-version 15
import PackageDescription
import Swift
extension PackageDescription.Product {
public static func iOSApplication(
name: Swift.String,
targets: [Swift.String],
bundleIdentifier: Swift.String? = nil,
teamIdentifier: Swift.String? = nil,
displayVersion: Swift.String? = nil,
bundleVersion: Swift.String? = nil,
iconAssetName: Swift.String? = nil,
accentColorAssetName: Swift.String? = nil,
supportedDeviceFamilies: [PackageDescription.ProductSetting.IOSAppInfo.DeviceFamily],
supportedInterfaceOrientations: [PackageDescription.ProductSetting.IOSAppInfo.InterfaceOrientation],
capabilities: [PackageDescription.ProductSetting.IOSAppInfo.Capability] = [],
additionalInfoPlistContentFilePath: Swift.String? = nil
) -> PackageDescription.Product
@available(_PackageDescription 5.6)
public static func iOSApplication(
name: Swift.String,
targets: [Swift.String],
bundleIdentifier: Swift.String? = nil,
teamIdentifier: Swift.String? = nil,
displayVersion: Swift.String? = nil,
bundleVersion: Swift.String? = nil,
appIcon: PackageDescription.ProductSetting.IOSAppInfo.AppIcon? = nil,
accentColor: PackageDescription.ProductSetting.IOSAppInfo.AccentColor? = nil,
supportedDeviceFamilies: [PackageDescription.ProductSetting.IOSAppInfo.DeviceFamily],
supportedInterfaceOrientations: [PackageDescription.ProductSetting.IOSAppInfo.InterfaceOrientation],
capabilities: [PackageDescription.ProductSetting.IOSAppInfo.Capability] = [],
appCategory: PackageDescription.ProductSetting.IOSAppInfo.AppCategory? = nil,
additionalInfoPlistContentFilePath: Swift.String? = nil
) -> PackageDescription.Product
}
// From /Applications/Xcode.app/Contents/PlugIns/IDESwiftPackageCore.framework/Versions/A/Frameworks/SwiftPM.framework/SharedSupport/ManifestAPI/AppleProductTypes.swiftmodule/armor-apple-macos.swiftinterface
// swift-interface-format-version: 1.0
// swift-compiler-version: Apple Swift version 5.6.1 (swiftlang-5.6.0.323.66 clang-1316.0.20.12)
// swift-module-flags: -target arm64-apple-macos11.0 -enable-objc-interop -enable-library-evolution -swift-version 5 -enforce-exclusivity=checked -O -package-description-version 999.0 -module-link-name AppleProductTypes -module-name AppleProductTypes
// swift-module-flags-ignorable: -user-module-version 20504
import PackageDescription
import Swift
extension PackageDescription.Product {
public static func iOSApplication(
name: Swift.String,
targets: [Swift.String],
bundleIdentifier: Swift.String? = nil,
teamIdentifier: Swift.String? = nil,
displayVersion: Swift.String? = nil,
bundleVersion: Swift.String? = nil,
iconAssetName: Swift.String? = nil,
accentColorAssetName: Swift.String? = nil,
supportedDeviceFamilies: [PackageDescription.ProductSetting.IOSAppInfo.DeviceFamily],
supportedInterfaceOrientations: [PackageDescription.ProductSetting.IOSAppInfo.InterfaceOrientation],
capabilities: [PackageDescription.ProductSetting.IOSAppInfo.Capability] = [],
additionalInfoPlistContentFilePath: Swift.String? = nil
) -> PackageDescription.Product
@available(_PackageDescription 5.6)
public static func iOSApplication(
name: Swift.String,
targets: [Swift.String],
bundleIdentifier: Swift.String? = nil,
teamIdentifier: Swift.String? = nil,
displayVersion: Swift.String? = nil,
bundleVersion: Swift.String? = nil,
appIcon: PackageDescription.ProductSetting.IOSAppInfo.AppIcon? = nil,
accentColor: PackageDescription.ProductSetting.IOSAppInfo.AccentColor? = nil,
supportedDeviceFamilies: [PackageDescription.ProductSetting.IOSAppInfo.DeviceFamily],
supportedInterfaceOrientations: [PackageDescription.ProductSetting.IOSAppInfo.InterfaceOrientation],
capabilities: [PackageDescription.ProductSetting.IOSAppInfo.Capability] = [],
appCategory: PackageDescription.ProductSetting.IOSAppInfo.AppCategory? = nil,
additionalInfoPlistContentFilePath: Swift.String? = nil
) -> PackageDescription.Product
}
// Run this on Swift Playgrounds's Playground Book
import Foundation
import UIKit
let bundleURL = Bundle.main.resourceURL!
let swiftmoduleURL = bundleURL
.deletingLastPathComponent()
.deletingLastPathComponent()
.appendingPathComponent("Toolchain/usr/lib/swift/pm/ManifestAPI/AppleProductTypes.swiftmodule")
let swiftinterfaceURL = swiftmoduleURL
.appendingPathComponent("arm64-apple-ios.swiftinterface")
print("bundleURL:", bundleURL)
print("swiftmoduleURL:", swiftmoduleURL)
try FileManager.default.contentsOfDirectory(
at: swiftmoduleURL,
includingPropertiesForKeys: nil
)
.map(\.lastPathComponent)
.forEach { print("-", $0) }
UIPasteboard.general.string = try String(contentsOf: swiftinterfaceURL)
--- old 2022-05-22 18:24:26.098324171 +0900
+++ new 2022-05-22 18:24:31.859007183 +0900
@@ -5,10 +5,11 @@
teamIdentifier: Swift.String? = nil,
displayVersion: Swift.String? = nil,
bundleVersion: Swift.String? = nil,
- iconAssetName: Swift.String? = nil,
- accentColorAssetName: Swift.String? = nil,
+ appIcon: PackageDescription.ProductSetting.IOSAppInfo.AppIcon? = nil,
+ accentColor: PackageDescription.ProductSetting.IOSAppInfo.AccentColor? = nil,
supportedDeviceFamilies: [PackageDescription.ProductSetting.IOSAppInfo.DeviceFamily],
supportedInterfaceOrientations: [PackageDescription.ProductSetting.IOSAppInfo.InterfaceOrientation],
capabilities: [PackageDescription.ProductSetting.IOSAppInfo.Capability] = [],
+ appCategory: PackageDescription.ProductSetting.IOSAppInfo.AppCategory? = nil,
additionalInfoPlistContentFilePath: Swift.String? = nil
) -> PackageDescription.Product
--- mac.swift 2022-05-22 19:13:50.074693735 +0900
+++ ios.swift 2022-05-22 19:13:19.180145742 +0900
@@ -1,7 +1,7 @@
// swift-interface-format-version: 1.0
-// swift-compiler-version: Apple Swift version 5.6.1 (swiftlang-5.6.0.323.66 clang-1316.0.20.12)
-// swift-module-flags: -target arm64-apple-macos11.0 -enable-objc-interop -enable-library-evolution -swift-version 5 -enforce-exclusivity=checked -O -package-description-version 999.0 -module-link-name AppleProductTypes -module-name AppleProductTypes
-// swift-module-flags-ignorable: -user-module-version 20504
+// swift-compiler-version: Apple Swift version 5.6 (swiftlang-5.6.0.323.62 clang-1316.0.20.8)
+// swift-module-flags: -target arm64-apple-ios14.7 -enable-objc-interop -enable-library-evolution -swift-version 5 -enforce-exclusivity=checked -O -package-description-version 999.0 -module-link-name AppleProductTypes -module-name AppleProductTypes
+// swift-module-flags-ignorable: -user-module-version 15
import PackageDescription
import Swift
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment