kiwix-apple/project.yml
Balazs Perlaki-Horvath 1a5caface9 Remove live activities
2025-04-20 11:34:07 +02:00

156 lines
5.0 KiB
YAML

name: Kiwix
options:
xcodeVersion: 16.1
deploymentTarget: # the three latest major versions should be supported
iOS: 16.6
macOS: 13.0
generateEmptyDirectories: true
useTabs: false
groupSortPosition: top
postGenCommand: cp IDETemplateMacros.plist Kiwix.xcodeproj/xcshareddata/
settings:
base:
DEVELOPMENT_TEAM: L7HWM3SP3L
GENERATE_INFOPLIST_FILE: YES
CURRENT_PROJECT_VERSION: 214
ENABLE_USER_SCRIPT_SANDBOXING: NO
ENABLE_MODULE_VERIFIER: YES
MODULE_VERIFIER_SUPPORTED_LANGUAGES: "objective-c objective-c++"
ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS: YES
CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED: YES
ENABLE_PREVIEWS: YES
INFOPLIST_KEY_LSApplicationCategoryType: public.app-category.reference
INFOPLIST_KEY_UISupportedInterfaceOrientations_iPhone: UIInterfaceOrientationPortrait UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight
INFOPLIST_KEY_UISupportedInterfaceOrientations_iPad: UIInterfaceOrientationPortrait UIInterfaceOrientationPortraitUpsideDown UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight
INFOPLIST_KEY_NSPhotoLibraryUsageDescription: "Kiwix needs permission to saves images to your photos app."
INFOPLIST_KEY_LSSupportsOpeningDocumentsInPlace: YES
INFOPLIST_KEY_UIApplicationSupportsIndirectInputEvents: YES
SWIFT_OBJC_INTEROP_MODE: objcxx
SWIFT_OBJC_BRIDGING_HEADER: $(PROJECT_DIR)/Support/Kiwix-Bridging-Header.h
GCC_C_LANGUAGE_STANDARD: c11
CLANG_CXX_LANGUAGE_STANDARD: c++14
ENABLE_HARDENED_RUNTIME[sdk=macosx*]: YES
APP_STORE_ID: $(APP_STORE_ID)
INFOPLIST_KEY_UILaunchScreen_Generation: YES
configs:
debug:
DEAD_CODE_STRIPPING: YES
MODULE_VERIFIER_SUPPORTED_LANGUAGE_STANDARDS: "gnu11 gnu14++"
release:
DEAD_CODE_STRIPPING: YES
MODULE_VERIFIER_SUPPORTED_LANGUAGE_STANDARDS: "gnu11 gnu14++"
VALIDATE_PRODUCT: YES
packages:
Defaults:
url: https://github.com/sindresorhus/Defaults
majorVersion: 8.2.0
StripeApplePay:
url: https://github.com/CodeLikeW/stripe-apple-pay
majorVersion: 24.0.0
targetTemplates:
ApplicationTemplate:
type: application
supportedDestinations: [iOS, macOS]
entitlements:
path: Support/Kiwix.entitlements
properties:
com.apple.security.app-sandbox: true
com.apple.security.files.user-selected.read-write: true
com.apple.security.network.client: true
com.apple.security.print: true
dependencies:
- framework: CoreKiwix.xcframework
embed: false
codeSign: true
- sdk: SwiftUI.framework
- sdk: MapKit.framework
- sdk: WebKit.framework
- sdk: NotificationCenter.framework
- sdk: QuickLook.framework
- sdk: PassKit.framework
- sdk: SystemConfiguration.framework
- sdk: ActivityKit.framework
destinationFilters:
- iOS
- package: Defaults
- package: StripeApplePay
sources:
- path: App
- path: Model
- path: SwiftUI
- path: ViewModel
- path: Views
- path: PrivacyInfo.xcprivacy
destinationFilters:
- iOS
- path: Common
destinationFilters:
- iOS
- path: Contents
includes:
- Resources
- Resources/PrivacyInfo.xcprivacy
destinationFilters:
- macOS
targets:
Kiwix:
templates:
- ApplicationTemplate
entitlements:
properties:
com.apple.security.files.downloads.read-write: true
com.apple.developer.in-app-payments: [merchant.org.kiwix.apple] # this line is removed for macOS FTP
settings:
base:
MARKETING_VERSION: "3.9.0"
PRODUCT_BUNDLE_IDENTIFIER: self.Kiwix
INFOPLIST_KEY_CFBundleDisplayName: Kiwix
INFOPLIST_FILE: Support/Info.plist
INFOPLIST_KEY_UILaunchStoryboardName: SplashScreenKiwix.storyboard
sources:
- path: Support
excludes:
- "**/qqq.lproj"
- "**/igl.lproj"
- "**/dag.lproj"
- path: Kiwix/SplashScreenKiwix.storyboard
destinationFilters:
- iOS
UnitTests:
type: bundle.unit-test
supportedDestinations: [iOS, macOS]
settings:
PRODUCT_BUNDLE_IDENTIFIER: org.kiwix.Tests
TEST_HOST: $(BUILT_PRODUCTS_DIR)/Kiwix.app/$(BUNDLE_EXECUTABLE_FOLDER_PATH)/Kiwix
BUNDLE_LOADER: $(TEST_HOST)
entitlements:
path: Support/Kiwix-unitTest.entitlements
properties:
com.apple.security.app-sandbox: false
# from macOS 14, sandbox and unit test are not working together on CI
# a pop up appears that needs user acceptance
# see: https://developer.apple.com/documentation/security/accessing-files-from-the-macos-app-sandbox
sources:
- path: Tests
dependencies:
- target: Kiwix
schemes:
Kiwix:
build:
targets:
Kiwix: all
test:
targets:
- UnitTests
commandLineArguments:
testing: true
gatherCoverageData: true
coverageTargets:
- Kiwix