-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathproject.yml
More file actions
198 lines (192 loc) · 6.6 KB
/
project.yml
File metadata and controls
198 lines (192 loc) · 6.6 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
name: ZipherX
options:
bundleIdPrefix: com.zipherpunk
deploymentTarget:
iOS: "15.0"
macOS: "12.0"
xcodeVersion: "15.0"
generateEmptyDirectories: true
settings:
base:
SWIFT_VERSION: "5.9"
ENABLE_BITCODE: false
DEVELOPMENT_TEAM: "5MW334LMXL"
targets:
# iOS Target
ZipherX:
type: application
platform: iOS
sources:
- path: Sources
excludes:
- "**/.DS_Store"
- path: Assets.xcassets
buildPhase: resources
# FIX #344: Resources must be in sources section with buildPhase: resources
- path: Resources/sapling-spend.params
buildPhase: resources
- path: Resources/sapling-output.params
buildPhase: resources
# All sync data (outputs, timestamps, tree, block hashes) is downloaded from GitHub
# as a unified boost file (zipherx_boost_v1.bin, ~520 MB) on first sync
info:
path: Info.plist
properties:
CFBundleDisplayName: ZipherX
CFBundleShortVersionString: "4.2.3"
CFBundleVersion: "14"
UILaunchScreen:
UIColorName: LaunchScreenColor
NSFaceIDUsageDescription: ZipherX uses Face ID to protect your wallet and authorize transactions.
NSLocalNetworkUsageDescription: ZipherX connects to Zclassic network peers to sync your wallet.
NSCameraUsageDescription: ZipherX uses the camera to scan QR codes for receiving payments.
NSPhotoLibraryUsageDescription: ZipherX uses the photo library to set your chat profile picture.
UIBackgroundModes:
- fetch
ITSAppUsesNonExemptEncryption: false
UISupportedInterfaceOrientations:
- UIInterfaceOrientationPortrait
- UIInterfaceOrientationLandscapeLeft
- UIInterfaceOrientationLandscapeRight
UISupportedInterfaceOrientations~ipad:
- UIInterfaceOrientationPortrait
- UIInterfaceOrientationPortraitUpsideDown
- UIInterfaceOrientationLandscapeLeft
- UIInterfaceOrientationLandscapeRight
settings:
base:
PRODUCT_BUNDLE_IDENTIFIER: com.zipherpunk.zipherx
INFOPLIST_FILE: Info.plist
CODE_SIGN_ENTITLEMENTS: ZipherX.entitlements
TARGETED_DEVICE_FAMILY: "1,2"
# Bridging header for Rust FFI
SWIFT_OBJC_BRIDGING_HEADER: Sources/ZipherX-Bridging-Header.h
# Use SQLCipher headers instead of system sqlite3
HEADER_SEARCH_PATHS:
- "$(SRCROOT)/Libraries/SQLCipher.xcframework/$(PLATFORM_NAME)-$(CURRENT_ARCH)/Headers"
- "$(SRCROOT)/Libraries/SQLCipher.xcframework/ios-arm64_x86_64-simulator/Headers"
- "$(SRCROOT)/Libraries/SQLCipher.xcframework/ios-arm64/Headers"
# Link resolver library
OTHER_LDFLAGS:
- "-lresolv"
dependencies:
- framework: Libraries/ZipherXFFI.xcframework
embed: false
- framework: Libraries/SQLCipher.xcframework
embed: false
# FIX #342: SystemConfiguration required by reqwest for proxy detection
- sdk: SystemConfiguration.framework
entitlements:
path: ZipherX.entitlements
properties:
keychain-access-groups:
- $(AppIdentifierPrefix)com.zipherpunk.zipherx
com.apple.developer.default-data-protection: NSFileProtectionCompleteUntilFirstUserAuthentication
# macOS Target
ZipherXMac:
type: application
platform: macOS
sources:
- path: Sources
excludes:
- "**/.DS_Store"
- path: Assets.xcassets
buildPhase: resources
# FIX #344: Resources must be in sources section with buildPhase: resources
- path: Resources/sapling-spend.params
buildPhase: resources
- path: Resources/sapling-output.params
buildPhase: resources
# macOS only: Bundled zclassicd and zclassic-cli for Full Node mode
# FIX #338: Use type: folder to preserve directory structure in bundle
- path: Resources/Binaries
buildPhase: resources
type: folder
info:
path: Info-macOS.plist
properties:
CFBundleDisplayName: ZipherX
CFBundleShortVersionString: "4.2.3"
CFBundleVersion: "14"
CFBundleName: ZipherX
LSMinimumSystemVersion: "12.0"
NSLocalNetworkUsageDescription: ZipherX connects to Zclassic network peers to sync your wallet.
NSCameraUsageDescription: ZipherX uses the camera to scan QR codes for receiving payments.
NSHumanReadableCopyright: "Copyright © 2025 ZipherX. All rights reserved."
ITSAppUsesNonExemptEncryption: false
settings:
base:
PRODUCT_BUNDLE_IDENTIFIER: com.zipherpunk.zipherx.mac
INFOPLIST_FILE: Info-macOS.plist
CODE_SIGN_ENTITLEMENTS: ZipherXMac.entitlements
# Hardened Runtime required for notarization
ENABLE_HARDENED_RUNTIME: true
# Bridging header for Rust FFI
SWIFT_OBJC_BRIDGING_HEADER: Sources/ZipherX-Bridging-Header.h
# Use SQLCipher headers instead of system sqlite3
HEADER_SEARCH_PATHS:
- "$(SRCROOT)/Libraries/SQLCipher.xcframework/macos-arm64_x86_64/Headers"
# Link resolver library
OTHER_LDFLAGS:
- "-lresolv"
MACOSX_DEPLOYMENT_TARGET: "12.0"
# App icon
ASSETCATALOG_COMPILER_APPICON_NAME: AppIcon
dependencies:
- framework: Libraries/ZipherXFFI.xcframework
embed: false
- framework: Libraries/SQLCipher.xcframework
embed: false
# FIX #342: SystemConfiguration required by reqwest for proxy detection
- sdk: SystemConfiguration.framework
entitlements:
path: ZipherXMac.entitlements
properties:
com.apple.security.app-sandbox: false
com.apple.security.network.client: true
com.apple.security.network.server: true
com.apple.security.files.user-selected.read-write: true
keychain-access-groups:
- $(AppIdentifierPrefix)com.zipherpunk.zipherx.mac
ZipherXTests:
type: bundle.unit-test
platform: iOS
sources:
- path: Tests
excludes:
- "**/.DS_Store"
dependencies:
- target: ZipherX
settings:
base:
PRODUCT_BUNDLE_IDENTIFIER: com.zipherpunk.zipherx.tests
schemes:
ZipherX:
build:
targets:
ZipherX: all
ZipherXTests: [test]
run:
config: Debug
test:
config: Debug
targets:
- ZipherXTests
profile:
config: Release
analyze:
config: Debug
archive:
config: Release
ZipherXMac:
build:
targets:
ZipherXMac: all
run:
config: Debug
profile:
config: Release
analyze:
config: Debug
archive:
config: Release