Что может вызвать приложение Xcode MacOs для указания основного пакета на "/Applications/Xcode.app"?

100
11

Я изо всех сил пытаюсь написать свое первое приложение Swift3 - заставку, потому что я не могу ссылаться на любые локальные файлы. После нескольких часов отладки и настройки игровой площадки я обнаружил, что Bundle.main.bundlePath не указывает на мое приложение, а скорее "/Applications/Xcode.app". Это объясняет, почему в приведенном ниже коде - video.mp4 никогда не обнаруживается, но я снова получаю нуль от выбора Bundle по идентификатору.

Любые предложения по устранению этого? Мой локальный файл (video.mp4) читается, копируется как ресурс Bundle и не имеет ложных xattrs. Я застрял! Любая помощь оценивается.

Запуск 10.12.3/Xcode 8.2.1, Swift 3.0.2

Код детской площадки ниже:

import Cocoa
import PlaygroundSupport

import AVKit
import AVFoundation
var frameRect = NSRect(x: 0, y: 0, width: 600, height: 600)
var mainView = NSView(frame: frameRect)

let bundle = Bundle(identifier: "com.modprods.koorigras-test.Playground")
debugPrint(bundle)

debugPrint(Bundle.main.bundlePath)
guard let path = Bundle.main.path(forResource: "video",ofType:"mp4") else {
debugPrint("not found")
exit(1)
}

спросил(а) 2021-01-19T18:33:34+03:00 6 месяцев назад
1
Решение
63

По словам Эрика, это правильное поведение для игровой площадки.

Для других n00bs создание новой игровой площадки внутри вашей рабочей области приводит к выделению серых папок "Источники и ресурсы", которые, если вы пытаетесь показать в finder, ничего не происходит (потому что их не существует). Для доступа к локальным файлам с новой игровой площадки

    создать подпапку "Ресурсы" скопировать ресурс в Ресурс убедитесь, что Copy Bundle Resources включает этот актив для целевой

Похоже, что нет возможности получить доступ к другим пакетам из игровой площадки.

ответил(а) 2021-01-19T18:33:34+03:00 6 месяцев назад
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема