| 1 | name: CallsPhone |
| 2 | options: |
| 3 | bundleIdPrefix: net.amadan.oficina |
| 4 | deploymentTarget: |
| 5 | iOS: '17.0' |
| 6 | packages: |
| 7 | CallsNative: |
| 8 | path: ../apple |
| 9 | settings: |
| 10 | base: |
| 11 | SWIFT_VERSION: '5.0' |
| 12 | CODE_SIGN_STYLE: Automatic |
| 13 | MARKETING_VERSION: '0.4.9' |
| 14 | CURRENT_PROJECT_VERSION: '1' |
| 15 | # The App Group the app and its broadcast extension share: the socket |
| 16 | # the iPhone's screen crosses lives in its container. One setting |
| 17 | # feeds both entitlements and both Info.plists' CallsAppGroup key, so |
| 18 | # a build under another bundle identifier changes it here and only here. |
| 19 | CALLS_APP_GROUP: group.net.amadan.oficina.calls |
| 20 | targets: |
| 21 | CallsPhone: |
| 22 | type: application |
| 23 | platform: iOS |
| 24 | sources: |
| 25 | - Sources |
| 26 | - Assets.xcassets |
| 27 | - path: ../LICENSE.lucide |
| 28 | buildPhase: resources |
| 29 | - path: ../LICENSE.rnnoise |
| 30 | buildPhase: resources |
| 31 | - path: ../LICENSE.webrtc |
| 32 | buildPhase: resources |
| 33 | - path: ../PATENTS.webrtc |
| 34 | buildPhase: resources |
| 35 | info: |
| 36 | path: ../build/ios-info.plist |
| 37 | properties: |
| 38 | CFBundleURLTypes: |
| 39 | - CFBundleURLName: net.amadan.oficina.calls.join |
| 40 | CFBundleURLSchemes: [oficina-calls] |
| 41 | CallsAppGroup: $(CALLS_APP_GROUP) |
| 42 | # Audio, so a call sharing the whole screen survives the person |
| 43 | # going to the app they meant to show. Only a call that is sharing |
| 44 | # stays up in the background; every other call still ends there. |
| 45 | UIBackgroundModes: [audio] |
| 46 | entitlements: |
| 47 | path: ../build/ios-app.entitlements |
| 48 | properties: |
| 49 | com.apple.security.application-groups: [$(CALLS_APP_GROUP)] |
| 50 | dependencies: |
| 51 | - package: CallsNative |
| 52 | product: CallsKit |
| 53 | - target: CallsBroadcast |
| 54 | settings: |
| 55 | base: |
| 56 | ASSETCATALOG_COMPILER_APPICON_NAME: AppIcon |
| 57 | PRODUCT_BUNDLE_IDENTIFIER: net.amadan.oficina.calls.ios |
| 58 | TARGETED_DEVICE_FAMILY: '1,2' |
| 59 | GENERATE_INFOPLIST_FILE: YES |
| 60 | INFOPLIST_KEY_CFBundleDisplayName: Calls |
| 61 | INFOPLIST_KEY_NSCameraUsageDescription: Calls uses your camera so people in your meeting can see you. |
| 62 | INFOPLIST_KEY_NSMicrophoneUsageDescription: Calls uses your microphone so people in your meeting can hear you. |
| 63 | INFOPLIST_KEY_UILaunchScreen_Generation: YES |
| 64 | INFOPLIST_KEY_UISupportedInterfaceOrientations: UIInterfaceOrientationPortrait UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight UIInterfaceOrientationPortraitUpsideDown |
| 65 | CallsBroadcast: |
| 66 | type: app-extension |
| 67 | platform: iOS |
| 68 | sources: [Broadcast] |
| 69 | info: |
| 70 | path: ../build/ios-broadcast-info.plist |
| 71 | properties: |
| 72 | CFBundleDisplayName: Calls |
| 73 | CallsAppGroup: $(CALLS_APP_GROUP) |
| 74 | NSExtension: |
| 75 | NSExtensionPointIdentifier: com.apple.broadcast-services-upload |
| 76 | NSExtensionPrincipalClass: $(PRODUCT_MODULE_NAME).SampleHandler |
| 77 | RPBroadcastProcessMode: RPBroadcastProcessModeSampleBuffer |
| 78 | entitlements: |
| 79 | path: ../build/ios-broadcast.entitlements |
| 80 | properties: |
| 81 | com.apple.security.application-groups: [$(CALLS_APP_GROUP)] |
| 82 | dependencies: |
| 83 | - package: CallsNative |
| 84 | product: CallsBroadcastKit |
| 85 | settings: |
| 86 | base: |
| 87 | PRODUCT_BUNDLE_IDENTIFIER: net.amadan.oficina.calls.ios.broadcast |
| 88 | TARGETED_DEVICE_FAMILY: '1,2' |
| 89 | CallsPhoneTests: |
| 90 | type: bundle.unit-test |
| 91 | platform: iOS |
| 92 | sources: |
| 93 | - Tests |
| 94 | - ../apple/Sources/CallsInterop/SyntheticVideo.swift |
| 95 | dependencies: |
| 96 | - target: CallsPhone |
| 97 | - package: CallsNative |
| 98 | product: CallsKit |
| 99 | settings: |
| 100 | base: |
| 101 | GENERATE_INFOPLIST_FILE: YES |
| 102 | CallsPhoneUITests: |
| 103 | type: bundle.ui-testing |
| 104 | platform: iOS |
| 105 | sources: [UITests] |
| 106 | dependencies: |
| 107 | - target: CallsPhone |
| 108 | settings: |
| 109 | base: |
| 110 | GENERATE_INFOPLIST_FILE: YES |
| 111 | TEST_TARGET_NAME: CallsPhone |
| 112 | info: |
| 113 | path: ../build/ios-test-info.plist |
| 114 | properties: |
| 115 | NSAppTransportSecurity: |
| 116 | NSAllowsArbitraryLoads: true |
| 117 | schemes: |
| 118 | CallsPhone: |
| 119 | build: |
| 120 | targets: |
| 121 | CallsPhone: all |
| 122 | test: |
| 123 | targets: [CallsPhoneUITests, CallsPhoneTests] |
| 124 | |