Несколько файлов Info.plist в решении MonoTouch
Я пытаюсь написать два отдельных приложения для отправки: одно для iPad, а другое для iPhone. Это требует наличия двух отдельных списков, позволяющих независимо указывать различные значки приложений, изображения для запуска и т. Д.
Когда я пытаюсь переименовать свой Info.plist, MonoDevelop автоматически создает новый пустой Info.plist и использует его вместо этого. К тому же, я не могу переместить свой Info.plist в iPad/ подпапку и заставить MD забрать его там.
В настоящее время у нас есть 3 проекта в одном решении: iPad, iPhone, общие файлы и библиотеки.
Является ли единственным решением иметь отдельные файлы.sln в соответствующих подпапках, или я все же могу каким-то образом создать два отдельных приложения из одного.sln?
РЕДАКТИРОВАТЬ: Структура проекта ниже, если это помогает визуализировать проблему.
MyApp.sln MyApp-iPad.csproj MyApp-iPhone.csproj MyApp-Common.csproj Main.cs AppDelegate-iPad.cs AppDelegate-iPhone.cs Info.plist (MD в настоящее время использует это для обоих проектов) Общие / IPad/ iPad/Info.plist (для -iPad.csproj) iPhone/ iPhone/Info.plist (для -iPhone.csproj)
3 ответа
Вот мое текущее и очень обычное решение: добавить пользовательскую команду, которая запускается перед сборкой
cp iPad/Info.plist Info.plist
И для iPhone:
cp iPhone/Info.plist Info.plist
У меня есть проект, в котором я должен иметь возможность создавать приложения с различными значками и ресурсами.
Я использую разные профили сборки и сценарии сборки, которые копируют нужные файлы в папку ресурсов. Это также меняет имя приложения и идентификатор.
Это аналогичное вашему решению, но оно позволит вам связывать различные изображения с вашим приложением, как вы хотели.
Вам нужно сделать 2 проекта, один для iPad и один для iPhone.
Вы должны "связать" все файлы кода из одного проекта в другой. С этим маршрутом вы можете иметь различные файлы Info.plist, значки, изображения и т. Д.
Вот ссылка, рассказывающая о различных стратегиях: http://docs.xamarin.com/ios/Guides/Application_Fundamentals/Building_Cross_Platform_Applications/Sharing_Code_Options