chore: Add ObjC linker flags and background task identifier

This commit is contained in:
cogwheel0
2025-11-27 21:22:48 +05:30
parent 9ea8949e4f
commit 87fc9fdcde
2 changed files with 112 additions and 92 deletions

View File

@@ -614,6 +614,10 @@
"$(inherited)", "$(inherited)",
"@executable_path/Frameworks", "@executable_path/Frameworks",
); );
OTHER_LDFLAGS = (
"$(inherited)",
"-ObjC",
);
PRODUCT_BUNDLE_IDENTIFIER = app.cogwheel.conduit; PRODUCT_BUNDLE_IDENTIFIER = app.cogwheel.conduit;
PRODUCT_NAME = "$(TARGET_NAME)"; PRODUCT_NAME = "$(TARGET_NAME)";
PROVISIONING_PROFILE_SPECIFIER = ""; PROVISIONING_PROFILE_SPECIFIER = "";
@@ -789,7 +793,7 @@
baseConfigurationReference = 9740EEB21CF90195004384FC /* Debug.xcconfig */; baseConfigurationReference = 9740EEB21CF90195004384FC /* Debug.xcconfig */;
buildSettings = { buildSettings = {
ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO; ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO;
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon-Debug; ASSETCATALOG_COMPILER_APPICON_NAME = "AppIcon-Debug";
CLANG_ENABLE_MODULES = YES; CLANG_ENABLE_MODULES = YES;
CODE_SIGN_ENTITLEMENTS = Runner/Runner.entitlements; CODE_SIGN_ENTITLEMENTS = Runner/Runner.entitlements;
CODE_SIGN_IDENTITY = "Apple Development"; CODE_SIGN_IDENTITY = "Apple Development";
@@ -804,6 +808,10 @@
"$(inherited)", "$(inherited)",
"@executable_path/Frameworks", "@executable_path/Frameworks",
); );
OTHER_LDFLAGS = (
"$(inherited)",
"-ObjC",
);
PRODUCT_BUNDLE_IDENTIFIER = app.cogwheel.conduit.debug; PRODUCT_BUNDLE_IDENTIFIER = app.cogwheel.conduit.debug;
PRODUCT_NAME = "$(TARGET_NAME)"; PRODUCT_NAME = "$(TARGET_NAME)";
PROVISIONING_PROFILE_SPECIFIER = ""; PROVISIONING_PROFILE_SPECIFIER = "";
@@ -834,6 +842,10 @@
"$(inherited)", "$(inherited)",
"@executable_path/Frameworks", "@executable_path/Frameworks",
); );
OTHER_LDFLAGS = (
"$(inherited)",
"-ObjC",
);
PRODUCT_BUNDLE_IDENTIFIER = app.cogwheel.conduit; PRODUCT_BUNDLE_IDENTIFIER = app.cogwheel.conduit;
PRODUCT_NAME = "$(TARGET_NAME)"; PRODUCT_NAME = "$(TARGET_NAME)";
PROVISIONING_PROFILE_SPECIFIER = ""; PROVISIONING_PROFILE_SPECIFIER = "";
@@ -875,6 +887,10 @@
MARKETING_VERSION = 1.0; MARKETING_VERSION = 1.0;
MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE; MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE;
MTL_FAST_MATH = YES; MTL_FAST_MATH = YES;
OTHER_LDFLAGS = (
"$(inherited)",
"-ObjC",
);
PRODUCT_BUNDLE_IDENTIFIER = app.cogwheel.conduit.debug.ShareExtension; PRODUCT_BUNDLE_IDENTIFIER = app.cogwheel.conduit.debug.ShareExtension;
PRODUCT_NAME = "$(TARGET_NAME)"; PRODUCT_NAME = "$(TARGET_NAME)";
SKIP_INSTALL = YES; SKIP_INSTALL = YES;
@@ -917,6 +933,10 @@
LOCALIZATION_PREFERS_STRING_CATALOGS = YES; LOCALIZATION_PREFERS_STRING_CATALOGS = YES;
MARKETING_VERSION = 1.0; MARKETING_VERSION = 1.0;
MTL_FAST_MATH = YES; MTL_FAST_MATH = YES;
OTHER_LDFLAGS = (
"$(inherited)",
"-ObjC",
);
PRODUCT_BUNDLE_IDENTIFIER = app.cogwheel.conduit.ShareExtension; PRODUCT_BUNDLE_IDENTIFIER = app.cogwheel.conduit.ShareExtension;
PRODUCT_NAME = "$(TARGET_NAME)"; PRODUCT_NAME = "$(TARGET_NAME)";
SKIP_INSTALL = YES; SKIP_INSTALL = YES;
@@ -957,6 +977,10 @@
LOCALIZATION_PREFERS_STRING_CATALOGS = YES; LOCALIZATION_PREFERS_STRING_CATALOGS = YES;
MARKETING_VERSION = 1.0; MARKETING_VERSION = 1.0;
MTL_FAST_MATH = YES; MTL_FAST_MATH = YES;
OTHER_LDFLAGS = (
"$(inherited)",
"-ObjC",
);
PRODUCT_BUNDLE_IDENTIFIER = app.cogwheel.conduit.ShareExtension; PRODUCT_BUNDLE_IDENTIFIER = app.cogwheel.conduit.ShareExtension;
PRODUCT_NAME = "$(TARGET_NAME)"; PRODUCT_NAME = "$(TARGET_NAME)";
SKIP_INSTALL = YES; SKIP_INSTALL = YES;

