PlaygroundsAppTool is a powerful CLI/UI App utility for managing and configuring Swift Playground App (.swiftpm) projects. It helps you quickly adjust your app's capabilities, assets, and requirements without having to manually edit configuration files.
PlaygroundsAppTool <subcommand>All commands support a --project <path> option to specify the path to your .swiftpm directory. By default, this is ./.
--project <path>: The path to the.swiftpmproject. Defaults to./.--target <name>: The name of your app's main target. Defaults toAppModule.
Control the minimum iOS version and Swift language version your app requires.
-
Set Minimum iOS Version Updates your app to require a specific minimum iOS version.
PlaygroundsAppTool versions iOS <version> # Example: PlaygroundsAppTool versions iOS 17.0
-
Set Swift Language Version Sets the Swift language compiler version for your project (valid options: 5 or 6).
PlaygroundsAppTool versions swift <version> # Example: PlaygroundsAppTool versions swift 6
Manage the files bundled with your app, such as images, audio clips, JSON data, and custom fonts.
-
Initialize Resources Creates a
Resourcesdirectory and links it to your app. Any files you drop into this directory will be bundled with your app when it builds.PlaygroundsAppTool resources init
-
Remove Resources Unlinks the
Resourcesdirectory, meaning assets will no longer be bundled.PlaygroundsAppTool resources remove
By default, Swift Playgrounds apps operate within a restricted sandbox. Adding an Info.plist file lets you request permissions (like Camera, Microphone, or Location access) and configure advanced app behaviors.
-
Initialize Info.plist Generates an
Info.plistfile and links it to your app, allowing you to bypass typical sandbox restrictions by configuring custom XML keys.PlaygroundsAppTool info-plist init
-
Remove Info.plist Unlinks the
Info.plistfile from your app, reverting it to standard Playground restrictions.PlaygroundsAppTool info-plist remove
Control how your app behaves when the user rotates their iPhone or iPad. You can lock your app to portrait mode or allow it to flexibly rotate into landscape.
-
List Allowed Orientations Shows all the device orientations your app currently supports.
PlaygroundsAppTool orientation list
-
Allow an Orientation Enables your app to rotate into a specific orientation (
portrait,landscapeLeft,landscapeRight,portraitUpsideDown).PlaygroundsAppTool orientation add <orientation> # Example: PlaygroundsAppTool orientation add landscapeRight
-
Restrict an Orientation Prevents your app from rotating into a specific orientation.
PlaygroundsAppTool orientation remove <orientation>
Retrieve and modify broader configuration metadata like category, accent colors, and supported hardware.
-
Check Current App Info Displays out the currently active settings in the manifest.
PlaygroundsAppTool appInfo get
-
Update the App Source Category Sets the main App Store category (e.g.
games,education,productivity).PlaygroundsAppTool appInfo setCategory <category> # Example: PlaygroundsAppTool appInfo setCategory actionGames
-
Update Accent Color Change the universal accent highlight color. You can supply either an Asset Catalog name or use an Apple generic UI color preset.
PlaygroundsAppTool appInfo setAccentColor --preset <preset> # Example: PlaygroundsAppTool appInfo setAccentColor --preset blue PlaygroundsAppTool appInfo setAccentColor --asset <assetName> # Example: PlaygroundsAppTool appInfo setAccentColor --asset CustomRed
-
Set Supported Devices Toggles which Apple device platforms the application can legally be installed on. Options include
phone,pad.PlaygroundsAppTool appInfo setDeviceFamilies <family1> <family2> ... # Example: PlaygroundsAppTool appInfo setDeviceFamilies phone pad