Совместная работа над игрой для iOS с художником, живущим где-то еще, / изменение файлов в приложении для iOS без перестройки - PullRequest
9 голосов
/ 18 февраля 2011

бывший сотрудник (художник) и я (программист) в настоящее время вместе разрабатываем небольшую игру в наше свободное время. Поскольку он совсем не интересуется изучением использования XCode, за исключением создания собственных сборок (я не виню его, он отличный художник, но мало разбирающийся в технических вещах), так мы работали пока что:

  • У нас есть общая папка, в которой хранятся все игровые изображения
  • После внесения достаточных или важных изменений я создаю сборку (раздача ad hoc) и отправляю ее ему
  • Время от времени мы встречаемся и работаем вместе пару часов, возможно, раз в неделю, так как мы живем в разных городах

Это было нормально большую часть времени. Однако сейчас мы заняты настройкой контента и игровой механики. На этой стадии разработки наш рабочий процесс просто медленный и «отключен». Всякий раз, когда он работает над художественным произведением, ему придется подождать, пока я сделаю сборку, чтобы увидеть изменения, отраженные в реальном контексте. Поскольку мы не всегда работаем в одно и то же время, иногда это означает, что ему придется ждать несколько дней - совсем не удовлетворяя.

Итак, что я хотел бы знать ..: Каков наилучший способ, позволяющий ему изменять контент без необходимости перестраивать игру?

Я знаю, что содержимое пакета приложения для iOS нельзя изменить после компиляции. Итак, вот о чем я думал до сих пор:

  • переместить содержимое в папку документов во время разработки, чтобы к нему можно было получить доступ через iTunes (обработка, вероятно, неловкая в свете количества файлов)
  • включает Dropbox в игру, чтобы контент мог быть загружен прямо из нашей общей папки (для этого требовалась дополнительная работа, Dropbox ограничен 5000 API-вызовами в день, когда он не находится в рабочем состоянии)
  • загрузка контента с веб-сервера (даже более сложная по сравнению с использованием Dropbox)

Что вы, ребята, думаете? Есть ли лучшие и более удобные способы для достижения гладкого сотрудничества в нашем случае? Я что-то упустил?

Большое спасибо !!

Edit: На данный момент у меня нет никаких планов учить моего художника, как делать свои собственные сборки. Вы можете серьезно рассматривать это как вариант, только если вы не знаете его лично. Хотя он великий художник.

Итак, этот вопрос сводится к:

Как изменить файлы / получить новые файлы в приложении для iPhone после его создания - настолько просто, насколько это возможно, и опять же, без перестройки приложения?

Кстати, это должно работать только во время разработки, поэтому грязные подходы приветствуются.

Ответы [ 6 ]

10 голосов
/ 25 февраля 2011

В некоторых видеороликах WWDC 2010 Apple обсуждает это. Они советуют загружать изображения из Интернета и программно применять их к элементам UIKit или контекстам OpenGL.

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

Я предлагаю хорошую библиотеку HTTP, такую ​​как ASIHTTPRequest , чтобы упростить эти запросы.

2 голосов
/ 21 февраля 2011

Перейти с опцией веб-сервера / Dropbox.Вы могли бы сделать это, создав подкласс или расширив UIImage и используя подкласс во всем приложении.

1 голос
/ 24 февраля 2011

Сделайте джейлбрейк вашего iPhone, затем вы можете подключиться к устройству с помощью Cyberduck.Таким образом, вы можете перейти в папку «Ресурсы» приложения (или) в папку «Документы» приложения и изменить файлы по своему усмотрению.

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

0 голосов
/ 28 февраля 2011

Вы также можете сделать что-то вроде этого:

  • измените приложение, чтобы при первом запуске оно копировало изображения в папку документов
  • загружать изображения из папки doc, а не из пакета
  • с помощью такого инструмента, как iPhone Explorer, вы можете перезаписать файлы в папке с документами

Немного скучно искать настоящее приложение в списке, который вам предлагает iPhone explorer, но тогда нужно просто перетащить файлы в нужную папку.

Может также работать с некоторым файлом в комплекте .app, но я не нашел подходящего приложения, чтобы попробовать его оттуда. В любом случае, если вы хотите, чтобы ваш артист был почти беспрепятственным, вы все же можете поместить все в подпапку «Документы»:)


EDIT

Я только что попытался отредактировать что-то в папке .app, и все заработало, поэтому вам даже не придется менять код, если вы используете iPhone Explorer для замены изображений.

Просто не забудьте отключить оптимизацию PNG, если вы используете PNG. Смотрите здесь для объяснения (поиск "PNGs:")

удачи :) 1024 *

0 голосов
/ 18 февраля 2011

Я бы сказал, что ваш первый вариант, вероятно, лучший. Вы заявляете о проблеме с передачей большого количества файлов через iTunes. Чтобы это исправить я бы к следующему:

Создание приложения для создания «пакетных» файлов. Он может взять папку с данными и сохранить ее в одном файле в следующем формате:

int - length of name string
char[] - filename  
int - length of data chunk
char[] - data chunk

Сделайте это для каждого файла в папке, и у вас останется один файл изображения. Скопируйте это через iTunes, и ваша игра взглянет на эту же папку.

Итак, теперь его рабочий процесс выглядит следующим образом: 1) редактировать рисунок 2) запустить компилятор ресурсов 3) скопировать файл ресурсов на устройство 4) загрузить игру

Надеюсь, это поможет.

0 голосов
/ 18 февраля 2011

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

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

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