diff --git a/msbuild/tests/Issue3199/AppDelegate.cs b/msbuild/tests/Issue3199/AppDelegate.cs new file mode 100644 index 000000000000..d8f6d44278c5 --- /dev/null +++ b/msbuild/tests/Issue3199/AppDelegate.cs @@ -0,0 +1,56 @@ +using Foundation; +using UIKit; + +namespace Issue3199 { + // The UIApplicationDelegate for the application. This class is responsible for launching the + // User Interface of the application, as well as listening (and optionally responding) to application events from iOS. + [Register ("AppDelegate")] + public class AppDelegate : UIApplicationDelegate { + // class-level declarations + + public override UIWindow Window { + get; + set; + } + + public override bool FinishedLaunching (UIApplication application, NSDictionary launchOptions) + { + // Override point for customization after application launch. + // If not required for your application you can safely delete this method + + return true; + } + + public override void OnResignActivation (UIApplication application) + { + // Invoked when the application is about to move from active to inactive state. + // This can occur for certain types of temporary interruptions (such as an incoming phone call or SMS message) + // or when the user quits the application and it begins the transition to the background state. + // Games should use this method to pause the game. + } + + public override void DidEnterBackground (UIApplication application) + { + // Use this method to release shared resources, save user data, invalidate timers and store the application state. + // If your application supports background exection this method is called instead of WillTerminate when the user quits. + } + + public override void WillEnterForeground (UIApplication application) + { + // Called as part of the transiton from background to active state. + // Here you can undo many of the changes made on entering the background. + } + + public override void OnActivated (UIApplication application) + { + // Restart any tasks that were paused (or not yet started) while the application was inactive. + // If the application was previously in the background, optionally refresh the user interface. + } + + public override void WillTerminate (UIApplication application) + { + // Called when the application is about to terminate. Save data, if needed. See also DidEnterBackground. + } + } +} + diff --git a/msbuild/tests/Issue3199/Assets.xcassets/AppIcon.appiconset/Contents.json b/msbuild/tests/Issue3199/Assets.xcassets/AppIcon.appiconset/Contents.json new file mode 100644 index 000000000000..64d0e3ddf877 --- /dev/null +++ b/msbuild/tests/Issue3199/Assets.xcassets/AppIcon.appiconset/Contents.json @@ -0,0 +1,202 @@ +{ + "images" : [ + { + "idiom" : "iphone", + "size" : "20x20", + "scale" : "2x" + }, + { + "idiom" : "iphone", + "size" : "20x20", + "scale" : "3x" + }, + { + "idiom" : "iphone", + "size" : "29x29", + "scale" : "2x" + }, + { + "idiom" : "iphone", + "size" : "29x29", + "scale" : "3x" + }, + { + "idiom" : "iphone", + "size" : "40x40", + "scale" : "2x" + }, + { + "idiom" : "iphone", + "size" : "40x40", + "scale" : "3x" + }, + { + "idiom" : "iphone", + "size" : "60x60", + "scale" : "2x" + }, + { + "idiom" : "iphone", + "size" : "60x60", + "scale" : "3x" + }, + { + "idiom" : "ipad", + "size" : "20x20", + "scale" : "1x" + }, + { + "idiom" : "ipad", + "size" : "20x20", + "scale" : "2x" + }, + { + "idiom" : "ipad", + "size" : "29x29", + "scale" : "1x" + }, + { + "idiom" : "ipad", + "size" : "29x29", + "scale" : "2x" + }, + { + "idiom" : "ipad", + "size" : "40x40", + "scale" : "1x" + }, + { + "idiom" : "ipad", + "size" : "40x40", + "scale" : "2x" + }, + { + "idiom" : "ipad", + "size" : "76x76", + "scale" : "1x" + }, + { + "idiom" : "ipad", + "size" : "76x76", + "scale" : "2x" + }, + { + "idiom" : "ipad", + "size" : "83.5x83.5", + "scale" : "2x" + }, + { + "idiom" : "ios-marketing", + "size" : "1024x1024", + "scale" : "1x" + }, + { + "size" : "24x24", + "idiom" : "watch", + "scale" : "2x", + "role" : "notificationCenter", + "subtype" : "38mm" + }, + { + "size" : "27.5x27.5", + "idiom" : "watch", + "scale" : "2x", + "role" : "notificationCenter", + "subtype" : "42mm" + }, + { + "size" : "29x29", + "idiom" : "watch", + "role" : "companionSettings", + "scale" : "2x" + }, + { + "size" : "29x29", + "idiom" : "watch", + "role" : "companionSettings", + "scale" : "3x" + }, + { + "size" : "40x40", + "idiom" : "watch", + "scale" : "2x", + "role" : "appLauncher", + "subtype" : "38mm" + }, + { + "size" : "44x44", + "idiom" : "watch", + "scale" : "2x", + "role" : "longLook", + "subtype" : "42mm" + }, + { + "size" : "86x86", + "idiom" : "watch", + "scale" : "2x", + "role" : "quickLook", + "subtype" : "38mm" + }, + { + "size" : "98x98", + "idiom" : "watch", + "scale" : "2x", + "role" : "quickLook", + "subtype" : "42mm" + }, + { + "idiom" : "mac", + "size" : "16x16", + "scale" : "1x" + }, + { + "idiom" : "mac", + "size" : "16x16", + "scale" : "2x" + }, + { + "idiom" : "mac", + "size" : "32x32", + "scale" : "1x" + }, + { + "idiom" : "mac", + "size" : "32x32", + "scale" : "2x" + }, + { + "idiom" : "mac", + "size" : "128x128", + "scale" : "1x" + }, + { + "idiom" : "mac", + "size" : "128x128", + "scale" : "2x" + }, + { + "idiom" : "mac", + "size" : "256x256", + "scale" : "1x" + }, + { + "idiom" : "mac", + "size" : "256x256", + "scale" : "2x" + }, + { + "idiom" : "mac", + "size" : "512x512", + "scale" : "1x" + }, + { + "idiom" : "mac", + "size" : "512x512", + "scale" : "2x" + } + ], + "info" : { + "version" : 1, + "author" : "xcode" + } +} diff --git a/msbuild/tests/Issue3199/Assets.xcassets/Contents.json b/msbuild/tests/Issue3199/Assets.xcassets/Contents.json new file mode 100644 index 000000000000..4caf392f92c9 --- /dev/null +++ b/msbuild/tests/Issue3199/Assets.xcassets/Contents.json @@ -0,0 +1,6 @@ +{ + "info" : { + "version" : 1, + "author" : "xcode" + } +} \ No newline at end of file diff --git a/msbuild/tests/Issue3199/Entitlements.plist b/msbuild/tests/Issue3199/Entitlements.plist new file mode 100644 index 000000000000..9ae599370b42 --- /dev/null +++ b/msbuild/tests/Issue3199/Entitlements.plist @@ -0,0 +1,6 @@ + + + + + + diff --git a/msbuild/tests/Issue3199/Info.plist b/msbuild/tests/Issue3199/Info.plist new file mode 100644 index 000000000000..4028be8497f9 --- /dev/null +++ b/msbuild/tests/Issue3199/Info.plist @@ -0,0 +1,40 @@ + + + + + CFBundleName + Issue3199 + CFBundleIdentifier + com.xamarin.Issue3199 + CFBundleShortVersionString + 1.0 + CFBundleVersion + 1.0 + LSRequiresIPhoneOS + + MinimumOSVersion + 11.2 + UIDeviceFamily + + 1 + 2 + + UILaunchStoryboardName + LaunchScreen + UIMainStoryboardFile + Main + UIRequiredDeviceCapabilities + + armv7 + + UISupportedInterfaceOrientations + + UIInterfaceOrientationPortrait + UIInterfaceOrientationPortraitUpsideDown + UIInterfaceOrientationLandscapeLeft + UIInterfaceOrientationLandscapeRight + + XSAppIconAssets + Assets.xcassets/AppIcon.appiconset + + diff --git a/msbuild/tests/Issue3199/Issue3199.csproj b/msbuild/tests/Issue3199/Issue3199.csproj new file mode 100644 index 000000000000..7b4fa24c4669 --- /dev/null +++ b/msbuild/tests/Issue3199/Issue3199.csproj @@ -0,0 +1,116 @@ + + + + Debug + iPhoneSimulator + {11DA3036-90DE-41FE-B5CF-0A98AFB54527} + {FEACFBD2-3405-455C-9665-78FE426C6842};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} + Exe + Issue3199 + Issue3199 + Resources + + + true + full + false + bin\iPhoneSimulator\Debug + DEBUG;ENABLE_TEST_CLOUD; + prompt + 4 + iPhone Developer + true + true + true + true + 18711 + None + x86_64 + HttpClientHandler + x86 + + + pdbonly + true + bin\iPhone\Release + prompt + 4 + iPhone Developer + true + Entitlements.plist + SdkOnly + ARM64 + HttpClientHandler + x86 + + + pdbonly + true + bin\iPhoneSimulator\Release + prompt + 4 + iPhone Developer + true + None + x86_64 + HttpClientHandler + x86 + + + true + full + false + bin\iPhone\Debug + DEBUG;ENABLE_TEST_CLOUD; + prompt + 4 + iPhone Developer + true + true + true + true + true + true + Entitlements.plist + 21680 + SdkOnly + ARM64 + HttpClientHandler + x86 + + + + + + + + + + + + + + + + + + + + + + + + + + + + ViewController.cs + + + + + 4.4.0 + + + + \ No newline at end of file diff --git a/msbuild/tests/Issue3199/Issue3199.sln b/msbuild/tests/Issue3199/Issue3199.sln new file mode 100644 index 000000000000..7ab9309ed697 --- /dev/null +++ b/msbuild/tests/Issue3199/Issue3199.sln @@ -0,0 +1,23 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio 2012 +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Issue3199", "Issue3199.csproj", "{11DA3036-90DE-41FE-B5CF-0A98AFB54527}" +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 + {11DA3036-90DE-41FE-B5CF-0A98AFB54527}.Debug|iPhoneSimulator.ActiveCfg = Debug|iPhoneSimulator + {11DA3036-90DE-41FE-B5CF-0A98AFB54527}.Debug|iPhoneSimulator.Build.0 = Debug|iPhoneSimulator + {11DA3036-90DE-41FE-B5CF-0A98AFB54527}.Release|iPhone.ActiveCfg = Release|iPhone + {11DA3036-90DE-41FE-B5CF-0A98AFB54527}.Release|iPhone.Build.0 = Release|iPhone + {11DA3036-90DE-41FE-B5CF-0A98AFB54527}.Release|iPhoneSimulator.ActiveCfg = Release|iPhoneSimulator + {11DA3036-90DE-41FE-B5CF-0A98AFB54527}.Release|iPhoneSimulator.Build.0 = Release|iPhoneSimulator + {11DA3036-90DE-41FE-B5CF-0A98AFB54527}.Debug|iPhone.ActiveCfg = Debug|iPhone + {11DA3036-90DE-41FE-B5CF-0A98AFB54527}.Debug|iPhone.Build.0 = Debug|iPhone + EndGlobalSection +EndGlobal diff --git a/msbuild/tests/Issue3199/LaunchScreen.storyboard b/msbuild/tests/Issue3199/LaunchScreen.storyboard new file mode 100644 index 000000000000..7981a14b773c --- /dev/null +++ b/msbuild/tests/Issue3199/LaunchScreen.storyboard @@ -0,0 +1,27 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/msbuild/tests/Issue3199/Main.cs b/msbuild/tests/Issue3199/Main.cs new file mode 100644 index 000000000000..428bdb9c3f3d --- /dev/null +++ b/msbuild/tests/Issue3199/Main.cs @@ -0,0 +1,13 @@ +using UIKit; + +namespace Issue3199 { + public class Application { + // This is the main entry point of the application. + static void Main (string [] args) + { + // if you want to use a different Application Delegate class from "AppDelegate" + // you can specify it here. + UIApplication.Main (args, null, "AppDelegate"); + } + } +} diff --git a/msbuild/tests/Issue3199/Main.storyboard b/msbuild/tests/Issue3199/Main.storyboard new file mode 100644 index 000000000000..34c4bcf3d2f7 --- /dev/null +++ b/msbuild/tests/Issue3199/Main.storyboard @@ -0,0 +1,26 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/msbuild/tests/Issue3199/ViewController.cs b/msbuild/tests/Issue3199/ViewController.cs new file mode 100644 index 000000000000..d5015dcfe041 --- /dev/null +++ b/msbuild/tests/Issue3199/ViewController.cs @@ -0,0 +1,29 @@ +using System; + +using UIKit; +using System.Runtime.CompilerServices; +using System.Collections.Generic; + +namespace Issue3199 { + public partial class ViewController : UIViewController { + protected ViewController (IntPtr handle) : base (handle) + { + // Note: this .ctor should not contain any initialization logic. + } + + public override void ViewDidLoad () + { + base.ViewDidLoad (); + // Perform any additional setup after loading the view, typically from a nib. + + var dt = new KeyValuePair [2]; + ref byte asRefByte = ref Unsafe.As, byte> (ref dt [0]); + } + + public override void DidReceiveMemoryWarning () + { + base.DidReceiveMemoryWarning (); + // Release any cached data, images, etc that aren't in use. + } + } +} diff --git a/msbuild/tests/Issue3199/ViewController.designer.cs b/msbuild/tests/Issue3199/ViewController.designer.cs new file mode 100644 index 000000000000..19ae38f5692c --- /dev/null +++ b/msbuild/tests/Issue3199/ViewController.designer.cs @@ -0,0 +1,15 @@ +// +// This file has been generated automatically by MonoDevelop to store outlets and +// actions made in the Xcode designer. If it is removed, they will be lost. +// Manual changes to this file may not be handled correctly. +// +using Foundation; + +namespace Issue3199 { + [Register ("ViewController")] + partial class ViewController { + void ReleaseDesignerOutlets () + { + } + } +} diff --git a/msbuild/tests/Xamarin.iOS.Tasks.Tests/ProjectsTests/Issue3199.cs b/msbuild/tests/Xamarin.iOS.Tasks.Tests/ProjectsTests/Issue3199.cs new file mode 100644 index 000000000000..51812e57c73d --- /dev/null +++ b/msbuild/tests/Xamarin.iOS.Tasks.Tests/ProjectsTests/Issue3199.cs @@ -0,0 +1,25 @@ +using System; +using System.IO; +using System.Linq; +using System.Collections; + +using Microsoft.Build.Evaluation; + +using NUnit.Framework; + +namespace Xamarin.iOS.Tasks +{ + [TestFixture] + public class Issue3199 : ProjectTest + { + public Issue3199 () : base ("iPhone") + { + } + + [Test] + public void BuildTest () + { + BuildProject ("Issue3199", "iPhone", "Debug"); + } + } +} 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 f2868ba73480..89a210c2229b 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 @@ -110,6 +110,7 @@ + diff --git a/tests/common/mac/TestProjects/Issue3199/AppDelegate.cs b/tests/common/mac/TestProjects/Issue3199/AppDelegate.cs new file mode 100644 index 000000000000..326ab34fda4d --- /dev/null +++ b/tests/common/mac/TestProjects/Issue3199/AppDelegate.cs @@ -0,0 +1,21 @@ +using AppKit; +using Foundation; + +namespace MacIssue3199 { + [Register ("AppDelegate")] + public class AppDelegate : NSApplicationDelegate { + public AppDelegate () + { + } + + public override void DidFinishLaunching (NSNotification notification) + { + // Insert code here to initialize your application + } + + public override void WillTerminate (NSNotification notification) + { + // Insert code here to tear down your application + } + } +} diff --git a/tests/common/mac/TestProjects/Issue3199/Assets.xcassets/AppIcon.appiconset/AppIcon-128.png b/tests/common/mac/TestProjects/Issue3199/Assets.xcassets/AppIcon.appiconset/AppIcon-128.png new file mode 100644 index 000000000000..d0b5a8098ec9 Binary files /dev/null and b/tests/common/mac/TestProjects/Issue3199/Assets.xcassets/AppIcon.appiconset/AppIcon-128.png differ diff --git a/tests/common/mac/TestProjects/Issue3199/Assets.xcassets/AppIcon.appiconset/AppIcon-128@2x.png b/tests/common/mac/TestProjects/Issue3199/Assets.xcassets/AppIcon.appiconset/AppIcon-128@2x.png new file mode 100644 index 000000000000..f4c8d29047b8 Binary files /dev/null and b/tests/common/mac/TestProjects/Issue3199/Assets.xcassets/AppIcon.appiconset/AppIcon-128@2x.png differ diff --git a/tests/common/mac/TestProjects/Issue3199/Assets.xcassets/AppIcon.appiconset/AppIcon-16.png b/tests/common/mac/TestProjects/Issue3199/Assets.xcassets/AppIcon.appiconset/AppIcon-16.png new file mode 100644 index 000000000000..ebb5a0fe4e7e Binary files /dev/null and b/tests/common/mac/TestProjects/Issue3199/Assets.xcassets/AppIcon.appiconset/AppIcon-16.png differ diff --git a/tests/common/mac/TestProjects/Issue3199/Assets.xcassets/AppIcon.appiconset/AppIcon-16@2x.png b/tests/common/mac/TestProjects/Issue3199/Assets.xcassets/AppIcon.appiconset/AppIcon-16@2x.png new file mode 100644 index 000000000000..0986d31bebb1 Binary files /dev/null and b/tests/common/mac/TestProjects/Issue3199/Assets.xcassets/AppIcon.appiconset/AppIcon-16@2x.png differ diff --git a/tests/common/mac/TestProjects/Issue3199/Assets.xcassets/AppIcon.appiconset/AppIcon-256.png b/tests/common/mac/TestProjects/Issue3199/Assets.xcassets/AppIcon.appiconset/AppIcon-256.png new file mode 100644 index 000000000000..f4c8d29047b8 Binary files /dev/null and b/tests/common/mac/TestProjects/Issue3199/Assets.xcassets/AppIcon.appiconset/AppIcon-256.png differ diff --git a/tests/common/mac/TestProjects/Issue3199/Assets.xcassets/AppIcon.appiconset/AppIcon-256@2x.png b/tests/common/mac/TestProjects/Issue3199/Assets.xcassets/AppIcon.appiconset/AppIcon-256@2x.png new file mode 100644 index 000000000000..a142c83fb1c3 Binary files /dev/null and b/tests/common/mac/TestProjects/Issue3199/Assets.xcassets/AppIcon.appiconset/AppIcon-256@2x.png differ diff --git a/tests/common/mac/TestProjects/Issue3199/Assets.xcassets/AppIcon.appiconset/AppIcon-32.png b/tests/common/mac/TestProjects/Issue3199/Assets.xcassets/AppIcon.appiconset/AppIcon-32.png new file mode 100644 index 000000000000..0986d31bebb1 Binary files /dev/null and b/tests/common/mac/TestProjects/Issue3199/Assets.xcassets/AppIcon.appiconset/AppIcon-32.png differ diff --git a/tests/common/mac/TestProjects/Issue3199/Assets.xcassets/AppIcon.appiconset/AppIcon-32@2x.png b/tests/common/mac/TestProjects/Issue3199/Assets.xcassets/AppIcon.appiconset/AppIcon-32@2x.png new file mode 100644 index 000000000000..412d6ca9b42c Binary files /dev/null and b/tests/common/mac/TestProjects/Issue3199/Assets.xcassets/AppIcon.appiconset/AppIcon-32@2x.png differ diff --git a/tests/common/mac/TestProjects/Issue3199/Assets.xcassets/AppIcon.appiconset/AppIcon-512.png b/tests/common/mac/TestProjects/Issue3199/Assets.xcassets/AppIcon.appiconset/AppIcon-512.png new file mode 100644 index 000000000000..a142c83fb1c3 Binary files /dev/null and b/tests/common/mac/TestProjects/Issue3199/Assets.xcassets/AppIcon.appiconset/AppIcon-512.png differ diff --git a/tests/common/mac/TestProjects/Issue3199/Assets.xcassets/AppIcon.appiconset/AppIcon-512@2x.png b/tests/common/mac/TestProjects/Issue3199/Assets.xcassets/AppIcon.appiconset/AppIcon-512@2x.png new file mode 100644 index 000000000000..e99022ae84d0 Binary files /dev/null and b/tests/common/mac/TestProjects/Issue3199/Assets.xcassets/AppIcon.appiconset/AppIcon-512@2x.png differ diff --git a/tests/common/mac/TestProjects/Issue3199/Assets.xcassets/AppIcon.appiconset/Contents.json b/tests/common/mac/TestProjects/Issue3199/Assets.xcassets/AppIcon.appiconset/Contents.json new file mode 100644 index 000000000000..6b28545295b1 --- /dev/null +++ b/tests/common/mac/TestProjects/Issue3199/Assets.xcassets/AppIcon.appiconset/Contents.json @@ -0,0 +1,68 @@ +{ + "images": [ + { + "filename": "AppIcon-16.png", + "size": "16x16", + "scale": "1x", + "idiom": "mac" + }, + { + "filename": "AppIcon-16@2x.png", + "size": "16x16", + "scale": "2x", + "idiom": "mac" + }, + { + "filename": "AppIcon-32.png", + "size": "32x32", + "scale": "1x", + "idiom": "mac" + }, + { + "filename": "AppIcon-32@2x.png", + "size": "32x32", + "scale": "2x", + "idiom": "mac" + }, + { + "filename": "AppIcon-128.png", + "size": "128x128", + "scale": "1x", + "idiom": "mac" + }, + { + "filename": "AppIcon-128@2x.png", + "size": "128x128", + "scale": "2x", + "idiom": "mac" + }, + { + "filename": "AppIcon-256.png", + "size": "256x256", + "scale": "1x", + "idiom": "mac" + }, + { + "filename": "AppIcon-256@2x.png", + "size": "256x256", + "scale": "2x", + "idiom": "mac" + }, + { + "filename": "AppIcon-512.png", + "size": "512x512", + "scale": "1x", + "idiom": "mac" + }, + { + "filename": "AppIcon-512@2x.png", + "size": "512x512", + "scale": "2x", + "idiom": "mac" + } + ], + "info": { + "version": 1, + "author": "xcode" + } +} \ No newline at end of file diff --git a/tests/common/mac/TestProjects/Issue3199/Assets.xcassets/Contents.json b/tests/common/mac/TestProjects/Issue3199/Assets.xcassets/Contents.json new file mode 100644 index 000000000000..4caf392f92c9 --- /dev/null +++ b/tests/common/mac/TestProjects/Issue3199/Assets.xcassets/Contents.json @@ -0,0 +1,6 @@ +{ + "info" : { + "version" : 1, + "author" : "xcode" + } +} \ No newline at end of file diff --git a/tests/common/mac/TestProjects/Issue3199/Entitlements.plist b/tests/common/mac/TestProjects/Issue3199/Entitlements.plist new file mode 100644 index 000000000000..9ae599370b42 --- /dev/null +++ b/tests/common/mac/TestProjects/Issue3199/Entitlements.plist @@ -0,0 +1,6 @@ + + + + + + diff --git a/tests/common/mac/TestProjects/Issue3199/Info.plist b/tests/common/mac/TestProjects/Issue3199/Info.plist new file mode 100644 index 000000000000..c4e0cc18ec7b --- /dev/null +++ b/tests/common/mac/TestProjects/Issue3199/Info.plist @@ -0,0 +1,33 @@ + + + + + CFBundleName + MacIssue3199 + CFBundleIdentifier + com.xamarin.MacIssue3199 + CFBundleShortVersionString + 1.0 + CFBundleVersion + 1 + LSMinimumSystemVersion + 10.13 + CFBundleDevelopmentRegion + en + CFBundleInfoDictionaryVersion + 6.0 + CFBundlePackageType + APPL + CFBundleSignature + ???? + NSHumanReadableCopyright + Microsoft + NSPrincipalClass + NSApplication + NSMainStoryboardFile + Main + XSAppIconAssets + Assets.xcassets/AppIcon.appiconset + + + diff --git a/tests/common/mac/TestProjects/Issue3199/Issue3199.csproj b/tests/common/mac/TestProjects/Issue3199/Issue3199.csproj new file mode 100644 index 000000000000..1bd27c66a461 --- /dev/null +++ b/tests/common/mac/TestProjects/Issue3199/Issue3199.csproj @@ -0,0 +1,98 @@ + + + + Debug + iPhone + {6C015A27-FFA1-400A-9C5F-68A9FFB761BA} + {A3F8F2AB-B479-4A4A-A458-A89E7DC349F1};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} + Exe + Issue3199 + Issue3199 + v2.0 + Xamarin.Mac + Resources + + + true + full + false + bin\Debug + DEBUG; + prompt + 4 + false + Mac Developer + false + false + false + true + true + true + + + + None + --aot:all + + + pdbonly + true + bin\Release + + prompt + 4 + false + true + false + true + true + true + SdkOnly + + + None + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ViewController.cs + + + + + + + + 4.4.0 + + + + \ No newline at end of file diff --git a/tests/common/mac/TestProjects/Issue3199/Issue3199.sln b/tests/common/mac/TestProjects/Issue3199/Issue3199.sln new file mode 100644 index 000000000000..728f48e24d8a --- /dev/null +++ b/tests/common/mac/TestProjects/Issue3199/Issue3199.sln @@ -0,0 +1,31 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio 2012 +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Issue3199", "Issue3199.csproj", "{6C015A27-FFA1-400A-9C5F-68A9FFB761BA}" +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 + {11DA3036-90DE-41FE-B5CF-0A98AFB54527}.Debug|iPhoneSimulator.ActiveCfg = Debug|iPhoneSimulator + {11DA3036-90DE-41FE-B5CF-0A98AFB54527}.Debug|iPhoneSimulator.Build.0 = Debug|iPhoneSimulator + {11DA3036-90DE-41FE-B5CF-0A98AFB54527}.Release|iPhone.ActiveCfg = Release|iPhone + {11DA3036-90DE-41FE-B5CF-0A98AFB54527}.Release|iPhone.Build.0 = Release|iPhone + {11DA3036-90DE-41FE-B5CF-0A98AFB54527}.Release|iPhoneSimulator.ActiveCfg = Release|iPhoneSimulator + {11DA3036-90DE-41FE-B5CF-0A98AFB54527}.Release|iPhoneSimulator.Build.0 = Release|iPhoneSimulator + {11DA3036-90DE-41FE-B5CF-0A98AFB54527}.Debug|iPhone.ActiveCfg = Debug|iPhone + {11DA3036-90DE-41FE-B5CF-0A98AFB54527}.Debug|iPhone.Build.0 = Debug|iPhone + {6C015A27-FFA1-400A-9C5F-68A9FFB761BA}.Debug|iPhoneSimulator.ActiveCfg = Debug|iPhone + {6C015A27-FFA1-400A-9C5F-68A9FFB761BA}.Debug|iPhoneSimulator.Build.0 = Debug|iPhone + {6C015A27-FFA1-400A-9C5F-68A9FFB761BA}.Release|iPhone.ActiveCfg = Release|iPhone + {6C015A27-FFA1-400A-9C5F-68A9FFB761BA}.Release|iPhone.Build.0 = Release|iPhone + {6C015A27-FFA1-400A-9C5F-68A9FFB761BA}.Release|iPhoneSimulator.ActiveCfg = Release|iPhone + {6C015A27-FFA1-400A-9C5F-68A9FFB761BA}.Release|iPhoneSimulator.Build.0 = Release|iPhone + {6C015A27-FFA1-400A-9C5F-68A9FFB761BA}.Debug|iPhone.ActiveCfg = Debug|iPhone + {6C015A27-FFA1-400A-9C5F-68A9FFB761BA}.Debug|iPhone.Build.0 = Debug|iPhone + EndGlobalSection +EndGlobal diff --git a/tests/common/mac/TestProjects/Issue3199/Main.cs b/tests/common/mac/TestProjects/Issue3199/Main.cs new file mode 100644 index 000000000000..c70dfb2ee92f --- /dev/null +++ b/tests/common/mac/TestProjects/Issue3199/Main.cs @@ -0,0 +1,11 @@ +using AppKit; + +namespace MacIssue3199 { + static class MainClass { + static void Main (string [] args) + { + NSApplication.Init (); + NSApplication.Main (args); + } + } +} diff --git a/tests/common/mac/TestProjects/Issue3199/Main.storyboard b/tests/common/mac/TestProjects/Issue3199/Main.storyboard new file mode 100644 index 000000000000..9ab3aa7aa59d --- /dev/null +++ b/tests/common/mac/TestProjects/Issue3199/Main.storyboard @@ -0,0 +1,681 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Default + + + + + + + Left to Right + + + + + + + Right to Left + + + + + + + + + + + Default + + + + + + + Left to Right + + + + + + + Right to Left + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tests/common/mac/TestProjects/Issue3199/ViewController.cs b/tests/common/mac/TestProjects/Issue3199/ViewController.cs new file mode 100644 index 000000000000..978a889c3a8d --- /dev/null +++ b/tests/common/mac/TestProjects/Issue3199/ViewController.cs @@ -0,0 +1,31 @@ +using System; +using System.Runtime.CompilerServices; +using System.Collections.Generic; +using AppKit; +using Foundation; + +namespace MacIssue3199 { + public partial class ViewController : NSViewController { + public ViewController (IntPtr handle) : base (handle) + { + } + + public override void ViewDidLoad () + { + base.ViewDidLoad (); + + var dt = new KeyValuePair [2]; + ref byte asRefByte = ref Unsafe.As, byte> (ref dt [0]); + } + + public override NSObject RepresentedObject { + get { + return base.RepresentedObject; + } + set { + base.RepresentedObject = value; + // Update the view, if already loaded. + } + } + } +} diff --git a/tests/common/mac/TestProjects/Issue3199/ViewController.designer.cs b/tests/common/mac/TestProjects/Issue3199/ViewController.designer.cs new file mode 100644 index 000000000000..e57baa2fb3cc --- /dev/null +++ b/tests/common/mac/TestProjects/Issue3199/ViewController.designer.cs @@ -0,0 +1,16 @@ +// WARNING +// +// This file has been generated automatically by Xamarin Studio to store outlets and +// actions made in the UI designer. If it is removed, they will be lost. +// Manual changes to this file may not be handled correctly. +// +using Foundation; + +namespace MacIssue3199 { + [Register ("ViewController")] + partial class ViewController { + void ReleaseDesignerOutlets () + { + } + } +} diff --git a/tests/msbuild-mac/msbuild-mac.csproj b/tests/msbuild-mac/msbuild-mac.csproj index 371921e92e68..b76494a2f5ea 100644 --- a/tests/msbuild-mac/msbuild-mac.csproj +++ b/tests/msbuild-mac/msbuild-mac.csproj @@ -65,6 +65,7 @@ Profile.cs + diff --git a/tests/msbuild-mac/src/Issue3199.cs b/tests/msbuild-mac/src/Issue3199.cs new file mode 100644 index 000000000000..05b98aa61fbc --- /dev/null +++ b/tests/msbuild-mac/src/Issue3199.cs @@ -0,0 +1,24 @@ +using System; +using System.IO; +using System.Text; + +using NUnit.Framework; + +namespace Xamarin.MMP.Tests +{ + [TestFixture] + public class Issue3199 + { + public string TestProjectRoot => Path.Combine (TI.FindSourceDirectory (), "TestProjects"); + + [Test] + public void BuildTest () + { + var projectName = "Issue3199"; + var projectPath = Path.Combine (TestProjectRoot, projectName, $"{projectName}.csproj"); + + TI.CleanUnifiedProject (projectPath); + TI.BuildProject (projectPath, true); + } + } +}