Skip to content

Instantly share code, notes, and snippets.

@erikng
Created September 28, 2017 16:05
Show Gist options
  • Save erikng/fb732ecbf468133021d4a4bb285795e8 to your computer and use it in GitHub Desktop.
Save erikng/fb732ecbf468133021d4a4bb285795e8 to your computer and use it in GitHub Desktop.
xcode9.plist (for munki)
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>autoremove</key>
<false/>
<key>catalogs</key>
<array>
<string>production</string>
</array>
<key>category</key>
<string>IDE</string>
<key>description</key>
<string>Xcode includes everything developers need to create great applications for Mac, iPhone, iPad, Apple TV, and Apple Watch. Xcode provides developers a unified workflow for user interface design, coding, testing, and debugging. The Xcode IDE combined with the Swift programming language make developing apps easier and more fun than ever before.
Xcode includes the Xcode IDE, Swift and Objective-C compilers, Instruments analysis tool, simulators, the latest SDKs, and hundreds of powerful features:
Innovative tools help you create great apps
• Swift is a revolutionary programming language that is safe, fast, and modern
• Playgrounds are a fun way to experiment and interact with Swift code
• Interface Builder displays pixel-perfect UI for each target device and can edit at any zoom level
• View debugging shows a 3D stack of all your app's UI view layers at runtime
• Assistant editors show content related to your primary task
• Live Issues display errors as you type, and Fix-its can correct mistakes for you
Swift is a powerful, modern, and fun programming language
• Safe by design, Swift syntax and features prevent entire categories of bugs
• Fast code execution and compile time are powered by the proven LLVM compiler
• Modern language features are inspired by leading research, including:
- Closures unified with function pointers
- Tuples and multiple return values
- Structs as value types that support methods, extensions, protocols
- Powerful protocols that can extend functionality throughout your codebase
- Functional programming patterns including map and filter
Interface Builder makes it easy to design your interface without code
• Storyboards let you arrange the complete flow of screens within your app
• See your custom controls rendered live within the design canvas
• Customize your interface for different devices, screen sizes, and orientations
• StackViews make it easy to reason about the layout of each section of your interface
• Create connections from your GUI design directly to the related source code
Professional editor and debugger keep your code front and center
• Hit a few keys and Open Quickly will instantly open any file within your project
• Message bubbles show errors, warnings, and other issues right beside your code
• Data tips show a variable's value by hovering your mouse over the code
• Quick Look variables while debugging to see the actual color, bezier path, image, and more
• Third party app extensions can add new capabilities to the source editor
Test driven development is built right in
• Use the Test Navigator to add, edit, or run unit tests or user interface tests with just a click
• Test Assistant makes it easy to edit your code and related tests, side-by-side
• Create continuous integration bots using macOS Server to automatically build and test your apps
• Monitor performance and user interface test data using macOS Server to immediately spot regressions
• Analyzer travels countless code paths looking for logical errors before they become bugs
Instruments makes performance analysis beautiful
• Compare CPU, disk, memory, and OpenGL performance as graphical tracks over time
• Identify performance bottlenecks, then dive deep into the code to uncover the cause
• Monitor your app directly, or sample the entire system, with very little overhead
To test or deploy applications on an iOS device, Apple TV, or on Apple Watch all you need is a free Apple ID. To submit your apps to the App Store you must be a member of the Apple Developer Program. Continuous integration features require a current version of macOS Server. Some features may require Internet access.</string>
<key>developer</key>
<string>Apple</string>
<key>display_name</key>
<string>Xcode</string>
<key>featured</key>
<true/>
<key>installed_size</key>
<integer>10269195</integer>
<key>installer_item_hash</key>
<string>6b9d44e76e6c5ff1aa60ca8ff9fc13cf9491720598e0f6250ac7350eaad246bc</string>
<key>installer_item_location</key>
<string>applications/apple/xcode/Xcode-9.0.0.0.1.1504363082.pkg</string>
<key>installer_item_size</key>
<integer>5260807</integer>
<key>minimum_os_version</key>
<string>10.12.6</string>
<key>name</key>
<string>Xcode</string>
<key>postinstall_script</key>
<string>#!/bin/bash
# Accept EULA so there is no prompt
if [[ -e "/Applications/Xcode.app/Contents/Developer/usr/bin/xcodebuild" ]]; then
"/Applications/Xcode.app/Contents/Developer/usr/bin/xcodebuild" -license accept
fi
# Just in case the xcodebuild command above fails to accept the EULA, set the license acceptance info
# in /Library/Preferences/com.apple.dt.Xcode.plist. For more details on this, see Tim Sutton's post:
# http://macops.ca/deploying-xcode-the-trick-with-accepting-license-agreements/
if [[ -e "/Applications/Xcode.app/Contents/Resources/LicenseInfo.plist" ]]; then
xcode_version_number=`/usr/bin/defaults read "/Applications/Xcode.app/Contents/"Info CFBundleShortVersionString`
xcode_build_number=`/usr/bin/defaults read "/Applications/Xcode.app/Contents/Resources/"LicenseInfo licenseID`
xcode_license_type=`/usr/bin/defaults read "/Applications/Xcode.app/Contents/Resources/"LicenseInfo licenseType`
if [[ "${xcode_license_type}" == "GM" ]]; then
/usr/bin/defaults write "/Library/Preferences/"com.apple.dt.Xcode IDEXcodeVersionForAgreedToGMLicense "$xcode_version_number"
/usr/bin/defaults write "/Library/Preferences/"com.apple.dt.Xcode IDELastGMLicenseAgreedTo "$xcode_build_number"
else
/usr/bin/defaults write "/Library/Preferences/"com.apple.dt.Xcode IDEXcodeVersionForAgreedToBetaLicense "$xcode_version_number"
/usr/bin/defaults write "/Library/Preferences/"com.apple.dt.Xcode IDELastBetaLicenseAgreedTo "$xcode_build_number"
fi
fi
# DevToolsSecurity tool to change the authorization policies, such that a user who is a
# member of either the admin group or the _developer group does not need to enter an additional
# password to use the Apple-code-signed debugger or performance analysis tools.
/usr/sbin/DevToolsSecurity -enable
# If you have multiple versions of Xcode installed, specify which one you want to be current.
/usr/bin/xcode-select --switch /Applications/Xcode.app
# Bypass Gatekeeper verification for Xcode, which can take awhile.
if [[ -e "/Applications/Xcode.app" ]]; then xattr -dr com.apple.quarantine /Applications/Xcode.app
fi
# Install Mobile Device Packages so there is no prompt
if [[ -e "/Applications/Xcode.app/Contents/Resources/Packages/MobileDevice.pkg" ]]; then
/usr/sbin/installer -dumplog -verbose -pkg "/Applications/Xcode.app/Contents/Resources/Packages/MobileDevice.pkg" -target /
fi
if [[ -e "/Applications/Xcode.app/Contents/Resources/Packages/MobileDeviceDevelopment.pkg" ]]; then
/usr/sbin/installer -dumplog -verbose -pkg "/Applications/Xcode.app/Contents/Resources/Packages/MobileDeviceDevelopment.pkg" -target /
fi
# Install XcodeSystemResources.pkg so there is no prompt
if [[ -e "/Applications/Xcode.app/Contents/Resources/Packages/XcodeSystemResources.pkg" ]]; then
/usr/sbin/installer -dumplog -verbose -pkg "/Applications/Xcode.app/Contents/Resources/Packages/XcodeSystemResources.pkg" -target /
fi
# Install XcodeExtensionSupport.pkg so there is no prompt
if [[ -e "/Applications/Xcode.app/Contents/Resources/Packages/XcodeExtensionSupport.pkg" ]]; then
/usr/sbin/installer -dumplog -verbose -pkg "/Applications/Xcode.app/Contents/Resources/Packages/XcodeExtensionSupport.pkg" -target /
fi
exit 0
</string>
<key>receipts</key>
<array>
<dict>
<key>installed_size</key>
<integer>10269195</integer>
<key>packageid</key>
<string>com.apple.pkg.Xcode</string>
<key>version</key>
<string>9.0.0.0.1.1504363082</string>
</dict>
</array>
<key>unattended_install</key>
<true/>
<key>unattended_uninstall</key>
<true/>
<key>uninstall_method</key>
<string>removepackages</string>
<key>uninstallable</key>
<true/>
<key>version</key>
<string>9.0.0.0.1.1504363082</string>
</dict>
</plist>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment