Xamarin - 在某些构建配置中包含设置包

Phi*_*ray 4 xamarin.ios ios settings.bundle xamarin

我目前正在使用Xamarin构建一个iOS应用程序,并且正在寻求实现一个设置包,以便我们的QA部门可以将应用程序指向适当的API环境.

我正在做的是基于构建配置在Xamarin iOS应用程序中包含或排除Settings包,因为我可能不希望在Release模式下将此数据公开给用户.

您是否可以包含或排除"设置"捆绑包,甚至可以根据构建配置更改编译到应用程序中的捆绑包?

Sus*_*ver 8

(我多次问过这个问题:-),我想我会扩展原来的答案.)

举个例子,在Debug模式中,我想要包含一个Setting.bundleRoot.plist子菜单组成的子菜单Extra.plist.

Release模式,我想包括一个完全不同的Root.plist,并没有 Extra.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>
Run Code Online (Sandbox Code Playgroud)

注意:

如下所示,DebugXamarin在我的Root.plist中包含了额外的菜单项,而在Release它们中则没有.此外,我的Additional Settings子菜单已不再可用,现在标有XXXX Release

调试模式结果:

在此输入图像描述

在此输入图像描述

发布模式结果:

在此输入图像描述