【问题标题】:Multiple Info.plist files in MonoTouch solutionMonoTouch 解决方案中的多个 Info.plist 文件
【发布时间】:2012-10-15 03:13:31
【问题描述】:

我正在尝试编写两个单独的可提交应用程序:一个用于 iPad,另一个用于 iPhone。这需要有两个单独的 plist 以允许独立指定不同的应用程序图标、启动图像等。

当我尝试重命名我的 Info.plist 时,MonoDevelop 会自动创建一个新的空 Info.plist 并改用它。出于同样的原因,我似乎无法将我的 Info.plist 移动到 iPad/ 子文件夹并让 MD 在那里取它。

目前我们在 1 个解决方案中有 3 个项目:iPad、iPhone、通用文件和库。

是在适当的子文件夹中拥有单独的 .sln 文件的唯一解决方案,还是我仍然可以以某种方式从一个 .sln 构建两个单独的应用程序?

编辑:如果这有助于可视化问题,则项目结构如下。

我的应用程序.sln MyApp-iPad.csproj MyApp-iPhone.csproj MyApp-Common.csproj 主文件 AppDelegate-iPad.cs AppDelegate-iPhone.cs Info.plist(MD 目前在两个项目中都使用它) 常见的/ 平板电脑/ iPad/Info.plist(用于 -iPad.csproj) 苹果手机/ iPhone/Info.plist(用于 -iPhone.csproj)

【问题讨论】:

    标签: ios xamarin.ios monodevelop info-plist


    【解决方案1】:

    这是我目前非常普通的解决方案:添加一个在构建之前运行的自定义命令

    cp iPad/Info.plist Info.plist
    

    对于 iPhone:

    cp iPhone/Info.plist Info.plist
    

    【讨论】:

      【解决方案2】:

      我有一个项目,我需要能够使用不同的图标和资源构建应用程序。

      我使用不同的构建配置文件和构建脚本,将正确的文件复制到资源文件夹中。这也会更改应用程序名称和标识符。

      这与您的解决方案类似,但它允许您根据需要将不同的图像与您的应用程序捆绑在一起。

      【讨论】:

      • 这在 Xamarin 中有效吗?当我修改捆绑包时,我弄乱了代码签名,因此应用程序仅在使用调试配置时运行。
      【解决方案3】:

      您需要制作 2 个项目,一个用于 iPad,一个用于 iPhone。

      您应该将所有代码文件从一个项目“链接”到另一个项目。你可以有不同的 Info.plist 文件、图标、图像等。

      这是一个讨论各种策略的链接:http://docs.xamarin.com/ios/Guides/Application_Fundamentals/Building_Cross_Platform_Applications/Sharing_Code_Options

      【讨论】:

      • +1 有用的链接,但我认为您的建议不适用于此项目结构。我们已经有一个包含通用文件的库项目;这只是在谈论 iPad 与 iPhone 的应用程序级 plist。看起来 MD 强制您使用与 .sln 相同级别的 Info.plist 文件。我们已经制定了 2 个项目,但您的意思是我需要制定 2 个解决方案
      • 创建 2 个应用程序级项目(无论您现有的结构是什么),YourAppiPhone 和 YourAppiPad。在 YourAppiPad 中链接来自 YourAppiPhone 的任何共享文件,例如 Main.csAppDelegate.cs。您不需要 2 个解决方案。
      • 我明白你在说什么,但我们已经这样做了,问题是 MD 仍然希望两个应用程序级项目都使用 Info.plist.sln 在同一文件夹中..
      • 它们应该在您的主 sln 的子目录中。您是否尝试将这两个 csproj 文件放在同一个目录中?如果今天有机会,我会在 Github 上举个例子。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-08-03
      • 2019-05-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多