mirror of
https://github.com/amnezia-vpn/amnezia-client.git
synced 2026-10-23 03:26:59 +09:00
* feat: move amnezia hardcode from sources to cmake * feat: move amnezia hardcode from sources to cmake * refactor: remove prem v1 migration * chore: move more branding * fix: use host-matching architecture for iOS simulator builds x86_64 was hardcoded; Apple Silicon Macs run arm64 simulators and Xcode 26 has no Rosetta simulator destinations, so simulators showed as unsupported. * fix: mark the branded media assets catalog as a bundle resource MACOSX_PACKAGE_LOCATION was set on the upstream Media.xcassets path while target_sources uses CLIENT_IOS_MEDIA_ASSETS_PATH, so a branded catalog was never compiled by actool and the app got a blank icon. * fix: parametrize the Swift app-group identifier used by Log.swift Log.swift hardcoded Amnezia's own app-group instead of the branded one, since Swift -D flags can't carry the string value like the ObjC++ side does. Generate a small Swift constants file instead, same pattern as version.h.in, wired into all four targets that compile Log.swift. * fix: use APPLICATION_NAME instead of hardcoded Amnezia in log line format Every log line printed "Amnezia" regardless of branding; the log file name two lines above this already used APPLICATION_NAME correctly. * fix: restore branding fixes dropped by rebase, rename swiftInterop to swiftBridge * fix: move more branding variables to cmake * feat: move macOS branding from sources to cmake - macos/app/Info.plist.in: app group, camera usage text, UTI ids and descriptions now come from CLIENT_APPLICATION_NAME / BUILD_* variables, mirroring ios/app/Info.plist.in - macos/networkextension/Info.plist.in: bundle names and app group ids are templated; the plist is configured by CMake into the binary dir because Xcode only expands its own $(...) settings - new knobs: CLIENT_MACOS_MEDIA_ASSETS_PATH, CLIENT_MACOS_APP_ICNS_PATH, CLIENT_MACOS_PROVISIONING_PROFILE_SPECIFIER(_DEBUG), CLIENT_MACOS_NE_PROVISIONING_PROFILE_SPECIFIER(_DEBUG) * fix: resolve macOS pf template paths relative to the client source dir CMAKE_SOURCE_DIR points at the wrapper project when the client is built as a subproject, so the pf template lookup failed there. * chore: separate brandings defaults --------- Co-authored-by: vkamn <vk@amnezia.org>
186 lines
7.0 KiB
XML
186 lines
7.0 KiB
XML
<?xml version="1.0" encoding="UTF-8"?>
|
|
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
|
<plist version="1.0">
|
|
<dict>
|
|
<key>CFBundleAllowMixedLocalizations</key>
|
|
<true/>
|
|
<key>CFBundleDevelopmentRegion</key>
|
|
<string>en</string>
|
|
<key>CFBundleDisplayName</key>
|
|
<string>${QT_INTERNAL_DOLLAR_VAR}{PRODUCT_NAME}</string>
|
|
<key>CFBundleExecutable</key>
|
|
<string>${MACOSX_BUNDLE_EXECUTABLE_NAME}</string>
|
|
<key>CFBundleIdentifier</key>
|
|
<string>${MACOSX_BUNDLE_GUI_IDENTIFIER}</string>
|
|
<key>CFBundleInfoDictionaryVersion</key>
|
|
<string>6.0</string>
|
|
<key>CFBundleName</key>
|
|
<string>${MACOSX_BUNDLE_BUNDLE_NAME}</string>
|
|
<key>CFBundlePackageType</key>
|
|
<string>APPL</string>
|
|
<key>CFBundleShortVersionString</key>
|
|
<string>${MACOSX_BUNDLE_SHORT_VERSION_STRING}</string>
|
|
<key>CFBundleVersion</key>
|
|
<string>${MACOSX_BUNDLE_BUNDLE_VERSION}</string>
|
|
<key>NSHumanReadableCopyright</key>
|
|
<string>${MACOSX_BUNDLE_COPYRIGHT}</string>
|
|
<key>ITSAppUsesNonExemptEncryption</key>
|
|
<false/>
|
|
<key>LSApplicationCategoryType</key>
|
|
<string>public.app-category.utilities</string>
|
|
|
|
<key>LSMinimumSystemVersion</key>
|
|
<string>${MACOSX_DEPLOYMENT_TARGET}</string>
|
|
<key>LSSupportsOpeningDocumentsInPlace</key>
|
|
<true/>
|
|
<key>com.wireguard.ios.app_group_id</key>
|
|
<string>${BUILD_IOS_GROUP_IDENTIFIER}</string>
|
|
<key>NSCameraUsageDescription</key>
|
|
<string>${CLIENT_APPLICATION_NAME} needs access to the camera for reading QR-codes.</string>
|
|
<key>NSAppTransportSecurity</key>
|
|
<dict>
|
|
<key>NSAllowsArbitraryLoads</key>
|
|
<false/>
|
|
<key>NSAllowsLocalNetworking</key>
|
|
<true/>
|
|
</dict>
|
|
<key>CFBundleIconName</key>
|
|
<string>AppIcon</string>
|
|
<key>CFBundleIcons</key>
|
|
<dict>
|
|
<key>CFBundlePrimaryIcon</key>
|
|
<dict>
|
|
<key>CFBundleIconFiles</key>
|
|
<array>
|
|
<string>AppIcon</string>
|
|
</array>
|
|
<key>CFBundleIconName</key>
|
|
<string>AppIcon</string>
|
|
</dict>
|
|
</dict>
|
|
<key>UTImportedTypeDeclarations</key>
|
|
<array>
|
|
<dict>
|
|
<key>UTTypeConformsTo</key>
|
|
<array>
|
|
<string>public.data</string>
|
|
</array>
|
|
<key>UTTypeDescription</key>
|
|
<string>${CLIENT_APPLICATION_NAME} config</string>
|
|
<key>UTTypeIconFiles</key>
|
|
<array/>
|
|
<key>UTTypeIdentifier</key>
|
|
<string>${BUILD_OSX_APP_IDENTIFIER}.amnezia-config</string>
|
|
<key>UTTypeTagSpecification</key>
|
|
<dict>
|
|
<key>public.filename-extension</key>
|
|
<array>
|
|
<string>vpn</string>
|
|
</array>
|
|
<key>public.mime-type</key>
|
|
<array>
|
|
<string>text/plain</string>
|
|
</array>
|
|
</dict>
|
|
</dict>
|
|
<dict>
|
|
<key>UTTypeConformsTo</key>
|
|
<array>
|
|
<string>public.data</string>
|
|
</array>
|
|
<key>UTTypeDescription</key>
|
|
<string>WireGuard config</string>
|
|
<key>UTTypeIconFiles</key>
|
|
<array/>
|
|
<key>UTTypeIdentifier</key>
|
|
<string>${BUILD_OSX_APP_IDENTIFIER}.wireguard-config</string>
|
|
<key>UTTypeTagSpecification</key>
|
|
<dict>
|
|
<key>public.filename-extension</key>
|
|
<array>
|
|
<string>conf</string>
|
|
<string>cfg</string>
|
|
</array>
|
|
<key>public.mime-type</key>
|
|
<array>
|
|
<string>text/plain</string>
|
|
</array>
|
|
</dict>
|
|
</dict>
|
|
<dict>
|
|
<key>UTTypeConformsTo</key>
|
|
<array>
|
|
<string>public.data</string>
|
|
</array>
|
|
<key>UTTypeDescription</key>
|
|
<string>OpenVPN config</string>
|
|
<key>UTTypeIconFiles</key>
|
|
<array/>
|
|
<key>UTTypeIdentifier</key>
|
|
<string>${BUILD_OSX_APP_IDENTIFIER}.openvpn-config</string>
|
|
<key>UTTypeTagSpecification</key>
|
|
<dict>
|
|
<key>public.filename-extension</key>
|
|
<array>
|
|
<string>ovpn</string>
|
|
</array>
|
|
<key>public.mime-type</key>
|
|
<array>
|
|
<string>text/plain</string>
|
|
</array>
|
|
</dict>
|
|
</dict>
|
|
<dict>
|
|
<key>UTTypeConformsTo</key>
|
|
<array>
|
|
<string>public.data</string>
|
|
</array>
|
|
<key>UTTypeDescription</key>
|
|
<string>${CLIENT_APPLICATION_NAME} backup file</string>
|
|
<key>UTTypeIconFiles</key>
|
|
<array/>
|
|
<key>UTTypeIdentifier</key>
|
|
<string>${BUILD_OSX_APP_IDENTIFIER}.backup-config</string>
|
|
<key>UTTypeTagSpecification</key>
|
|
<dict>
|
|
<key>public.filename-extension</key>
|
|
<array>
|
|
<string>backup</string>
|
|
</array>
|
|
<key>public.mime-type</key>
|
|
<array>
|
|
<string>text/plain</string>
|
|
</array>
|
|
</dict>
|
|
</dict>
|
|
</array>
|
|
<key>CFBundleDocumentTypes</key>
|
|
<array>
|
|
<dict>
|
|
<key>CFBundleTypeName</key>
|
|
<string>${CLIENT_APPLICATION_NAME} config</string>
|
|
<key>LSHandlerRank</key>
|
|
<string>Alternate</string>
|
|
<key>LSItemContentTypes</key>
|
|
<array>
|
|
<string>${BUILD_OSX_APP_IDENTIFIER}.amnezia-config</string>
|
|
<string>${BUILD_OSX_APP_IDENTIFIER}.wireguard-config</string>
|
|
<string>${BUILD_OSX_APP_IDENTIFIER}.openvpn-config</string>
|
|
<string>${BUILD_OSX_APP_IDENTIFIER}.backup-config</string>
|
|
</array>
|
|
</dict>
|
|
</array>
|
|
<key>NSExtensions</key>
|
|
<array>
|
|
<dict>
|
|
<key>NSExtensionPointIdentifier</key>
|
|
<string>com.apple.networkextension.packet-tunnel</string>
|
|
<key>NSExtensionPrincipalClass</key>
|
|
<string>$(PRODUCT_MODULE_NAME).PacketTunnelProvider</string>
|
|
</dict>
|
|
</array>
|
|
|
|
${CLIENT_MACOS_EXTRA_PLIST_ENTRIES}
|
|
</dict>
|
|
</plist>
|