2016-08-16 2 views
0

Можно ли загрузить и использовать пакет из приложения iOS?Можем ли мы загрузить внешний пакет из приложения iOS?

Я хочу знать, как я буду загружать и использовать файлы, которые недоступны во время разработки. Я попытался создать проект типа расслоения и загрузки его в определенном месте, но он не открывается ...

var bundle = Bundle(path: "/Library/Caches/NewAssets.bundle") 

Этот код всегда приводит к нулевой связке. Путь жестко закодирован здесь только для проверки нагрузки. Я пробовал полный путь, а также путь, который вы видите здесь. Файл FileManager.default.fileExists (atPath :) возвращает true (используя полный путь). Я просматриваю столько ресурсов, сколько могу найти, но все они в конечном итоге приводят к отбрасыванию пакета в вашем проекте, чего я не могу сделать, потому что они недоступны во время разработки. Я думаю, что я могу преследовать призрак, потому что я не могу найти ничего, что говорит о связях с iOS. Я могу загрузить свой основной пакет и пакет из фреймворка, но не внешнего. Если это так, то как мы будем загружать ресурсы во время выполнения? (У нас уже есть решение для загрузки активов из ICloud, но клиент хочет, чтобы увидеть, если это быстрее и может обеспечить более UX)

ТИА, Майк

+0

О каких активах/файлах мы говорим? Apple не разрешит загружать исполняемый код. Если это изображения и такие, вы можете загрузить их в папку «Документы» или папку tmp. – onnoweb

+0

Просто JSON и изображения. Кроме того, Info.plist является стандартной частью всех пакетов. Я могу загрузить файл и перенести его из временного местоположения в общую папку, которая является папкой/Library/Caches/folder, относящейся к приложению и общей. Я уже использовал это местоположение для файлов в предыдущей версии. FileManager говорит, что он есть, но я не могу создать пакет из пути. – Mikey

+0

Почему, по-вашему, вам нужен комплект? – onnoweb

ответ

0

Как выясняется, есть две проблемы. Внутри пакета был «Thumbs.db», который искатель показывает как файл exec. Это может быть интерпретировано как код, чтобы предотвратить загрузку пакета. Другая проблема заключалась в том, что весь пакет не загружался. Я завернул пакет в zip, затем (после загрузки) распаковал файл, в котором он должен был жить, и подал его в код пакета, который у меня был, и все в порядке.

Mike

Смежные вопросы