#swift #xcodegen
#swift #xcodegen
Вопрос:
Я новичок в XcodeGen и попытался добавить целевой виджет iOS 14 в свое приложение
Widget:
type: app-extension
platform: iOS
settings:
INFOPLIST_FILE: PIAWidget/Info.plist
PROVISIONING_PROFILE_SPECIFIER_Release: Development - Widget Extension
OTHER_LDFLAGS: $(inherited) -framework WidgetKit
configFiles:
Debug: Configuration/AppExtension-iOS.xcconfig
Release: Configuration/AppExtension-iOS.xcconfig
sources:
- path: Widget
name: "Extension: Widget"
В опции project.yml целью развертывания является iOS 13.0
options:
deploymentTarget:
macOS: "10.14"
iOS: "13.0"
tvOS: "13.0"
settingPresets: none
createIntermediateGroups: true
carthageExecutablePath: Vendor/carthage.command
carthageBuildPath: ${APP_CARTHAGE_BUILD_PATH}
usesTabs: false
indentWidth: 3
tabWidth: 3
В классе widget swift есть то, @main
что меня попросили добавить: @available
@available(iOSApplicationExtension 14.0, *)
@main
Но после его добавления он все равно показывает мне эту ошибку:
'main()' is only available in application extensions for iOS 14.0 or newer
Вот почему я подумал, может быть, мне нужно добавить a deploymentTarget
в раздел виджетов. И, как я искал, это должно быть так:
Widget:
type: app-extension
platform: iOS
deploymentTarget:
iOS: "14.0"
settings:
INFOPLIST_FILE: PIAWidget/Info.plist
PROVISIONING_PROFILE_SPECIFIER_Release: Piavet Development - Widget Extension
OTHER_LDFLAGS: $(inherited) -framework WidgetKit
configFiles:
Debug: Configuration/AppExtension-iOS.xcconfig
Release: Configuration/AppExtension-iOS.xcconfig
sources:
- path: Widget
name: "Extension: Widget"
Но я все равно получил ошибку. Кто-нибудь может мне помочь в этом?
Ответ №1:
измените deploymentTarget с 14.0 на 14.1 следующим образом
deploymentTarget:
iOS: "14.1"