1name: SophaxChat
2options:
3 bundleIdPrefix: com.sophax
4 deploymentTarget:
5 iOS: "17.0"
6 xcodeVersion: "15.0"
7 generateEmptyDirectories: true
8
9settings:
10 base:
11 SWIFT_VERSION: 5.9
12 ENABLE_STRICT_CONCURRENCY_CHECKING: complete
13 GCC_OPTIMIZATION_LEVEL: s
14 SWIFT_OPTIMIZATION_LEVEL: -O
15 # Security hardening
16 ENABLE_HARDENED_RUNTIME: YES
17 OTHER_SWIFT_FLAGS: "-D SOPHAX_RELEASE"
18
19targets:
20 SophaxChat:
21 type: application
22 platform: iOS
23 deploymentTarget: "17.0"
24 sources:
25 - path: SophaxChat
26 dependencies:
27 - target: SophaxChatCore
28 - framework: Frameworks/tor.xcframework
29 embed: true
30 settings:
31 base:
32 PRODUCT_BUNDLE_IDENTIFIER: com.sophax.SophaxChat
33 INFOPLIST_FILE: SophaxChat/Info.plist
34 CODE_SIGN_ENTITLEMENTS: SophaxChat/SophaxChat.entitlements
35 CODE_SIGN_STYLE: Automatic
36 DEVELOPMENT_TEAM: ""
37 UIApplicationSceneManifest: ""
38 SUPPORTS_MAC_CATALYST: YES
39 TARGETED_DEVICE_FAMILY: "1,2"
40 MACOSX_DEPLOYMENT_TARGET: "14.0"
41 DERIVE_MACCATALYST_PRODUCT_BUNDLE_IDENTIFIER: NO
42 SWIFT_OBJC_BRIDGING_HEADER: SophaxChat/SophaxChat-Bridging-Header.h
43 CLANG_ENABLE_MODULES: YES
44 CLANG_ENABLE_OBJC_ARC: YES
45 # Exclude Tor ObjC sources from Mac Catalyst — tor.xcframework has no macOS slice
46 "EXCLUDED_SOURCE_FILE_NAMES[sdk=macosx*]": "TOR*.m TORX25519KeyPair.m NSBundle+GeoIP.m NSCharacterSet+PredefinedSets.m"
47 info:
48 path: SophaxChat/Info.plist
49 properties:
50 CFBundleDisplayName: SophaxChat
51 CFBundleLocalizations:
52 - en
53 - cs
54 UILaunchScreen:
55 UIColorName: "AccentColor"
56 NSFaceIDUsageDescription: "SophaxChat uses Face ID to unlock the app when app lock is enabled."
57 NSCameraUsageDescription: "SophaxChat uses the camera to take and send photos in encrypted messages."
58 NSMicrophoneUsageDescription: "SophaxChat uses the microphone to record encrypted voice messages."
59 NSPhotoLibraryUsageDescription: "SophaxChat accesses your photo library to send images in encrypted messages."
60 NSLocalNetworkUsageDescription: "SophaxChat uses the local network to discover nearby users and send encrypted messages without internet."
61 NSBonjourServices:
62 - "_sophax-chat._tcp"
63 UIBackgroundModes:
64 - bluetooth-central
65 - bluetooth-peripheral
66 - fetch
67 - processing
68 BGTaskSchedulerPermittedIdentifiers:
69 - com.sophax.mesh-refresh
70 CFBundleURLTypes:
71 - CFBundleURLName: com.sophax.sophaxchat
72 CFBundleURLSchemes:
73 - sophaxchat
74
75 SophaxChatCore:
76 type: framework
77 platform: iOS
78 deploymentTarget: "17.0"
79 sources:
80 - path: Sources/SophaxChatCore
81 settings:
82 base:
83 PRODUCT_BUNDLE_IDENTIFIER: com.sophax.SophaxChatCore
84 DEFINES_MODULE: YES
85 GENERATE_INFOPLIST_FILE: YES
86 SUPPORTS_MAC_CATALYST: YES
87 TARGETED_DEVICE_FAMILY: "1,2"
88 MACOSX_DEPLOYMENT_TARGET: "14.0"
89
90 SophaxChatCoreTests:
91 type: bundle.unit-test
92 platform: iOS
93 deploymentTarget: "17.0"
94 sources:
95 - path: Tests/SophaxChatCoreTests
96 dependencies:
97 - target: SophaxChatCore
98 settings:
99 base:
100 PRODUCT_BUNDLE_IDENTIFIER: com.sophax.SophaxChatCoreTests