Xamarin – 在某些构buildconfiguration中包含设置包
我目前正在使用Xamarin构build一个iOS应用程序,并正在实施一个设置包,以便我们的QA部门可以将应用程序指向适当的API环境。
我所看到的是根据构buildconfiguration在Xamarin iOS应用程序中包含或排除Settings包,因为我可能不想在Release模式下将此数据公开给用户。
您是否可以包含或排除Settings包,甚至可以根据构buildconfiguration更改编译到应用程序中的包?
(我被这么多次问过:-),我想我会扩大我原来的答案。)
所以作为一个例子,在Debug
模式下,我想包含一个由Root.plist
和一个子菜单Extra.plist
组成的Extra.plist
。
在Release
模式下,我想在应用程序的Setting.bundle
包含一个完全不同的Root.plist
并且没有 Setting.bundle
我的.csproj
文件将如下所示:
<ItemGroup Condition="'$(Configuration)'!='Debug'"> <BundleResource Include="Settings.bundle\Root.plist" > </BundleResource> </ItemGroup> <ItemGroup Condition="'$(Configuration)'=='Debug'"> <BundleResource Include="Settings.debug\Extra.plist" > <Link>Settings.bundle\Extra.plist</Link> </BundleResource> <BundleResource Include="Settings.debug\Root.plist" > <Link>Settings.bundle\Root.plist</Link> </BundleResource> </ItemGroup>
注意:
如下所示,在Debug
Xamarin是包括额外的菜单项到我的Root.plist和Release
他们不是。 另外,我的“ Additional Settings
子菜单不再可用,现在标有“ XXXX Release
debugging模式结果:
发布模式结果:
除了条件包括不同的设置包,您可能还需要有条件地阅读您的应用程序中的设置。 您可以使用条件编译从设置读取或使用硬编码的值:
#if DEBUG //Read from settings #else //Use other values. #endif