[msbuild/tests] Add TVServicesExtension test (#21)
* [msbuild/tests] Remove car idiom from Contents.json The car idiom is something new projects used to generate and that actool doesn't handle anymore. Logs were polluted by a warning: "The app icon set 'AppIcons' has an unassigned child". * [msbuild/tests] Add tvOS extension test We now have MyTVServicesExtension project which comes from a simple tvOS extension template. It is attached to MyTVApp. The TVApp test has been updated to also build the extension. * [msbuild/tests] Fix Action Extension version number The action extension project now has a version number that is matching the parent app. Avoids warning message.
This commit is contained in:
Родитель
d8ace2658e
Коммит
0970fce6ed
|
@ -19,7 +19,7 @@
|
||||||
<key>CFBundleSignature</key>
|
<key>CFBundleSignature</key>
|
||||||
<string>????</string>
|
<string>????</string>
|
||||||
<key>CFBundleVersion</key>
|
<key>CFBundleVersion</key>
|
||||||
<string>1</string>
|
<string>1.0</string>
|
||||||
<key>NSExtension</key>
|
<key>NSExtension</key>
|
||||||
<dict>
|
<dict>
|
||||||
<key>NSExtensionAttributes</key>
|
<key>NSExtensionAttributes</key>
|
||||||
|
|
|
@ -94,15 +94,10 @@
|
||||||
"size": "76x76",
|
"size": "76x76",
|
||||||
"scale": "2x",
|
"scale": "2x",
|
||||||
"idiom": "ipad"
|
"idiom": "ipad"
|
||||||
},
|
|
||||||
{
|
|
||||||
"size": "120x120",
|
|
||||||
"scale": "1x",
|
|
||||||
"idiom": "car"
|
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"info": {
|
"info": {
|
||||||
"version": 1,
|
"version": 1,
|
||||||
"author": "xcode"
|
"author": "xcode"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -94,15 +94,10 @@
|
||||||
"size": "76x76",
|
"size": "76x76",
|
||||||
"scale": "2x",
|
"scale": "2x",
|
||||||
"idiom": "ipad"
|
"idiom": "ipad"
|
||||||
},
|
|
||||||
{
|
|
||||||
"size": "120x120",
|
|
||||||
"scale": "1x",
|
|
||||||
"idiom": "car"
|
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"info": {
|
"info": {
|
||||||
"version": 1,
|
"version": 1,
|
||||||
"author": "xcode"
|
"author": "xcode"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -94,15 +94,10 @@
|
||||||
"size": "76x76",
|
"size": "76x76",
|
||||||
"scale": "2x",
|
"scale": "2x",
|
||||||
"idiom": "ipad"
|
"idiom": "ipad"
|
||||||
},
|
|
||||||
{
|
|
||||||
"size": "120x120",
|
|
||||||
"scale": "1x",
|
|
||||||
"idiom": "car"
|
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"info": {
|
"info": {
|
||||||
"version": 1,
|
"version": 1,
|
||||||
"author": "xcode"
|
"author": "xcode"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -83,6 +83,13 @@
|
||||||
<DependentUpon>MySingleViewViewController.cs</DependentUpon>
|
<DependentUpon>MySingleViewViewController.cs</DependentUpon>
|
||||||
</Compile>
|
</Compile>
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<ProjectReference Include="..\MyTVServicesExtension\MyTVServicesExtension.csproj">
|
||||||
|
<IsAppExtension>true</IsAppExtension>
|
||||||
|
<Project>{0F124570-8B79-4593-B618-A90E51F339DF}</Project>
|
||||||
|
<Name>MyTVServicesExtension</Name>
|
||||||
|
</ProjectReference>
|
||||||
|
</ItemGroup>
|
||||||
<Import Project="$(MSBuildExtensionsPath)\Xamarin\TVOS\Xamarin.TVOS.CSharp.targets" />
|
<Import Project="$(MSBuildExtensionsPath)\Xamarin\TVOS\Xamarin.TVOS.CSharp.targets" />
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<InterfaceDefinition Include="MainStoryboard.storyboard" />
|
<InterfaceDefinition Include="MainStoryboard.storyboard" />
|
||||||
|
|
|
@ -0,0 +1,6 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8" ?>
|
||||||
|
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||||
|
<plist version="1.0">
|
||||||
|
<dict>
|
||||||
|
</dict>
|
||||||
|
</plist>
|
|
@ -0,0 +1,42 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||||
|
<plist version="1.0">
|
||||||
|
<dict>
|
||||||
|
<key>CFBundleDisplayName</key>
|
||||||
|
<string>MyTVServicesExtension</string>
|
||||||
|
<key>CFBundleName</key>
|
||||||
|
<string>MyTVServicesExtension</string>
|
||||||
|
<key>CFBundleIdentifier</key>
|
||||||
|
<string>com.xamarin.mytvapp.mytvservicesextension</string>
|
||||||
|
<key>CFBundleDevelopmentRegion</key>
|
||||||
|
<string>en</string>
|
||||||
|
<key>CFBundleInfoDictionaryVersion</key>
|
||||||
|
<string>6.0</string>
|
||||||
|
<key>CFBundlePackageType</key>
|
||||||
|
<string>XPC!</string>
|
||||||
|
<key>CFBundleShortVersionString</key>
|
||||||
|
<string>1.0</string>
|
||||||
|
<key>CFBundleVersion</key>
|
||||||
|
<string>1.0</string>
|
||||||
|
<key>MinimumOSVersion</key>
|
||||||
|
<string>9.2</string>
|
||||||
|
<key>NSExtension</key>
|
||||||
|
<dict>
|
||||||
|
<key>NSExtensionAttributes</key>
|
||||||
|
<dict>
|
||||||
|
<key>TVExtensionProtocols</key>
|
||||||
|
<array>
|
||||||
|
<string>TVTopShelfProvider</string>
|
||||||
|
</array>
|
||||||
|
</dict>
|
||||||
|
<key>NSExtensionPointIdentifier</key>
|
||||||
|
<string>com.apple.tv-services</string>
|
||||||
|
<key>NSExtensionPrincipalClass</key>
|
||||||
|
<string>ServiceProvider</string>
|
||||||
|
</dict>
|
||||||
|
<key>UIRequiredDeviceCapabilities</key>
|
||||||
|
<array>
|
||||||
|
<string>arm64</string>
|
||||||
|
</array>
|
||||||
|
</dict>
|
||||||
|
</plist>
|
|
@ -0,0 +1,99 @@
|
||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||||
|
<PropertyGroup>
|
||||||
|
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
|
||||||
|
<Platform Condition=" '$(Platform)' == '' ">iPhoneSimulator</Platform>
|
||||||
|
<ProjectGuid>{0F124570-8B79-4593-B618-A90E51F339DF}</ProjectGuid>
|
||||||
|
<ProjectTypeGuids>{53F59511-8024-45F7-9A2A-2739F70C7A80};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
|
||||||
|
<OutputType>Library</OutputType>
|
||||||
|
<RootNamespace>MyTVServicesExtension</RootNamespace>
|
||||||
|
<AssemblyName>MyTVServicesExtension</AssemblyName>
|
||||||
|
<IPhoneResourcePrefix>Resources</IPhoneResourcePrefix>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|iPhoneSimulator' ">
|
||||||
|
<DebugSymbols>true</DebugSymbols>
|
||||||
|
<DebugType>full</DebugType>
|
||||||
|
<Optimize>false</Optimize>
|
||||||
|
<OutputPath>bin\iPhoneSimulator\Debug</OutputPath>
|
||||||
|
<DefineConstants>DEBUG;</DefineConstants>
|
||||||
|
<ErrorReport>prompt</ErrorReport>
|
||||||
|
<WarningLevel>4</WarningLevel>
|
||||||
|
<ConsolePause>false</ConsolePause>
|
||||||
|
<CodesignKey>iPhone Developer</CodesignKey>
|
||||||
|
<MtouchDebug>true</MtouchDebug>
|
||||||
|
<MtouchFastDev>true</MtouchFastDev>
|
||||||
|
<MtouchProfiling>true</MtouchProfiling>
|
||||||
|
<MtouchUseSGen>true</MtouchUseSGen>
|
||||||
|
<MtouchUseRefCounting>true</MtouchUseRefCounting>
|
||||||
|
<MtouchLink>None</MtouchLink>
|
||||||
|
<MtouchArch>x86_64</MtouchArch>
|
||||||
|
<DeviceSpecificBuild>false</DeviceSpecificBuild>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|iPhone' ">
|
||||||
|
<Optimize>true</Optimize>
|
||||||
|
<OutputPath>bin\iPhone\Release</OutputPath>
|
||||||
|
<DefineConstants></DefineConstants>
|
||||||
|
<ErrorReport>prompt</ErrorReport>
|
||||||
|
<WarningLevel>4</WarningLevel>
|
||||||
|
<ConsolePause>false</ConsolePause>
|
||||||
|
<CodesignKey>iPhone Developer</CodesignKey>
|
||||||
|
<MtouchUseLlvm>true</MtouchUseLlvm>
|
||||||
|
<MtouchUseSGen>true</MtouchUseSGen>
|
||||||
|
<MtouchUseRefCounting>true</MtouchUseRefCounting>
|
||||||
|
<MtouchFloat32>true</MtouchFloat32>
|
||||||
|
<MtouchEnableBitcode>true</MtouchEnableBitcode>
|
||||||
|
<CodesignEntitlements>Entitlements.plist</CodesignEntitlements>
|
||||||
|
<MtouchArch>ARM64</MtouchArch>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|iPhoneSimulator' ">
|
||||||
|
<Optimize>true</Optimize>
|
||||||
|
<OutputPath>bin\iPhoneSimulator\Release</OutputPath>
|
||||||
|
<DefineConstants></DefineConstants>
|
||||||
|
<ErrorReport>prompt</ErrorReport>
|
||||||
|
<WarningLevel>4</WarningLevel>
|
||||||
|
<ConsolePause>false</ConsolePause>
|
||||||
|
<CodesignKey>iPhone Developer</CodesignKey>
|
||||||
|
<MtouchUseSGen>true</MtouchUseSGen>
|
||||||
|
<MtouchUseRefCounting>true</MtouchUseRefCounting>
|
||||||
|
<MtouchLink>None</MtouchLink>
|
||||||
|
<MtouchArch>x86_64</MtouchArch>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|iPhone' ">
|
||||||
|
<DebugSymbols>true</DebugSymbols>
|
||||||
|
<DebugType>full</DebugType>
|
||||||
|
<Optimize>false</Optimize>
|
||||||
|
<OutputPath>bin\iPhone\Debug</OutputPath>
|
||||||
|
<DefineConstants>DEBUG;</DefineConstants>
|
||||||
|
<ErrorReport>prompt</ErrorReport>
|
||||||
|
<WarningLevel>4</WarningLevel>
|
||||||
|
<ConsolePause>false</ConsolePause>
|
||||||
|
<CodesignKey>iPhone Developer</CodesignKey>
|
||||||
|
<DeviceSpecificBuild>true</DeviceSpecificBuild>
|
||||||
|
<MtouchDebug>true</MtouchDebug>
|
||||||
|
<MtouchFastDev>true</MtouchFastDev>
|
||||||
|
<MtouchProfiling>true</MtouchProfiling>
|
||||||
|
<MtouchUseSGen>true</MtouchUseSGen>
|
||||||
|
<MtouchUseRefCounting>true</MtouchUseRefCounting>
|
||||||
|
<MtouchFloat32>true</MtouchFloat32>
|
||||||
|
<CodesignEntitlements>Entitlements.plist</CodesignEntitlements>
|
||||||
|
<IOSDebuggerPort>10001</IOSDebuggerPort>
|
||||||
|
<MtouchArch>ARM64</MtouchArch>
|
||||||
|
</PropertyGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<Reference Include="System" />
|
||||||
|
<Reference Include="System.Xml" />
|
||||||
|
<Reference Include="System.Core" />
|
||||||
|
<Reference Include="Xamarin.TVOS" />
|
||||||
|
</ItemGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<Folder Include="Resources\" />
|
||||||
|
</ItemGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<None Include="Info.plist" />
|
||||||
|
<None Include="Entitlements.plist" />
|
||||||
|
</ItemGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<Compile Include="ServiceProvider.cs" />
|
||||||
|
</ItemGroup>
|
||||||
|
<Import Project="$(MSBuildExtensionsPath)\Xamarin\TVOS\Xamarin.TVOS.AppExtension.CSharp.targets" />
|
||||||
|
</Project>
|
|
@ -0,0 +1,25 @@
|
||||||
|
using System;
|
||||||
|
using Foundation;
|
||||||
|
using TVServices;
|
||||||
|
|
||||||
|
namespace MyTVServicesExtension
|
||||||
|
{
|
||||||
|
public class ServiceProvider : NSObject, ITVTopShelfProvider
|
||||||
|
{
|
||||||
|
protected ServiceProvider (IntPtr handle) : base (handle)
|
||||||
|
{
|
||||||
|
// Note: this .ctor should not contain any initialization logic.
|
||||||
|
}
|
||||||
|
|
||||||
|
public TVContentItem [] TopShelfItems {
|
||||||
|
[Export ("topShelfItems")]
|
||||||
|
get;
|
||||||
|
}
|
||||||
|
|
||||||
|
public TVTopShelfContentStyle TopShelfStyle {
|
||||||
|
[Export ("topShelfStyle")]
|
||||||
|
get;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
|
@ -94,15 +94,10 @@
|
||||||
"size": "76x76",
|
"size": "76x76",
|
||||||
"scale": "2x",
|
"scale": "2x",
|
||||||
"idiom": "ipad"
|
"idiom": "ipad"
|
||||||
},
|
|
||||||
{
|
|
||||||
"size": "120x120",
|
|
||||||
"scale": "1x",
|
|
||||||
"idiom": "car"
|
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"info": {
|
"info": {
|
||||||
"version": 1,
|
"version": 1,
|
||||||
"author": "xcode"
|
"author": "xcode"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -95,11 +95,6 @@
|
||||||
"size": "76x76",
|
"size": "76x76",
|
||||||
"scale": "2x"
|
"scale": "2x"
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"idiom": "car",
|
|
||||||
"size": "120x120",
|
|
||||||
"scale": "1x"
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"size": "24x24",
|
"size": "24x24",
|
||||||
"idiom": "watch",
|
"idiom": "watch",
|
||||||
|
@ -159,4 +154,4 @@
|
||||||
"version": 1,
|
"version": 1,
|
||||||
"author": "xcode"
|
"author": "xcode"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -94,15 +94,10 @@
|
||||||
"size": "76x76",
|
"size": "76x76",
|
||||||
"scale": "2x",
|
"scale": "2x",
|
||||||
"idiom": "ipad"
|
"idiom": "ipad"
|
||||||
},
|
|
||||||
{
|
|
||||||
"size": "120x120",
|
|
||||||
"scale": "1x",
|
|
||||||
"idiom": "car"
|
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"info": {
|
"info": {
|
||||||
"version": 1,
|
"version": 1,
|
||||||
"author": "xcode"
|
"author": "xcode"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -95,11 +95,6 @@
|
||||||
"size" : "76x76",
|
"size" : "76x76",
|
||||||
"scale" : "2x"
|
"scale" : "2x"
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"idiom" : "car",
|
|
||||||
"size" : "120x120",
|
|
||||||
"scale" : "1x"
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"size" : "24x24",
|
"size" : "24x24",
|
||||||
"idiom" : "watch",
|
"idiom" : "watch",
|
||||||
|
@ -167,4 +162,4 @@
|
||||||
"version" : 1,
|
"version" : 1,
|
||||||
"author" : "xcode"
|
"author" : "xcode"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -94,15 +94,10 @@
|
||||||
"size": "76x76",
|
"size": "76x76",
|
||||||
"scale": "2x",
|
"scale": "2x",
|
||||||
"idiom": "ipad"
|
"idiom": "ipad"
|
||||||
},
|
|
||||||
{
|
|
||||||
"size": "120x120",
|
|
||||||
"scale": "1x",
|
|
||||||
"idiom": "car"
|
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"info": {
|
"info": {
|
||||||
"version": 1,
|
"version": 1,
|
||||||
"author": "xcode"
|
"author": "xcode"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -95,11 +95,6 @@
|
||||||
"size": "76x76",
|
"size": "76x76",
|
||||||
"scale": "2x"
|
"scale": "2x"
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"idiom": "car",
|
|
||||||
"size": "120x120",
|
|
||||||
"scale": "1x"
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"size": "24x24",
|
"size": "24x24",
|
||||||
"idiom": "watch",
|
"idiom": "watch",
|
||||||
|
@ -159,4 +154,4 @@
|
||||||
"version": 1,
|
"version": 1,
|
||||||
"author": "xcode"
|
"author": "xcode"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -5,15 +5,27 @@ using NUnit.Framework;
|
||||||
namespace Xamarin.iOS.Tasks
|
namespace Xamarin.iOS.Tasks
|
||||||
{
|
{
|
||||||
public class ExtensionTestBase : TestBase {
|
public class ExtensionTestBase : TestBase {
|
||||||
|
public string BundlePath;
|
||||||
public string Platform;
|
public string Platform;
|
||||||
|
|
||||||
public ExtensionTestBase (string platform) {
|
public ExtensionTestBase (string platform) {
|
||||||
Platform = platform;
|
Platform = platform;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void BuildExtension (string hostAppName, string extensionName, string platform, int expectedErrorCount = 0)
|
public ExtensionTestBase (string bundlePath, string platform)
|
||||||
{
|
{
|
||||||
var mtouchPaths = SetupProjectPaths (hostAppName, "../", true, platform);
|
BundlePath = bundlePath;
|
||||||
|
Platform = platform;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void BuildExtension (string hostAppName, string extensionName, string platform, int expectedErrorCount = 0)
|
||||||
|
{
|
||||||
|
BuildExtension (hostAppName, extensionName, platform, platform, expectedErrorCount);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void BuildExtension (string hostAppName, string extensionName, string bundlePath, string platform, int expectedErrorCount = 0)
|
||||||
|
{
|
||||||
|
var mtouchPaths = SetupProjectPaths (hostAppName, "../", true, bundlePath);
|
||||||
|
|
||||||
var proj = SetupProject (Engine, mtouchPaths ["project_csprojpath"]);
|
var proj = SetupProject (Engine, mtouchPaths ["project_csprojpath"]);
|
||||||
|
|
||||||
|
@ -22,7 +34,7 @@ namespace Xamarin.iOS.Tasks
|
||||||
Engine.GlobalProperties.SetProperty ("Platform", platform);
|
Engine.GlobalProperties.SetProperty ("Platform", platform);
|
||||||
|
|
||||||
RunTarget (proj, "Clean");
|
RunTarget (proj, "Clean");
|
||||||
Assert.IsFalse (Directory.Exists (AppBundlePath), "{1}: App bundle exists after cleanup: {0} ", AppBundlePath, platform);
|
Assert.IsFalse (Directory.Exists (AppBundlePath), "{1}: App bundle exists after cleanup: {0} ", AppBundlePath, bundlePath);
|
||||||
|
|
||||||
proj = SetupProject (Engine, mtouchPaths.ProjectCSProjPath);
|
proj = SetupProject (Engine, mtouchPaths.ProjectCSProjPath);
|
||||||
RunTarget (proj, "Build", expectedErrorCount);
|
RunTarget (proj, "Build", expectedErrorCount);
|
||||||
|
@ -30,7 +42,7 @@ namespace Xamarin.iOS.Tasks
|
||||||
if (expectedErrorCount > 0)
|
if (expectedErrorCount > 0)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
Assert.IsTrue (Directory.Exists (AppBundlePath), "{1} App Bundle does not exist: {0} ", AppBundlePath, platform);
|
Assert.IsTrue (Directory.Exists (AppBundlePath), "{1} App Bundle does not exist: {0} ", AppBundlePath, bundlePath);
|
||||||
|
|
||||||
TestPList (AppBundlePath, new string[] {"CFBundleExecutable", "CFBundleVersion"});
|
TestPList (AppBundlePath, new string[] {"CFBundleExecutable", "CFBundleVersion"});
|
||||||
|
|
||||||
|
@ -41,13 +53,14 @@ namespace Xamarin.iOS.Tasks
|
||||||
TestFilesExists (AppBundlePath, ExpectedAppFiles);
|
TestFilesExists (AppBundlePath, ExpectedAppFiles);
|
||||||
TestFilesDoNotExist (AppBundlePath, UnexpectedAppFiles);
|
TestFilesDoNotExist (AppBundlePath, UnexpectedAppFiles);
|
||||||
|
|
||||||
if (IsWatchOS) {
|
var coreFiles = platform == "iPhone" ? CoreAppFiles : CoreAppFiles.Union (new string [] { hostAppName + ".exe", hostAppName }).ToArray ();
|
||||||
var coreFiles = platform == "iPhone" ? CoreAppFiles : CoreAppFiles.Union (new string [] { extensionName + ".dll", Path.GetFileNameWithoutExtension (extensionPath) }).ToArray ();
|
if (IsTVOS)
|
||||||
|
TestFilesExists (platform == "iPhone" ? Path.Combine (AppBundlePath, ".monotouch-64") : AppBundlePath, coreFiles);
|
||||||
|
else if (IsWatchOS) {
|
||||||
|
coreFiles = platform == "iPhone" ? CoreAppFiles : CoreAppFiles.Union (new string [] { extensionName + ".dll", Path.GetFileNameWithoutExtension (extensionPath) }).ToArray ();
|
||||||
TestFilesExists (platform == "iPhone" ? Path.Combine (extensionPath, ".monotouch-32") : extensionPath, coreFiles);
|
TestFilesExists (platform == "iPhone" ? Path.Combine (extensionPath, ".monotouch-32") : extensionPath, coreFiles);
|
||||||
} else {
|
} else
|
||||||
var coreFiles = platform == "iPhone" ? CoreAppFiles : CoreAppFiles.Union (new string [] { hostAppName + ".exe", hostAppName }).ToArray ();
|
|
||||||
TestFilesExists (platform == "iPhone" ? Path.Combine (AppBundlePath, ".monotouch-32") : AppBundlePath, coreFiles);
|
TestFilesExists (platform == "iPhone" ? Path.Combine (AppBundlePath, ".monotouch-32") : AppBundlePath, coreFiles);
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public void SetupPaths (string appName, string platform)
|
public void SetupPaths (string appName, string platform)
|
||||||
|
|
|
@ -4,16 +4,16 @@ namespace Xamarin.iOS.Tasks
|
||||||
{
|
{
|
||||||
[TestFixture("TV", "iPhone")]
|
[TestFixture("TV", "iPhone")]
|
||||||
[TestFixture("TVSimulator", "iPhoneSimulator")]
|
[TestFixture("TVSimulator", "iPhoneSimulator")]
|
||||||
public class MyTVAppTests : ProjectTest
|
public class TVAppTests : ExtensionTestBase
|
||||||
{
|
{
|
||||||
public MyTVAppTests(string bundlePath, string platform) : base(bundlePath, platform)
|
public TVAppTests (string bundlePath, string platform) : base(bundlePath, platform)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
[Test]
|
[Test]
|
||||||
public void BasicTest()
|
public void BasicTest()
|
||||||
{
|
{
|
||||||
BuildProject("MyTVApp", BundlePath, Platform);
|
BuildExtension("MyTVApp", "MyTVServicesExtension", BundlePath, Platform);
|
||||||
}
|
}
|
||||||
|
|
||||||
public override string TargetFrameworkIdentifier {
|
public override string TargetFrameworkIdentifier {
|
|
@ -92,7 +92,7 @@
|
||||||
<Compile Include="..\..\..\tests\common\Configuration.cs">
|
<Compile Include="..\..\..\tests\common\Configuration.cs">
|
||||||
<Link>Configuration.cs</Link>
|
<Link>Configuration.cs</Link>
|
||||||
</Compile>
|
</Compile>
|
||||||
<Compile Include="ProjectsTests\TVOS\MyTVApp.cs" />
|
<Compile Include="ProjectsTests\TVOS\TVApp.cs" />
|
||||||
<Compile Include="TaskTests\GeneratePlistTaskTests\GeneratePlistTaskTests_iOS.cs" />
|
<Compile Include="TaskTests\GeneratePlistTaskTests\GeneratePlistTaskTests_iOS.cs" />
|
||||||
<Compile Include="TaskTests\GeneratePlistTaskTests\GeneratePlistTaskTests_Core.cs" />
|
<Compile Include="TaskTests\GeneratePlistTaskTests\GeneratePlistTaskTests_Core.cs" />
|
||||||
<Compile Include="TaskTests\GeneratePlistTaskTests\GeneratePlistTaskTests_iOS_AppExtension.cs" />
|
<Compile Include="TaskTests\GeneratePlistTaskTests\GeneratePlistTaskTests_iOS_AppExtension.cs" />
|
||||||
|
|
Загрузка…
Ссылка в новой задаче