Я создал папку в своих активах под названием «json», туда я перетащил файл с именем code.json из искателя. Теперь я хочу открыть файл, но
Bundle.main.path(forResource: "code", ofType: "json", inDirectory: "json")
просто возвращает nil.
Я также попытался поместить его в активы без подпапки и используя следующий способ
Bundle.main.path(forResource: "code", ofType: "json")
с тем же результатом.
Может кто-нибудь мне помочь? Что я делаю неправильно?
Вы имеете в виду myProject-> Build Phases-> Copy Bundle Resources? Нет, не было. Я просто попытался добавить его, щелкнув по +, затем «Добавить другое», перешел в папку с моими активами, а затем в файл добавил его с помощью «Копировать элементы, если необходимо», но я получил тот же результат.
Я бы рекомендовал вместо этого перетаскивать из навигатора проекта xcode. Также после сборки перейдите в папку сборки и проверьте, действительно ли файл json развернут в пакете приложений.





Из вашего вопроса ясно, что вы пытаетесь добавить файл code.json в Assets.xcassets и пытаетесь получить к нему доступ с помощью Bundle.main.path (forResource:), который всегда будет возвращать ноль, потому что Assets.xcassets присутствует в Bundle и тогда ваш файл существует в нем.
Попробуйте добавить файлы непосредственно в проект, как было предложено в предыдущем ответе, подход правильный, Bundle.main.path (forResource: "code", ofType: "json")
Содержит ли комплект
.appфайл, к которому вы хотите получить доступ? Является ли файл частью этапа сборкиCopy Files?