Добавление символической ссылки в комплект приложений
Apple указывает на UILocalNotification
Ссылка класса, что аудиофайл должен быть из комплекта приложения. Тем не менее, некоторые умники нашли способ обойти это ограничение, используя:
// this works by going up the bundle dir, then pointing to the Documents dir
localNotif.soundName = @"../Documents/blabla.caf";
Этот обходной путь хорошо работал с iOS 5, однако он сломался в iOS 6. В отчаянной попытке попытаться найти новый обходной путь, я создал псевдоним (Symbolic Link), который называется blabla.caf
это указывает на ../Documents/blabla.caf
и поместил его в пакет приложений. Это где я застрял.
Теперь я получаю PBXCp error
и XCode не может завершить развертывание приложения на устройстве, потому что, по-видимому
ошибка: /Users/stuff/moreStuff/appName/../Documents/blabla.caf: такого файла или каталога нет
Мой вопрос:
- Можно ли как-нибудь добавить фиктивный файл (0 КБ) в
Documents
каталог просто закрыть Xcode? - Могу ли я как-то заставить XCode просто переопределить эту ошибку и
продолжитьразвертывание приложения?
2 ответа
Если вы разместите символическую ссылку на ../../Documents/blabla.caf
внутри папки, а затем добавьте папку в проект (убедившись, что вы установили "Создать ссылки на папки..." при импорте вместо "Создать группы..."), тогда Xcode не будет пытаться разрешить ссылку во время процесс сборки.
Я проверил, что сама ссылка отлично работает в приложении, хотя я не уверен, что UILocalNotification примет folder/blabla.caf
в свойстве soundName.
Несмотря на то, что в iOS 7.1 работает символическая ссылка из пакета в каталог документов, этот обходной путь становится бесполезным, если вы собираетесь поместить приложение в AppStore. С марта 2014 года приложения с такими символическими ссылками не будут проходить обзор.
После того, как я загрузил приложение с такой ссылкой в комплекте к iTunes, я получаю Invalid binary
статус сразу. Со следующей почтой из iTunes Store:
Уважаемый разработчик,
Мы обнаружили одну или несколько проблем с вашей недавней доставкой "X". Для обработки вашей доставки необходимо исправить следующие проблемы:
Invalid Symlink - Ваш пакет содержит символическую ссылку "Внешние / Документы", которая преобразуется в местоположение "Внешние /../../ Документы", которое не существует или находится за пределами пакета.
...
С Уважением,
Команда App Store