3

我正在尝试编写两个单独的可提交应用程序:一个用于 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)
4

3 回答 3

8

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

cp iPad/Info.plist Info.plist

对于 iPhone:

cp iPhone/Info.plist Info.plist
于 2012-10-25T06:02:34.780 回答
1

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

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

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

于 2012-10-25T07:48:43.027 回答
0

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

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

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

于 2012-10-25T03:42:48.017 回答