Есть ли способ загрузить целевой скрипт c во время выполнения и запустить его для классов / методов / объектов / функций в текущем приложении для iPhone?
ОСНОВНОЕ ПРИМЕЧАНИЕ: Основная причина, по которой я хотел бы это сделать, - позволить мне быстро создать прототип приложения, а затем, после того как я закончу основную фазу прототипирования, взять скрипты, которые я писал, и компилировали их во время сборки. Я никогда не планирую поставлять приложение с объективным интерпретатором c.
Причина, по которой я спрашиваю, заключается в том, что я играл с iPhone wax , интерпретатором lua, который можно встроить в приложение для iPhone, и он работает очень хорошо, в том смысле, что любой объект / метод / функция, которые публично доступны в вашем коде Objective C, автоматически соединяются и доступны в lua.
Это позволяет вам быстро создавать прототипы приложений, просто превращая ядро вашего приложения в файлы lua, которые находятся в каталоге документов пользователя. Просто перезагрузите приложение, и вы сможете проверить изменения в ваших файлах lua без необходимости перестраивать приложение в XCode - это значительно сэкономит время!
Но, учитывая недавние SDK от Apple, 3.1.3, я подумал, что самый безопасный подход для выполнения этого типа быстрого прототипирования был бы, если бы вы могли использовать Objective C в качестве интерпретируемого кода ... Таким образом, сценарий наихудшего случая вместо этого вы можете просто скомпилировать его в свое приложение перед выпуском. Я слышал, что исходный код lua можно скомпилировать в байт-код и связать во время сборки, но я думаю, что в конечном итоге безопаснее всего было бы, если бы исходный текст был в цели c, а не в lua. Таким образом, ваш источник всегда находится в цели c, независимо от того.
Это заставляет меня задуматься (я искал, но ничего не нашел), есть ли примеры того, как встроить Objective C Interpreter в приложение для iPhone? Это позволило бы вам быстро создать прототип вашего приложения в соответствии с текущими классами, встроенными в ваш двоичный файл, и, когда вы собираетесь развернуть приложение, вместо того, чтобы запускать классы через интерпретатор in app, вы вместо этого скомпилируете их.
С iPad и OS 4 bluetooth и виртуальные клавиатуры могут работать с iPhone и iPad ... Это сделает быстрое создание прототипов гораздо более полезным, по крайней мере, для разработки. Если у вас есть встроенный в ваше приложение переводчик, например, на вашем iPad, вы можете кодировать его, находясь в дороге, без XCode. И для меня самый полезный способ вернуть исходный код в «одобренное яблоком» состояние было бы, если бы сценарии были Objective C.