XCode, фреймворки, отправка приложений и SwiftFolder

Я создал приложение Swift. Я добавил все библиотеки в Project -> Target -> Link binary with Libraries. Я также добавил в проект внешние фреймворки, такие как Parse.

Затем я выбрал все фреймворки в рамках проекта и создал групповую папку под названием Frameworks.

Я наблюдал/записал три проблемы:

  1. Когда я запускаю ls -l в оболочке, папки Frameworks на самом деле нет.

  2. В проекте указаны только такие фреймворки, как Parse & Bolts. Другие фреймворки (например, QuartsCore, CoreGraphics и т. д.) нигде не указаны с командой ls -l

  3. Если я попытаюсь заархивировать проект, поскольку папки Frameworks нет «там» в том, что касается xcode, SwiftFolder не создается (что приведет к отклонению приложения)

Конечно, это должен быть прямой процесс. Что мне не хватает?

Заранее извиняюсь за то, что мой код работает, но я не могу решить такую ​​простую задачу!


person zevij    schedule 07.10.2015    source источник


Ответы (2)


1: группа в Xcode не является папкой файловой системы, это конструкция, специфичная для Xcode в приложении. Вы можете добавить папки файловой системы в Xcode, но они отличаются от групп.

2: фреймворки iOS не будут видны в папке вашего проекта, так как их местоположением управляет Xcode. Они добавляются/связываются с вашим пакетом приложений во время компиляции.

3: Ваше приложение не проходит проверку/отклоняется? Похоже, это может быть отдельная проблема, все остальное, что вы видите, звучит нормально.

person rudd    schedule 07.10.2015
comment
Приложение было отклонено из-за «отсутствующей папки SwiftFolder». Я искал Stackoverflow и гуглил тему. Лучшая ссылка, которую я нашел, была: stackoverflow.com/questions/26163856/. Я пробовал почти все по этой ссылке с небольшой удачей. В итоге я скачал ipa-packager с github (github.com/bq/ipa-packager) . Теперь мой архив генерирует папку Payload. Однако SwiftFolder по-прежнему отсутствует. Я не знаю, что делать дальше. - person zevij; 07.10.2015
comment
@goggelj Вы используете Cocoapods? - person rudd; 07.10.2015
comment
Свифт проект. Не использую CocoaPods. Вот список фреймворков, которые я добавлял (вручную, согласен не самый лучший) в проект: У меня есть следующие библиотеки: libsqlite3.tbd, libz.tbd, SystemConfiguration.framework, StoreKit.framework, Security.framework, CoreLocation.framework , QuartzCore.framework, CoreGraphics.framework, CFNetwork.framework, AudioToolbox.framework, Parse.framework, ParseCrashReproting.framework, Bolts.framework, ParseUI.framework, ParseFacebookUtils.framework, ParseTwitterUtils.framework, ParseFacebookUtils.framework (Parse берется из Parse 1.8.5 скачать). - person zevij; 07.10.2015

Сработало только одно - Шэньчжэнь (не удалось с первой попытки из-за нехватки места). Вот что вам нужно сделать:

Перейдите на Shenzhen на github, загрузите, запустите и отправьте Apple счет ;)

Если вам интересно, прежде чем я снова попробовал Шэньчжэнь, я на самом деле попробовал следующее:

  1. Создал приложение Swift Single View «Hello World» в xcode. Добавлены все библиотеки и использовано средство архивирования xcode, чтобы проверить, генерирует ли он Payload и SwiftFolder. На обоих не получилось.

  2. Я скачал xcode 7.1 (бета) и попробовал еще раз. На этот раз я получил папку Payload, но не повезло со SwiftFolder. Так что не тратьте время на xcode 7.1 для этого.

  3. Позвонил в службу поддержки разработчиков Apple (и да, вам, скорее всего, выставят счет за это) — перевели между тремя колл-центрами (английская орфография — извините) и, наконец, представили проблему.

person zevij    schedule 07.10.2015