View File

@@ -1,105 +1,101 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0"> <plist version="1.0">
<dict> <dict>
<key>CFBundleDevelopmentRegion</key> <key>BGTaskSchedulerPermittedIdentifiers</key>
<string>$(DEVELOPMENT_LANGUAGE)</string> <array>
<key>CFBundleLocalizations</key> <string>app.cogwheel.conduit.refresh</string>
<array> </array>
<string>en</string> <key>CADisableMinimumFrameDurationOnPhone</key>
<string>de</string> <true/>
<string>fr</string> <key>CFBundleDevelopmentRegion</key>
<string>it</string> <string>$(DEVELOPMENT_LANGUAGE)</string>
</array> <key>CFBundleDisplayName</key>
<key>CFBundleDisplayName</key> <string>Conduit</string>
<string>Conduit</string> <key>CFBundleExecutable</key>
<key>CFBundleExecutable</key> <string>$(EXECUTABLE_NAME)</string>
<string>$(EXECUTABLE_NAME)</string> <key>CFBundleIdentifier</key>
<key>CFBundleIdentifier</key> <string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>
<string>$(PRODUCT_BUNDLE_IDENTIFIER)</string> <key>CFBundleInfoDictionaryVersion</key>
<key>CFBundleInfoDictionaryVersion</key> <string>6.0</string>
<string>6.0</string> <key>CFBundleLocalizations</key>
<key>CFBundleName</key> <array>
<string>conduit</string> <string>en</string>
<key>CFBundlePackageType</key> <string>de</string>
<string>APPL</string> <string>fr</string>
<key>CFBundleShortVersionString</key> <string>it</string>
<string>$(FLUTTER_BUILD_NAME)</string> </array>
<key>CFBundleSignature</key> <key>CFBundleName</key>
<string>????</string> <string>conduit</string>
<key>CFBundleVersion</key> <key>CFBundlePackageType</key>
<string>$(FLUTTER_BUILD_NUMBER)</string> <string>APPL</string>
<key>LSRequiresIPhoneOS</key> <key>CFBundleShortVersionString</key>
<true/> <string>$(FLUTTER_BUILD_NAME)</string>
<key>UILaunchStoryboardName</key> <key>CFBundleSignature</key>
<string>LaunchScreen</string> <string>????</string>
<key>UIMainStoryboardFile</key> <key>CFBundleURLTypes</key>
<string>Main</string> <array>
<key>UISupportedInterfaceOrientations</key>
<array>
<string>UIInterfaceOrientationPortrait</string>
<string>UIInterfaceOrientationLandscapeLeft</string>
<string>UIInterfaceOrientationLandscapeRight</string>
</array>
<key>UISupportedInterfaceOrientations~ipad</key>
<array>
<string>UIInterfaceOrientationPortrait</string>
<string>UIInterfaceOrientationPortraitUpsideDown</string>
<string>UIInterfaceOrientationLandscapeLeft</string>
<string>UIInterfaceOrientationLandscapeRight</string>
</array>
<key>UIViewControllerBasedStatusBarAppearance</key>
<true/>
<!-- Network Access -->
<key>NSAppTransportSecurity</key>
<dict> <dict>
<key>NSAllowsArbitraryLoads</key> <key>CFBundleTypeRole</key>
<true/> <string>Editor</string>
<key>NSAllowsLocalNetworking</key> <key>CFBundleURLName</key>
<true/> <string>app.cogwheel.conduit.share</string>
<key>CFBundleURLSchemes</key>
<array>
<string>ShareMedia-app.cogwheel.conduit</string>
</array>
</dict> </dict>
<!-- Permissions --> </array>
<key>NSMicrophoneUsageDescription</key> <key>CFBundleVersion</key>
<string>Conduit uses the microphone to record voice messages and enable voice-to-text in chats. For example, when you hold the mic button in a conversation, we capture your speech to send as an audio message or transcript.</string> <string>$(FLUTTER_BUILD_NUMBER)</string>
<key>NSSpeechRecognitionUsageDescription</key> <key>ITSAppUsesNonExemptEncryption</key>
<string>Conduit uses on-device speech recognition so you can dictate messages handsfree. Your speech is converted to text on your device when available.</string> <false/>
<key>NSCameraUsageDescription</key> <key>LSRequiresIPhoneOS</key>
<string>Conduit uses the camera to take photos or videos you choose to share in chats. For example, you can snap a photo of a document and attach it to a message.</string> <true/>
<key>NSPhotoLibraryUsageDescription</key> <key>NSAppTransportSecurity</key>
<string>Conduit needs access to your photo library so you can select existing images or videos to share in chats. For example, you can pick a screenshot to include in a conversation.</string> <dict>
<key>CADisableMinimumFrameDurationOnPhone</key> <key>NSAllowsArbitraryLoads</key>
<true/> <true/>
<key>UIApplicationSupportsIndirectInputEvents</key> <key>NSAllowsLocalNetworking</key>
<true/> <true/>
<key>UIStatusBarHidden</key> </dict>
<false/> <key>NSCameraUsageDescription</key>
<key>CFBundleURLTypes</key> <string>Conduit uses the camera to take photos or videos you choose to share in chats. For example, you can snap a photo of a document and attach it to a message.</string>
<array> <key>NSMicrophoneUsageDescription</key>
<dict> <string>Conduit uses the microphone to record voice messages and enable voice-to-text in chats. For example, when you hold the mic button in a conversation, we capture your speech to send as an audio message or transcript.</string>
<key>CFBundleTypeRole</key> <key>NSPhotoLibraryUsageDescription</key>
<string>Editor</string> <string>Conduit needs access to your photo library so you can select existing images or videos to share in chats. For example, you can pick a screenshot to include in a conversation.</string>
<key>CFBundleURLName</key> <key>NSSpeechRecognitionUsageDescription</key>
<string>app.cogwheel.conduit.share</string> <string>Conduit uses on-device speech recognition so you can dictate messages handsfree. Your speech is converted to text on your device when available.</string>
<key>CFBundleURLSchemes</key> <key>UIApplicationSupportsIndirectInputEvents</key>
<array> <true/>
<string>ShareMedia-app.cogwheel.conduit</string>
</array>
</dict>
</array>
<!-- Background Modes -->
<key>UIBackgroundModes</key> <key>UIBackgroundModes</key>
<array> <array>
<string>audio</string> <string>audio</string>
<string>processing</string> <string>processing</string>
<string>remote-notification</string>
<string>voip</string> <string>voip</string>
</array> </array>
<!-- Background Task Identifiers --> <key>UILaunchStoryboardName</key>
<key>BGTaskSchedulerPermittedIdentifiers</key> <string>LaunchScreen</string>
<array> <key>UIMainStoryboardFile</key>
<string>app.cogwheel.conduit.refresh</string> <string>Main</string>
</array> <key>UIStatusBarHidden</key>
<!-- Encryption Declaration --> <false/>
<key>ITSAppUsesNonExemptEncryption</key> <key>UISupportedInterfaceOrientations</key>
<false/> <array>
</dict> <string>UIInterfaceOrientationPortrait</string>
<string>UIInterfaceOrientationLandscapeLeft</string>
<string>UIInterfaceOrientationLandscapeRight</string>
</array>
<key>UISupportedInterfaceOrientations~ipad</key>
<array>
<string>UIInterfaceOrientationPortrait</string>
<string>UIInterfaceOrientationPortraitUpsideDown</string>
<string>UIInterfaceOrientationLandscapeLeft</string>
<string>UIInterfaceOrientationLandscapeRight</string>
</array>
<key>UIViewControllerBasedStatusBarAppearance</key>
<true/>
</dict>
</plist> </plist>