function adapt
This commit is contained in:
@@ -0,0 +1,294 @@
|
||||
name: iosApp
|
||||
options:
|
||||
bundleIdPrefix: com.zhushenwudi.lovelivemusicplayer
|
||||
deploymentTarget:
|
||||
iOS: "18.0"
|
||||
createIntermediateGroups: true
|
||||
groupSortPosition: top
|
||||
|
||||
# Match Flutter Runner configs (Debug / Release / Profile=AdHoc)
|
||||
configs:
|
||||
Debug: debug
|
||||
Release: release
|
||||
Profile: release
|
||||
|
||||
settings:
|
||||
base:
|
||||
SWIFT_VERSION: "5.0"
|
||||
TARGETED_DEVICE_FAMILY: "1,2"
|
||||
CLANG_ENABLE_MODULES: YES
|
||||
ENABLE_BITCODE: NO
|
||||
ENABLE_USER_SCRIPT_SANDBOXING: NO
|
||||
# Xcode 15+/26 Debug Dylib puts app code in *.debug.dylib without App Group
|
||||
# entitlements → CFPrefs "client is not entitled" / Container null on simulator.
|
||||
ENABLE_DEBUG_DYLIB: NO
|
||||
# Synced from Flutter Runner (pubspec 1.7.4+74)
|
||||
MARKETING_VERSION: "1.7.4"
|
||||
CURRENT_PROJECT_VERSION: "74"
|
||||
SUPPORTED_PLATFORMS: "iphoneos iphonesimulator"
|
||||
ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS: YES
|
||||
configs:
|
||||
Debug:
|
||||
CODE_SIGN_STYLE: Manual
|
||||
CODE_SIGN_IDENTITY: "Apple Development"
|
||||
"CODE_SIGN_IDENTITY[sdk=iphoneos*]": "iPhone Developer"
|
||||
DEVELOPMENT_TEAM: ""
|
||||
"DEVELOPMENT_TEAM[sdk=iphoneos*]": V73L9LHPCA
|
||||
Release:
|
||||
CODE_SIGN_STYLE: Manual
|
||||
CODE_SIGN_IDENTITY: "Apple Development"
|
||||
"CODE_SIGN_IDENTITY[sdk=iphoneos*]": "iPhone Distribution"
|
||||
DEVELOPMENT_TEAM: ""
|
||||
"DEVELOPMENT_TEAM[sdk=iphoneos*]": V73L9LHPCA
|
||||
VALIDATE_PRODUCT: YES
|
||||
Profile:
|
||||
CODE_SIGN_STYLE: Manual
|
||||
CODE_SIGN_IDENTITY: "Apple Development"
|
||||
"CODE_SIGN_IDENTITY[sdk=iphoneos*]": "iPhone Distribution"
|
||||
DEVELOPMENT_TEAM: ""
|
||||
"DEVELOPMENT_TEAM[sdk=iphoneos*]": V73L9LHPCA
|
||||
VALIDATE_PRODUCT: YES
|
||||
|
||||
targets:
|
||||
iosApp:
|
||||
type: application
|
||||
platform: iOS
|
||||
sources:
|
||||
- path: iosApp
|
||||
excludes:
|
||||
- "Info.plist"
|
||||
- "**/*.entitlements"
|
||||
info:
|
||||
path: iosApp/Info.plist
|
||||
properties:
|
||||
CFBundleDisplayName: LLMP
|
||||
CFBundleName: LLMP
|
||||
CFBundleShortVersionString: "$(MARKETING_VERSION)"
|
||||
CFBundleVersion: "$(CURRENT_PROJECT_VERSION)"
|
||||
LSRequiresIPhoneOS: true
|
||||
CADisableMinimumFrameDurationOnPhone: true
|
||||
ITSAppUsesNonExemptEncryption: false
|
||||
LSApplicationCategoryType: public.app-category.music
|
||||
LSSupportsOpeningDocumentsInPlace: true
|
||||
UIFileSharingEnabled: true
|
||||
UIRequiresFullScreen: true
|
||||
UIStatusBarHidden: false
|
||||
UIViewControllerBasedStatusBarAppearance: false
|
||||
UIApplicationSupportsIndirectInputEvents: true
|
||||
UILaunchScreen: {}
|
||||
BGTaskSchedulerPermittedIdentifiers:
|
||||
- com.zhushenwudi.lovelivemusicplayer
|
||||
UIBackgroundModes:
|
||||
- audio
|
||||
- fetch
|
||||
- processing
|
||||
- remote-notification
|
||||
UISupportedInterfaceOrientations:
|
||||
- UIInterfaceOrientationPortrait
|
||||
"UISupportedInterfaceOrientations~ipad":
|
||||
- UIInterfaceOrientationPortrait
|
||||
NSCameraUsageDescription: 需要获取摄像头权限扫描二维码
|
||||
NSPhotoLibraryUsageDescription: 需要读取相册获取图片
|
||||
NSAppTransportSecurity:
|
||||
NSAllowsArbitraryLoads: true
|
||||
NSAllowsArbitraryLoads: true
|
||||
MOBAppKey: 375f94ab8316c
|
||||
MOBAppSecret: 9cac7a0532d211eb04fcf6b25b197859
|
||||
LSApplicationQueriesSchemes:
|
||||
- mqq
|
||||
- mqqapi
|
||||
- timapi
|
||||
- mqqopensdkminiapp
|
||||
- mqqopensdkapiV2
|
||||
- mqqopensdkapiV3
|
||||
- mqqopensdkapiV4
|
||||
- mqzoneopensdk
|
||||
- mqzoneopensdkapi
|
||||
- mqzoneopensdkapi19
|
||||
- mqzoneopensdkapiV2
|
||||
- mqqwpa
|
||||
- mqzone
|
||||
CFBundleURLTypes:
|
||||
- CFBundleTypeRole: Editor
|
||||
CFBundleURLName: qq
|
||||
CFBundleURLSchemes:
|
||||
- QQ0614FEC2
|
||||
- CFBundleTypeRole: Editor
|
||||
CFBundleURLName: qzone
|
||||
CFBundleURLSchemes:
|
||||
- tencent102039234
|
||||
- CFBundleTypeRole: Editor
|
||||
CFBundleURLName: llmp
|
||||
CFBundleURLSchemes:
|
||||
- llmp
|
||||
- CFBundleTypeRole: Editor
|
||||
CFBundleURLName: llmppush
|
||||
CFBundleURLSchemes:
|
||||
- llmppush
|
||||
# KMP / WidgetKit deep link (also used on Android)
|
||||
- CFBundleTypeRole: Editor
|
||||
CFBundleURLName: homeWidget
|
||||
CFBundleURLSchemes:
|
||||
- homeWidgetExample
|
||||
UIApplicationSceneManifest:
|
||||
UIApplicationSupportsMultipleScenes: true
|
||||
UISceneConfigurations:
|
||||
UIWindowSceneSessionRoleApplication:
|
||||
- UISceneConfigurationName: Default Configuration
|
||||
UISceneDelegateClassName: $(PRODUCT_MODULE_NAME).SceneDelegate
|
||||
CPTemplateApplicationSceneSessionRoleApplication:
|
||||
- UISceneConfigurationName: CarPlay Configuration
|
||||
UISceneDelegateClassName: $(PRODUCT_MODULE_NAME).CarPlaySceneDelegate
|
||||
# Base entitlements written by XcodeGen; Debug/Profile use Debug file, Release overrides below
|
||||
entitlements:
|
||||
path: iosApp/iosApp.entitlements
|
||||
properties:
|
||||
aps-environment: development
|
||||
com.apple.developer.associated-domains:
|
||||
- applinks:0524259523de2fc4f2a1a2a32df3efd8.share2dlink.com
|
||||
com.apple.developer.carplay-audio: true
|
||||
com.apple.developer.playable-content: true
|
||||
com.apple.security.application-groups:
|
||||
- group.com.zhushenwudi.lovelivemusicplayer
|
||||
settings:
|
||||
base:
|
||||
PRODUCT_BUNDLE_IDENTIFIER: com.zhushenwudi.lovelivemusicplayer
|
||||
PRODUCT_NAME: LLMP
|
||||
INFOPLIST_FILE: iosApp/Info.plist
|
||||
INFOPLIST_KEY_CFBundleDisplayName: LLMP
|
||||
INFOPLIST_KEY_LSApplicationCategoryType: public.app-category.music
|
||||
ASSETCATALOG_COMPILER_APPICON_NAME: AppIcon
|
||||
ASSETCATALOG_COMPILER_INCLUDE_ALL_APPICON_ASSETS: YES
|
||||
LD_RUNPATH_SEARCH_PATHS:
|
||||
- $(inherited)
|
||||
- "@executable_path/Frameworks"
|
||||
FRAMEWORK_SEARCH_PATHS:
|
||||
- $(inherited)
|
||||
- "$(SRCROOT)/../composeApp/build/xcode-frameworks/$(CONFIGURATION)/$(SDK_NAME)"
|
||||
OTHER_LDFLAGS:
|
||||
- $(inherited)
|
||||
- -framework
|
||||
- ComposeApp
|
||||
- -lsqlite3
|
||||
"EXCLUDED_ARCHS[sdk=iphonesimulator*]": $(inherited)
|
||||
configs:
|
||||
Debug:
|
||||
CODE_SIGN_ENTITLEMENTS: iosApp/iosApp.entitlements
|
||||
"PROVISIONING_PROFILE_SPECIFIER[sdk=iphoneos*]": LLMP-M-DEVELOP
|
||||
PROVISIONING_PROFILE_SPECIFIER: ""
|
||||
Release:
|
||||
CODE_SIGN_ENTITLEMENTS: iosApp/iosAppRelease.entitlements
|
||||
"PROVISIONING_PROFILE_SPECIFIER[sdk=iphoneos*]": LLMP-M-RELEASE
|
||||
PROVISIONING_PROFILE_SPECIFIER: ""
|
||||
Profile:
|
||||
CODE_SIGN_ENTITLEMENTS: iosApp/iosApp.entitlements
|
||||
"PROVISIONING_PROFILE_SPECIFIER[sdk=iphoneos*]": LLMP-M-AD-HOC
|
||||
PROVISIONING_PROFILE_SPECIFIER: ""
|
||||
dependencies:
|
||||
- target: WidgetExtension
|
||||
embed: true
|
||||
postBuildScripts:
|
||||
- name: Verify Widget Extension Embedded
|
||||
basedOnDependencyAnalysis: false
|
||||
script: |
|
||||
set -euo pipefail
|
||||
APPEX="${TARGET_BUILD_DIR}/${WRAPPER_NAME}/PlugIns/WidgetExtension.appex"
|
||||
if [ ! -d "$APPEX" ]; then
|
||||
echo "error: WidgetExtension.appex is missing from ${TARGET_BUILD_DIR}/${WRAPPER_NAME}"
|
||||
echo "error: The app will install without widgets. Check WidgetExtension code signing."
|
||||
exit 1
|
||||
fi
|
||||
echo "Widget extension embedded: $APPEX"
|
||||
preBuildScripts:
|
||||
- name: Build ComposeApp.framework
|
||||
basedOnDependencyAnalysis: false
|
||||
script: |
|
||||
set -euo pipefail
|
||||
if [ "YES" = "${OVERRIDE_KOTLIN_BUILD_IDE_SUPPORTED:-}" ]; then
|
||||
echo "Skipping Gradle build (OVERRIDE_KOTLIN_BUILD_IDE_SUPPORTED=YES)"
|
||||
exit 0
|
||||
fi
|
||||
cd "$SRCROOT/.."
|
||||
./gradlew :composeApp:embedAndSignAppleFrameworkForXcode
|
||||
|
||||
WidgetExtension:
|
||||
type: app-extension
|
||||
platform: iOS
|
||||
sources:
|
||||
- path: WidgetExtension
|
||||
excludes:
|
||||
- "Info.plist"
|
||||
- "**/*.entitlements"
|
||||
- "HomeWidgetExampleControl.swift"
|
||||
- "HomeWidgetExampleLiveActivity.swift"
|
||||
info:
|
||||
path: WidgetExtension/Info.plist
|
||||
properties:
|
||||
CFBundleDisplayName: LLMP
|
||||
CFBundleShortVersionString: "$(MARKETING_VERSION)"
|
||||
CFBundleVersion: "$(CURRENT_PROJECT_VERSION)"
|
||||
NSExtension:
|
||||
NSExtensionPointIdentifier: com.apple.widgetkit-extension
|
||||
entitlements:
|
||||
path: WidgetExtension/WidgetExtension.entitlements
|
||||
properties:
|
||||
com.apple.security.application-groups:
|
||||
- group.com.zhushenwudi.lovelivemusicplayer
|
||||
settings:
|
||||
base:
|
||||
PRODUCT_BUNDLE_IDENTIFIER: com.zhushenwudi.lovelivemusicplayer.HomeWidgetExample
|
||||
PRODUCT_NAME: "$(TARGET_NAME)"
|
||||
INFOPLIST_FILE: WidgetExtension/Info.plist
|
||||
INFOPLIST_KEY_CFBundleDisplayName: LLMP
|
||||
INFOPLIST_KEY_NSHumanReadableCopyright: ""
|
||||
CODE_SIGN_ENTITLEMENTS: WidgetExtension/WidgetExtension.entitlements
|
||||
# Match Flutter HomeWidgetExampleExtension deployment
|
||||
IPHONEOS_DEPLOYMENT_TARGET: "17.0"
|
||||
ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME: AccentColor
|
||||
ASSETCATALOG_COMPILER_WIDGET_BACKGROUND_COLOR_NAME: WidgetBackground
|
||||
LD_RUNPATH_SEARCH_PATHS:
|
||||
- $(inherited)
|
||||
- "@executable_path/Frameworks"
|
||||
- "@executable_path/../../Frameworks"
|
||||
SKIP_INSTALL: YES
|
||||
SUPPORTS_MACCATALYST: NO
|
||||
GENERATE_INFOPLIST_FILE: YES
|
||||
"EXCLUDED_ARCHS[sdk=iphoneos*]": armv7
|
||||
"EXCLUDED_ARCHS[sdk=iphonesimulator*]": $(inherited)
|
||||
configs:
|
||||
Debug:
|
||||
"PROVISIONING_PROFILE_SPECIFIER[sdk=iphoneos*]": LLMP-M-DEVELOP-WIDGET
|
||||
PROVISIONING_PROFILE_SPECIFIER: ""
|
||||
Release:
|
||||
"PROVISIONING_PROFILE_SPECIFIER[sdk=iphoneos*]": LLMP-M-RELEASE-WIDGET
|
||||
PROVISIONING_PROFILE_SPECIFIER: ""
|
||||
Profile:
|
||||
"PROVISIONING_PROFILE_SPECIFIER[sdk=iphoneos*]": LLMP-M-AD-HOC-WIDGET
|
||||
PROVISIONING_PROFILE_SPECIFIER: ""
|
||||
|
||||
schemes:
|
||||
# Main app scheme — do NOT list WidgetExtension with `run` / `all`, or XcodeGen
|
||||
# marks wasCreatedForAppExtension=YES and Run jumps to widget debug (needs _XCWidgetKind).
|
||||
# Widget still builds + embeds via iosApp → WidgetExtension dependency.
|
||||
iosApp:
|
||||
build:
|
||||
targets:
|
||||
iosApp: all
|
||||
run:
|
||||
config: Debug
|
||||
archive:
|
||||
config: Release
|
||||
profile:
|
||||
config: Profile
|
||||
|
||||
# Only use this scheme when debugging WidgetKit itself (intentionally opens Home).
|
||||
WidgetExtension:
|
||||
build:
|
||||
targets:
|
||||
WidgetExtension: [run, test, profile, analyze, archive]
|
||||
iosApp: [run]
|
||||
run:
|
||||
config: Debug
|
||||
environmentVariables:
|
||||
_XCWidgetKind: HomeWidgetExampleWhite
|
||||
_XCWidgetFamily: systemMedium
|
||||
Reference in New Issue
Block a user