diff --git a/msbuild/Xamarin.Mac.Tasks/Xamarin.Mac.Common.targets b/msbuild/Xamarin.Mac.Tasks/Xamarin.Mac.Common.targets
index 1ce80d8708..cb4b4d8950 100644
--- a/msbuild/Xamarin.Mac.Tasks/Xamarin.Mac.Common.targets
+++ b/msbuild/Xamarin.Mac.Tasks/Xamarin.Mac.Common.targets
@@ -634,10 +634,11 @@ Copyright (C) 2014 Xamarin. All rights reserved.
-
+
();
var modified = new HashSet ();
var items = new List ();
diff --git a/msbuild/Xamarin.iOS.Tasks.Core/Xamarin.iOS.Common.targets b/msbuild/Xamarin.iOS.Tasks.Core/Xamarin.iOS.Common.targets
index 34d96337d6..c0b171d780 100644
--- a/msbuild/Xamarin.iOS.Tasks.Core/Xamarin.iOS.Common.targets
+++ b/msbuild/Xamarin.iOS.Tasks.Core/Xamarin.iOS.Common.targets
@@ -1276,10 +1276,11 @@ Copyright (C) 2013-2016 Xamarin. All rights reserved.
+ DependsOnTargets="_BeforeCoreCompileSceneKitAssets;_GenerateBundleName">
+
+
+
+ CFBundleName
+ MySceneKitApp
+ CFBundleIdentifier
+ com.xamarin.MySceneKitApp.MySceneKitApp
+ CFBundleShortVersionString
+ 1.0
+ CFBundleVersion
+ 1.0
+ LSRequiresIPhoneOS
+
+ MinimumOSVersion
+ 11.0
+ UIDeviceFamily
+
+ 1
+ 2
+
+ UIRequiredDeviceCapabilities
+
+ armv7
+
+ UISupportedInterfaceOrientations
+
+ UIInterfaceOrientationPortrait
+ UIInterfaceOrientationPortraitUpsideDown
+ UIInterfaceOrientationLandscapeLeft
+ UIInterfaceOrientationLandscapeRight
+
+
+
diff --git a/msbuild/tests/MySceneKitApp/MySceneKitApp.csproj b/msbuild/tests/MySceneKitApp/MySceneKitApp.csproj
new file mode 100644
index 0000000000..fa4635b006
--- /dev/null
+++ b/msbuild/tests/MySceneKitApp/MySceneKitApp.csproj
@@ -0,0 +1,94 @@
+
+
+
+ Debug
+ iPhoneSimulator
+ {D210EFF2-06EF-4DB0-9F0E-2BFAF873D824}
+ {FEACFBD2-3405-455C-9665-78FE426C6842};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}
+ Exe
+ MySceneKitApp
+ MySceneKitApp
+ Resources
+
+
+ true
+ full
+ false
+ bin\iPhoneSimulator\Debug
+ DEBUG;ENABLE_TEST_CLOUD;
+ prompt
+ 4
+ iPhone Developer
+ true
+ true
+ true
+ true
+ 44556
+ None
+ x86_64
+ NSUrlSessionHandler
+ x86
+
+
+ pdbonly
+ true
+ bin\iPhone\Release
+ prompt
+ 4
+ iPhone Developer
+ true
+ true
+ SdkOnly
+ ARM64
+ NSUrlSessionHandler
+ x86
+
+
+ pdbonly
+ true
+ bin\iPhoneSimulator\Release
+ prompt
+ 4
+ iPhone Developer
+ true
+ None
+ x86_64
+ NSUrlSessionHandler
+ x86
+
+
+ true
+ full
+ false
+ bin\iPhone\Debug
+ DEBUG;ENABLE_TEST_CLOUD;
+ prompt
+ 4
+ iPhone Developer
+ true
+ true
+ true
+ true
+ true
+ true
+ 48889
+ SdkOnly
+ ARM64
+ NSUrlSessionHandler
+ x86
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/msbuild/tests/MySceneKitApp/MySceneKitApp.sln b/msbuild/tests/MySceneKitApp/MySceneKitApp.sln
new file mode 100644
index 0000000000..f4fa94441e
--- /dev/null
+++ b/msbuild/tests/MySceneKitApp/MySceneKitApp.sln
@@ -0,0 +1,23 @@
+
+Microsoft Visual Studio Solution File, Format Version 12.00
+# Visual Studio 15
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MySceneKitApp", "MySceneKitApp.csproj", "{D210EFF2-06EF-4DB0-9F0E-2BFAF873D824}"
+EndProject
+Global
+ GlobalSection(SolutionConfigurationPlatforms) = preSolution
+ Debug|iPhoneSimulator = Debug|iPhoneSimulator
+ Release|iPhone = Release|iPhone
+ Release|iPhoneSimulator = Release|iPhoneSimulator
+ Debug|iPhone = Debug|iPhone
+ EndGlobalSection
+ GlobalSection(ProjectConfigurationPlatforms) = postSolution
+ {D210EFF2-06EF-4DB0-9F0E-2BFAF873D824}.Debug|iPhoneSimulator.ActiveCfg = Debug|iPhoneSimulator
+ {D210EFF2-06EF-4DB0-9F0E-2BFAF873D824}.Debug|iPhoneSimulator.Build.0 = Debug|iPhoneSimulator
+ {D210EFF2-06EF-4DB0-9F0E-2BFAF873D824}.Release|iPhone.ActiveCfg = Release|iPhone
+ {D210EFF2-06EF-4DB0-9F0E-2BFAF873D824}.Release|iPhone.Build.0 = Release|iPhone
+ {D210EFF2-06EF-4DB0-9F0E-2BFAF873D824}.Release|iPhoneSimulator.ActiveCfg = Release|iPhoneSimulator
+ {D210EFF2-06EF-4DB0-9F0E-2BFAF873D824}.Release|iPhoneSimulator.Build.0 = Release|iPhoneSimulator
+ {D210EFF2-06EF-4DB0-9F0E-2BFAF873D824}.Debug|iPhone.ActiveCfg = Debug|iPhone
+ {D210EFF2-06EF-4DB0-9F0E-2BFAF873D824}.Debug|iPhone.Build.0 = Debug|iPhone
+ EndGlobalSection
+EndGlobal
diff --git a/msbuild/tests/MySceneKitApp/art.scnassets/scene.scn b/msbuild/tests/MySceneKitApp/art.scnassets/scene.scn
new file mode 100644
index 0000000000..5b0d1c58aa
Binary files /dev/null and b/msbuild/tests/MySceneKitApp/art.scnassets/scene.scn differ
diff --git a/msbuild/tests/MySceneKitApp/art.scnassets/texture.png b/msbuild/tests/MySceneKitApp/art.scnassets/texture.png
new file mode 100644
index 0000000000..ba392589b7
Binary files /dev/null and b/msbuild/tests/MySceneKitApp/art.scnassets/texture.png differ
diff --git a/msbuild/tests/Xamarin.iOS.Tasks.Tests/ProjectsTests/CompileSceneKitAssetsTest.cs b/msbuild/tests/Xamarin.iOS.Tasks.Tests/ProjectsTests/CompileSceneKitAssetsTest.cs
new file mode 100644
index 0000000000..58bacee2fa
--- /dev/null
+++ b/msbuild/tests/Xamarin.iOS.Tasks.Tests/ProjectsTests/CompileSceneKitAssetsTest.cs
@@ -0,0 +1,33 @@
+using System;
+using System.IO;
+using System.Linq;
+using System.Threading;
+using System.Diagnostics;
+using System.Collections.Generic;
+
+using NUnit.Framework;
+
+using Xamarin.Tests;
+
+namespace Xamarin.iOS.Tasks
+{
+ // [TestFixture ("iPhone")] // Skip this to speed things up a bit.
+ [TestFixture ("iPhoneSimulator")]
+ public class CompileSceneKitAssetsTest : ProjectTest
+ {
+ public CompileSceneKitAssetsTest (string platform) : base (platform)
+ {
+ }
+
+ [Test]
+ public void Compilation ()
+ {
+ var csproj = BuildProject ("MySceneKitApp", Platform, "Debug", clean: true);
+ var appPath = Path.Combine (Path.GetDirectoryName (csproj), "bin", Platform, "Debug", "MySceneKitApp.app");
+ var scenePath = Path.GetFullPath (Path.Combine (appPath, "art.scnassets", "scene.scn"));
+
+ var xml = Configuration.ReadPListAsXml (scenePath);
+ Assert.That (xml, Is.StringContaining ("art.scnassets/texture.png"), "asset with path");
+ }
+ }
+}
diff --git a/msbuild/tests/Xamarin.iOS.Tasks.Tests/Xamarin.iOS.Tasks.Tests.csproj b/msbuild/tests/Xamarin.iOS.Tasks.Tests/Xamarin.iOS.Tasks.Tests.csproj
index c6e8dd7dac..3fae72678c 100644
--- a/msbuild/tests/Xamarin.iOS.Tasks.Tests/Xamarin.iOS.Tasks.Tests.csproj
+++ b/msbuild/tests/Xamarin.iOS.Tasks.Tests/Xamarin.iOS.Tasks.Tests.csproj
@@ -109,6 +109,7 @@
+