Ярлыки приложений, ссылающиеся на AppIntents, специфичные для iOS 17, появляются в iOS 16 и приводят к сбоям.IOS

Программируем под IOS
Ответить
Anonymous
 Ярлыки приложений, ссылающиеся на AppIntents, специфичные для iOS 17, появляются в iOS 16 и приводят к сбоям.

Сообщение Anonymous »

У меня есть несколько AppIntent, которые используют специфические функции iOS 17 и поэтому помечены @available(iOS 17.0, *). AppIntent правильно отображается только в iOS 17 в приложении «Ярлыки» и скрыт в iOS 16. Однако, если я ссылаюсь на эти AppIntent в ярлыке приложения, AppShortCut также появляется в iOS 16, хотя AppIntent предназначен только для iOS 17 и даже AppShortcutsProvider помечен аннотацией @available(iOS 17.0, *). Когда пользователь нажимает ярлык приложения на iOS 16, это приводит к сбою приложения.
Пример кода:

Код: Выделить всё

@available(iOS 17.0, *)
struct HelloIntent:AppIntent
{
static let title: LocalizedStringResource = "iOS 17 only AppIntent"
static var isDiscoverable: Bool = true

@Parameter(title:"Input")
var input:String

@MainActor
func perform() async throws -> some IntentResult {
return .result()
}
}

@available(iOS 17.0, *)
struct PhotoSyncShortcuts: AppShortcutsProvider {
static var appShortcuts: [AppShortcut] {
return [
AppShortcut(
intent: HelloIntent(),
phrases: ["\(.applicationName) Hello"],
shortTitle: "Hello iOS 17",
systemImageName: "01.circle"
)
]
}
}
Буду признателен за любые подсказки о том, как создать AppShortcuts без сбоев на iOS 16.

Подробнее здесь: https://stackoverflow.com/questions/782 ... 6-and-lead
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «IOS»