Mac Разработано для iPad «Не удалось найти символическую ссылку» ActivityKitIOS

Программируем под IOS
Ответить Пред. темаСлед. тема
Anonymous
 Mac Разработано для iPad «Не удалось найти символическую ссылку» ActivityKit

Сообщение Anonymous »

Я пытаюсь запустить приложение iOS на Mac через пункт назначения «Designed for iPad». Вылетает при запуске вот это:

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

Failed to look up symbolic reference at 0x1006ac9bd - offset 162835 - symbol symbolic _____y_____GSg 11ActivityKit0A0C 19MyAppPlayerAttributesV in /private/var/folders/4d/wbdrh95d1pz_f5y659dt22gr0000gn/X/6723F443-F2B3-5BE2-99A0-82DA9EF5CB24/d/Wrapper/MyApp.app/MyApphere
Это связано с тем, что ActivityKit недоступен на Mac. Однако даже если я попытаюсь выборочно исключить импорт ActivityKit, у меня все равно возникнет тот же сбой.

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

//#if os(iOS) || os(watchOS)
#if canImport(ActivityKit)
import ActivityKit
#endif
Кроме того, каждая часть кода, ссылающаяся на ActivityKit, заключена в условную проверку, например:

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

#if canImport(ActivityKit)

func startLiveActivity() {
guard ActivityAuthorizationInfo().areActivitiesEnabled else { return }

let attributes = AudioPlayerAttributes(audioTitle: memoTitle, startDate: Date())
let initialContentState = AudioPlayerAttributes.ContentState(isPlaying: isPlaying, currentTime: currentTime, duration: duration)

let content = ActivityContent(state: initialContentState, staleDate: nil)

do {
activity = try Activity.request(attributes: attributes, content: content, pushType: nil)
print("*** audioPlayer Live Activity started")
} catch (let error) {
print("***🔥 Error starting Live Activity: \(error.localizedDescription)")
}
}

func updateLiveActivity() {
guard let activity = activity else { return }

let updatedContentState = AudioPlayerAttributes.ContentState(isPlaying: isPlaying, currentTime: currentTime, duration: duration)
let content = ActivityContent(state: updatedContentState, staleDate: nil)

Task.detached(priority: .background) {
await activity.update(content)
}
}

func endLiveActivity() {
guard let activity = activity else { return }

// Optionally provide final content
let finalContentState = AudioPlayerAttributes.ContentState(isPlaying: isPlaying, currentTime: currentTime, duration: duration)
let content = ActivityContent(state: finalContentState, staleDate: nil)

Task.detached(priority: .background) {
await activity.end(content, dismissalPolicy: .immediate)
print("*** audioPlayer Live Activity ended")
}
}

#else
func startLiveActivity() { }
func updateLiveActivity() { }
func endLiveActivity() { }
#endif
Это похоже на версию приложения для iPad, поэтому он не думает, что работает на Mac, но это так, поэтому он не может получить доступ к ActivityKit.
Должен быть обходной путь? В противном случае любое приложение с виджетом будет недоступно на Mac.
Будем благодарны за любую помощь!

Подробнее здесь: https://stackoverflow.com/questions/792 ... ctivitykit
Реклама
Ответить Пред. темаСлед. тема

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

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

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

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

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

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