Ответ 1
Мое первое предложение - изменить свойство BuildAction
ваших изображений на BundleResource
.
Как только вы это сделаете, существует несколько способов достижения вашей цели:
Первый вариант - указать LogicalName
как то, что вы хотите, чтобы имя было внутри скомпилированного набора приложений. В настоящее время нет способа установить Resource ID
(имя пользовательского интерфейса для свойства LogicalName) для чего-либо иного, кроме EmbeddedResource
файлов (я буду исправлять это мгновенно), но вы можете редактировать *.csproj так:
<BundleResource Include="Icons\icon.png">
<LogicalName>icon.png</LogicalName>
</BundleResource>
Обычно этот файл Icons\icon.png
будет скопирован в пакет приложений iOS как Icons/icon.png
, однако свойство LogicalName переопределяет относительное имя пути. В этом случае он будет скопирован как просто icon.png
.
В качестве другого примера вы также можете сделать это:
<BundleResource Include="Icons\iOS\icon.png">
<LogicalName>AppIcon.png</LogicalName>
</BundleResource>
Это скопирует файл Icons\iOS\icon.png
в корень пакета приложений iOS, а также переименует его в AppIcon.png
.
Второй вариант - просто переместить файлы изображений в папку Resources
. Папка "Ресурсы" представляет собой специальный каталог, который удаляется из имен путей по умолчанию при копировании в пакет приложений iOS. Другими словами, Resources\icon.png
будет скопирован в корень пакета приложений iOS как icon.png
, а не Resources\icon.png
, как в случае с нормальными проектными каталогами.
Третий вариант - просто зарегистрировать другие собственные каталоги ресурсов (и они могут существовать в других каталогах, включая каталог ресурсов по умолчанию).
Например, у вас может быть структура в вашем проекте:
Resources/
Icons/
icon.png
[email protected]
И в вашем файле *.csproj отредактируйте следующий тег:
<IPhoneResourcePrefix>Resources</IPhoneResourcePrefix>
и замените его на:
<IPhoneResourcePrefix>Resources;Resources\Icons</IPhoneResourcePrefix>
Это гарантирует, что файлы icon.png и [email protected] установлены в корневом каталоге приложения iOS.