我正在尝试编写两个单独的可提交应用程序:一个用于iPad,另一个用于iPhone。这需要有两个单独的plist,以允许独立指定不同的应用程序图标,启动图像等。
当我尝试重命名我的Info.plist时,MonoDevelop会自动创建一个新的空Info.plist并使用它。出于同样的原因,我似乎无法将我的Info.plist移动到iPad /子文件夹,并让MD在那里接收它。
目前,我们在一个解决方案中有3个项目:iPad,iPhone,公共文件和库。
唯一的解决方案是在相应的子文件夹中包含单独的.sln文件,还是我还能以某种方式从一个.sln构建两个独立的应用程序?
编辑:项目结构如下,如果有助于可视化问题。
MyApp.sln MyApp-iPad.csproj MyApp-iPhone.csproj MyApp-Common.csproj Main.cs AppDelegate-iPad.cs AppDelegate-iPhone.cs Info.plist (MD currently uses this for both projects) Common/ iPad/ iPad/Info.plist (for -iPad.csproj) iPhone/ iPhone/Info.plist (for -iPhone.csproj)
答案 0 :(得分:8)
这是我当前和非常普通的解决方案:添加一个在Build
之前运行的自定义命令cp iPad/Info.plist Info.plist
对于iPhone:
cp iPhone/Info.plist Info.plist
答案 1 :(得分:1)
你需要制作2个项目,一个用于iPad,另一个用于iPhone。
您应该将所有代码文件从一个项目“链接”到另一个项目。您可以使用此路线拥有不同的Info.plist文件,图标,图像等。
以下是关于各种策略的链接:http://docs.xamarin.com/ios/Guides/Application_Fundamentals/Building_Cross_Platform_Applications/Sharing_Code_Options
答案 2 :(得分:1)
我有一个项目,我需要能够使用不同的图标和资源构建应用程序。
我使用不同的构建配置文件并构建脚本,将正确的文件复制到资源文件夹中。这也会更改应用程序名称和标识符。
这是与您类似的解决方案,但它允许您将不同的图像与您的应用程序捆绑在一起。