xamarin-macios/tests/xharness/iOSTarget.cs

39 строки
1.2 KiB
C#

using System.IO;
using System.Xml;
using Xamarin;
namespace xharness
{
// iOS here means Xamarin.iOS, not iOS as opposed to tvOS/watchOS.
public class iOSTarget : Target
{
public iOSTestProject TestProject;
public MonoNativeInfo MonoNativeInfo => TestProject.MonoNativeInfo;
protected override void PostProcessExecutableProject ()
{
base.PostProcessExecutableProject ();
inputProject.FixArchitectures (SimulatorArchitectures, DeviceArchitectures);
inputProject.FixInfoPListInclude (Suffix);
inputProject.SetExtraLinkerDefs ("extra-linker-defs" + ExtraLinkerDefsSuffix + ".xml");
ProjectGuid = inputProject.GetProjectGuid ();
}
protected override void UpdateInfoPList ()
{
XmlDocument info_plist = new XmlDocument ();
var target_info_plist = Path.Combine (TargetDirectory, "Info" + Suffix + ".plist");
info_plist.LoadWithoutNetworkAccess (Path.Combine (TargetDirectory, "Info.plist"));
BundleIdentifier = info_plist.GetCFBundleIdentifier ();
info_plist.SetMinimumOSVersion (GetMinimumOSVersion (info_plist.GetMinimumOSVersion ()));
info_plist.SetUIDeviceFamily (UIDeviceFamily);
Harness.Save (info_plist, target_info_plist);
}
}
}