#if RC_XBS && !RC_BUILDIT
#define AND_APPLE_CODE_SIGNED and ${IS_APPLE_CODE_SIGNED}
#else 
#define AND_APPLE_CODE_SIGNED
#endif

<?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>CFBundleDevelopmentRegion</key>
	<string>English</string>
	<key>CFBundleExecutable</key>
	<string>${EXECUTABLE_NAME}</string>
	<key>CFBundleIdentifier</key>
	<string>${EXECUTABLE_NAME}</string>
	<key>CFBundleInfoDictionaryVersion</key>
	<string>6.0</string>
	<key>CFBundleName</key>
	<string>${PRODUCT_NAME}</string>
	<key>CFBundlePackageType</key>
	<string>XPC!</string>
	<key>CFBundleShortVersionString</key>
	<string>1.0</string>
	<key>CFBundleSignature</key>
	<string>????</string>
	<key>CFBundleVersion</key>
	<string>300.99.0</string>
	<key>NSHumanReadableCopyright</key>
	<string>Copyright © 2012 Apple Inc. All rights reserved.</string>
	<key>XPCService</key>
	<dict>
		<key>_AllowedClients</key>
		<array>
			<string> identifier = com.apple.lldb AND_APPLE_CODE_SIGNED</string>
            <string> identifier = com.apple.dt.Xcode AND_APPLE_CODE_SIGNED</string>
		</array>
		<key>_RoleAccount</key>
		<string>root</string>
		<key>ServiceType</key>
		<string>Application</string>
	</dict>
</dict>
</plist>
