2013-05-30 3 views
0

У кого-нибудь есть разумный, чистый метод для того, чтобы иметь одну копию папки с активами www для приложения с телефонными записями, но имеющего проект оболочки iOS и Android?Как организовать код для разработки многоплатформенных телефонных разговоров/кордоны

Я понимаю, что могу сделать какое-то безумие с символическими ссылками, однако он не решает замену cordova.js.

Я также понимаю, что я мог бы написать сценарий сборки до xcopy и еще чего-то, возможно, что мне нужно делать, но мне просто интересно, какие решения используют все остальные?

+0

У меня действительно нет обертки для проекта. Обычно я использую версию www-папки в Subversion. Тогда у меня есть папка внутри www с файлами, которые меняются в зависимости от того, что это iOS или Android, например, файлы конфигурации cordova.js или javascript. Но в стороне, что я действительно не делаю больше. – axierjhtjz

ответ

0

Edited обеспечить Cordova рекомендуемый подход:

Как Кордова 3.X, этот рабочий процесс поддерживается с новым CLI tools. Это позволяет создать проект Кордова, редактировать ресурсы приложений в одном /www/ папки и использовать инструменты командной строки для изменения от распространения информации о прикладном уровне /www/ в отдельные места активов для конкретных платформ Я говорил об этом в этом ответе (как res/www/ для Android или /www/ для прошивки.): Should a phonegap plugin be declared in the config.xml file?

Мой старый ответ, по-прежнему актуальный:

IBM Worklight предоставляет эту функциональность. Вы создаете код приложения в папке /common/, тогда вы можете разместить код устройства (если нужно) в соответствующих /Android/, /iPhone/ и т. Д. Папках. Вы можете скачать Developer Edition бесплатно: http://www-03.ibm.com/software/products/us/en/worklight/

Я уверен, что есть другие продукты, такие как IBM Worklight. Я знаю, что в списке рассылки Cordova есть некоторые разработчики NetBeans. Я уверен, что есть другие потребительские продукты (если вы найдете их, отредактируйте этот ответ и перечислите их!)

+0

интересно, но не PhoneGap –

+0

На самом деле, Worklight построен на вершине Кордовы. Кордова == PhoneGap. Worklight предоставляет много дополнительных функций, которые вам, вероятно, не нужны или не нужны, но по своей сути это похоже на использование Eclipse для создания приложений PhoneGap. У вас есть доступ к тем же API и всем остальным. Единственный реальный недостаток, который я вижу для вас, заключается в том, что замена версий Кордовы, похоже, не поддерживается, но я уверен, что вы могли бы взломать это. – MBillau

+0

Извините, но рабочий свет определенно не телефонная. Во-первых, он даже не свободен. Два, телефонная занавеска - это только один кирпич в стене, который является прожектором. Overkill для тех, кто просто хочет организовать простое приложение для телефонных разговоров. – BinaryTox1n

0

У меня была общая папка «PhoneGap» и VS-решение, а затем в подкаталогах «iOS» и «Android», , отдельную базу кода для каждой платформы со всеми соответствующими рабочими пространствами Xcode и Eclipse. Это было связано с любыми настройками, специфичными для устройства, или тестирование через эмуляторы.

Пока, прямолинейно.

Я думаю, что я решил против символических ссылок из-за проблем с OS X? Не могу вспомнить.

В то время я использовал TFS, поэтому я написал консольное приложение, которое в ходе выполнения реплицирует ваши ожидающие изменения в TFS в любые подкаталоги, которые вы настроили. Это означало бы, что все 3 кодовые базы будут обновляться вместе. Я решил не автоматизировать этот шаг и позволить пользователю управлять, если их изменения реплицируются, запустив консольное приложение. Приложение могло добавлять, редактировать или удалять существующие файлы там, где это необходимо, и у меня также был «черный список» файлов для игнорирования, который включал cordova.js.

Это не займет слишком много времени, чтобы постучать вверх на всех, в документации MSDN разумно: http://msdn.microsoft.com/en-us/library/bb138973.aspx http://msdn.microsoft.com/en-us/library/microsoft.teamfoundation.versioncontrol.client.workspace.pendadd.aspx

Вот отрывок:

var teamProjectCollection = TfsTeamProjectCollectionFactory.GetTeamProjectCollection(new Uri("http://dev:8080/tfs/MyCollection")); 
versionControlServer = teamProjectCollection.GetService(typeof(VersionControlServer)) as VersionControlServer; 
var pendingSets = versionControlServer.QueryPendingSets(new string[] { "$/" }, RecursionType.Full, workspaceInfo.Name, workspaceInfo.OwnerName); 

if (pendingSets.Length > 0) 
{ 
    var allPendingChanges = pendingSets[0].PendingChanges; 
} 

... 

Это пространство имен:

using Microsoft.TeamFoundation.Client; 
using Microsoft.TeamFoundation.VersionControl.Client; 
Смежные вопросы