Граф коммитов

1296 Коммитов

Автор SHA1 Сообщение Дата
Jeffrey Stedfast ee8eac1237 [msbuild] Only include *.dylibs from the app bundle for codesigning (i.e. not from child PlugIns) (#725)
Fixes https://bugzilla.xamarin.com/show_bug.cgi?id=43890
2016-09-01 11:43:26 -04:00
Rolf Bjarne Kvinge 1d17cc6390 Add support for debugging over http. Fixes #41554.
The watchOS device has limited networking support; in particular
it does not allow inbound/output network connections using 'bind'
(kernel-level sandbox restrictions).

This means that we can't use BSD sockets to connect to the debugger
in the IDE on the desktop. Instead we create an http tunnel that
knows how to convert socket send/recv data into http requests on
both sides.

https://bugzilla.xamarin.com/show_bug.cgi?id=41554
2016-09-01 16:55:49 +02:00
Rolf Bjarne Kvinge 7a4536c8f0 [runtime] Check if debug mode is specified in environment variables. 2016-09-01 16:55:48 +02:00
Rolf Bjarne Kvinge 5a13600e20 [runtime] Make the debugger mode an enum instead of bool to allow more than two debugger modes. 2016-09-01 16:55:47 +02:00
Rolf Bjarne Kvinge 1b9c638020 [runtime] Only enable debugging on watchOS devices if a native debugger is also attached.
Launching a watchOS extension on device with the managed debugger
attached is slow, which means that the launch watchdog will kick in
and kill the app before it has launched.

So we attach the native debugger as well, which prevents the launch
watchdog from killing the app. Incidentally it also makes watchOS
not background the app.

We're using private API to determine whether a native debugger is
attached, but it's only in debug code, and as such would not be
included in release builds for customer apps. Also the code is
currently limited to watchOS since it's not needed on other
platforms for now.
2016-09-01 16:55:47 +02:00
Rolf Bjarne Kvinge 88dcc52a35 Merge pull request #707 from rolfbjarne/msbuild-allow-http-for-watchos-debugging
[msbuild] Set NSAllowArbitraryLoads when debugging watchOS apps.
2016-09-01 16:48:56 +02:00
Rolf Bjarne Kvinge 70f1346bf3 Create iOS 32-bit dylibs with min iOS version 8.0. Fixes #43102. (#731)
64-bit iOS 9+ devices have a pagesize of 16kb (even when running 32-bit apps).
This means all executable code must have sectors aligned to 16kb when running
on such devices.

The native linker uses the min iOS version to determine the sector alignment;
if min iOS version is < 8.0, then the sector alignment is 4k, otherwise 16k.

This means that when we create our 32-bit dylibs we must link them with a min
iOS version of 8.0, or they won't work on a 64-bit device in a 32-bit app (bug

So change our makefiles to link armv7[s] dylibs with min iOS version 8.0.

[1] https://bugzilla.xamarin.com/show_bug.cgi?id=43102
2016-09-01 15:45:23 +02:00
Jeffrey Stedfast 3ebed206e1 [msbuild] Only include *.dylibs from the app bundle for codesigning (i.e. not from child PlugIns) (#725)
Fixes https://bugzilla.xamarin.com/show_bug.cgi?id=43890
2016-09-01 15:42:07 +02:00
Alex Rønne Petersen 7698a0ba72 Bump Mono to 7a0dc52051d31d409e69f88d23a970766433e085. 2016-09-01 13:04:52 +02:00
Sebastien Pouliot 3428fdc400 [tests] Update monotouch-test to add version checks when executing on older iOS versions. Fixes #43920 (#729)
Tested with iOS 9.3, 8.4 and 6.1.

https://bugzilla.xamarin.com/show_bug.cgi?id=43920
2016-08-31 23:08:54 -04:00
Sebastien Pouliot dee28db07f [watchos] Remove AudioUnit from profile (#728)
The types were, finally, not needed once the final AVFoundation (and
AudioToolkit / CoreAudio) API was completed.
2016-08-31 21:40:09 -04:00
Alex Soto ba6b415fb2 Merge pull request #727 from spouliot/intro-fix-ios84
[tests][intro] Fix availability attributes to match reality (not headers) down to iOS 8.4
2016-08-31 17:54:45 -05:00
Sebastien Pouliot d9c309b85d [modelio] Fix several incorrect (headers) availability on new API (only in iOS10, not 9) (#726) 2016-08-31 17:59:53 -04:00
Sebastien Pouliot 60e650ae6d [tests][intro] Fix availability attributes to match reality (not headers) down to iOS 8.4 2016-08-31 17:34:02 -04:00
Alex Soto 197b6ca0f1 Merge pull request #722 from spouliot/un-api-fixes
[usernotifications] Fix some API (mostly abstract / default .ctor) after auditing
2016-08-31 14:12:09 -05:00
Rolf Bjarne Kvinge 91b8f958b9 [msbuild] Set NSAllowArbitraryLoads when debugging watchOS apps.
The only way to have reliable http connections from the watchOS 2 device
to the mac is to set NSAllowArbitraryLoads.

See also: https://forums.developer.apple.com/thread/6205
2016-08-31 19:43:21 +02:00
Rolf Bjarne Kvinge 7d96d81e52 [msbuild] Move detection of network configuration to a separate task. 2016-08-31 19:43:21 +02:00
Sebastien Pouliot 1c1a764a53 Bump maccore to get the latest revision of mono-extensions/mono-4.6.0-branch (#724) 2016-08-31 13:24:46 -04:00
Alexander Köplinger 4eca55b2d6 Bump mono to the latest 4.6 revision (#723) 2016-08-31 11:05:31 -04:00
Rolf Bjarne Kvinge 2d122802ab Update gitignore. (#721)
Newer versions of Xamarin Studio are producing *.user files now,
so ignore those.
2016-08-31 10:13:51 -04:00
Sebastien Pouliot 720da547ca [usernotifications] Fix some API (mostly abstract / default .ctor) after auditing
* Added comments why [DisableDefaultCtor] was applied (confirmed with
  Apple docs);

* Hide UNNotificationAttachmentOptionsKeys used for StrongDictionary
  as they don't seems required anywhere else right now (and can be
  exposed later if needed);

* Disable default .ctor on UNNotificationContent as per docs:

	> Do not create instances of this class directly.
	https://developer.apple.com/reference/usernotifications/unnotificationcontent?language=objc

* Disable default .ctor on UNTextInputNotificationResponse as per docs:

	> You do not create instances of this class yourself.
	https://developer.apple.com/reference/usernotifications/untextinputnotificationresponse?language=objc

* Disable default .ctor on UNNotificationSettings as per docs:

	> You do not create instances of this class directly.
	https://developer.apple.com/reference/usernotifications/unnotificationsettings?language=objc

* Renamed UNNotificationSound.DefaultSound to UNNotificationSound.Default.
  That's shorter and also match the swift property name.

	> Added UNNotificationSound.default() [class]
	https://developer.apple.com/library/prerelease/content/releasenotes/General/iOS10APIDiffs/Swift/UserNotifications.html

* Made UNNotificationTrigger abstract as per Apple docs:

	> The UNNotificationTrigger class is an abstract class for...
	https://developer.apple.com/reference/usernotifications/unnotificationtrigger?language=objc

* Renamed UNUserNotificationCenter.CurrentNotificationCenter to Current.
  That's shorter and also match the swift property name.

	> Added UNUserNotificationCenter.current() -> UNUserNotificationCenter [class]
	https://developer.apple.com/library/prerelease/content/releasenotes/General/iOS10APIDiffs/Swift/UserNotifications.html
2016-08-31 10:11:26 -04:00
Rolf Bjarne Kvinge 29918ffbc2 Update gitignore. (#721)
Newer versions of Xamarin Studio are producing *.user files now,
so ignore those.
2016-08-31 10:09:48 -04:00
Alex Soto b8a2ced04b [Midi] Fix bug 43582 - MidiEndpoint throws, bad dispose of GCHandle
https://bugzilla.xamarin.com/show_bug.cgi?id=43582

- Thanks to @olegoid for the actual investigation and fix
- Added test that verifies the fix
2016-08-31 08:48:11 -04:00
Alex Soto a8ba2f8b17 [AudioUnit] Fix bug 43829 - AudioUnit._AUImplementorStringFromValueCallback removed from XamMac.dll and Xamarin.Mac.dll (#716)
https://bugzilla.xamarin.com/show_bug.cgi?id=43829

commit 1f207bd3f3df363cb5a74e59b93acd8eb6e1fec2 in xamarin/maccore
introduced some breaking changes, those were fixed in a later commit
but this was forgotten for Xamarin.Mac
2016-08-31 08:20:34 -04:00
Manuel de la Pena 4de097effa [mtouch] Better error handling when copying the aot files. (#720) 2016-08-31 08:18:41 -04:00
Rolf Bjarne Kvinge 7de44f3253 [tests] Fix a couple of registrar tests to work on device. (#719)
Fixes the following test failures:

    [FAIL] BlockSignatureTest.WithoutUserDelegateTypeAttribute : System.ExecutionEngineException : Attempting to JIT compile method '(wrapper native-to-managed) MonoTouchFixtures.ObjCRuntime.BlockSignatureTest:<WithoutUserDelegateTypeAttribute>m__0 (intptr,intptr)' while running with --aot-only. See http://docs.xamarin.com/ios/about/limitations for more information.
    	  at (wrapper managed-to-native) System.Runtime.InteropServices.Marshal:GetFunctionPointerForDelegateInternal (System.Delegate)
    	  at System.Runtime.InteropServices.Marshal.GetFunctionPointerForDelegate (System.Delegate d) [0x00011] in /work/maccore/xcode8/xamarin-macios/_ios-build/Library/Frameworks/Xamarin.iOS.framework/Versions/git/src/mono/mcs/class/corlib/System.Runtime.InteropServices/Marshal.cs:1714
    	  at ObjCRuntime.BlockLiteral.SetupBlock (System.Delegate trampoline, System.Delegate userDelegate) [0x0000b] in /work/maccore/xcode8/xamarin-macios/src/ObjCRuntime/Blocks.cs:92
    	  at MonoTouchFixtures.ObjCRuntime.BlockSignatureTest.WithoutUserDelegateTypeAttribute () [0x00049] in /work/maccore/xcode8/xamarin-macios/tests/monotouch-test/ObjCRuntime/RegistrarTest.cs:2585
    	  at (wrapper managed-to-native) System.Reflection.MonoMethod:InternalInvoke (System.Reflection.MonoMethod,object,object[],System.Exception&)
    	  at System.Reflection.MonoMethod.Invoke (System.Object obj, System.Reflection.BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, System.Globalization.CultureInfo culture) [0x00038] in /work/maccore/xcode8/xamarin-macios/_ios-build/Library/Frameworks/Xamarin.iOS.framework/Versions/git/src/mono/mcs/class/corlib/System.Reflection/MonoMethod.cs:309

    [FAIL] BlockSignatureTest.WithUserDelegateTypeAttribute : System.ExecutionEngineException : Attempting to JIT compile method '(wrapper native-to-managed) MonoTouchFixtures.ObjCRuntime.BlockSignatureTest:<WithUserDelegateTypeAttribute>m__2 (intptr,intptr)' while running with --aot-only. See http://docs.xamarin.com/ios/about/limitations for more information.
    	  at (wrapper managed-to-native) System.Runtime.InteropServices.Marshal:GetFunctionPointerForDelegateInternal (System.Delegate)
    	  at System.Runtime.InteropServices.Marshal.GetFunctionPointerForDelegate (System.Delegate d) [0x00011] in /work/maccore/xcode8/xamarin-macios/_ios-build/Library/Frameworks/Xamarin.iOS.framework/Versions/git/src/mono/mcs/class/corlib/System.Runtime.InteropServices/Marshal.cs:1714
    	  at ObjCRuntime.BlockLiteral.SetupBlock (System.Delegate trampoline, System.Delegate userDelegate) [0x0000b] in /work/maccore/xcode8/xamarin-macios/src/ObjCRuntime/Blocks.cs:92
    	  at MonoTouchFixtures.ObjCRuntime.BlockSignatureTest.WithUserDelegateTypeAttribute () [0x00049] in /work/maccore/xcode8/xamarin-macios/tests/monotouch-test/ObjCRuntime/RegistrarTest.cs:2596
    	  at (wrapper managed-to-native) System.Reflection.MonoMethod:InternalInvoke (System.Reflection.MonoMethod,object,object[],System.Exception&)
    	  at System.Reflection.MonoMethod.Invoke (System.Object obj, System.Reflection.BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, System.Globalization.CultureInfo culture) [0x00038] in /work/maccore/xcode8/xamarin-macios/_ios-build/Library/Frameworks/Xamarin.iOS.framework/Versions/git/src/mono/mcs/class/corlib/System.Reflection/MonoMethod.cs:309
2016-08-31 13:54:47 +02:00
Rolf Bjarne Kvinge d632f9e3be Merge pull request #717 from xamarin/bug43582
[Midi] Fix bug 43582 - MidiEndpoint throws, bad dispose of GCHandle
2016-08-31 11:19:05 +02:00
Rolf Bjarne Kvinge 875afb4260 [mtouch] Do not use the process task to execute the copy of aot files. Use a normal child process that blocks. Adds very little overhead since it is similar to the copy we had in c#. (#718) 2016-08-31 11:14:30 +02:00
Manuel de la Pena dd24c96ae2 [mtouch] Do not use the process task to execute the copy of aot files. Use a normal child process that blocks. Adds very little overhead since it is similar to the copy we had in c#. 2016-08-31 10:01:18 +02:00
Alex Soto 83cfa197a9 [Midi] Fix bug 43582 - MidiEndpoint throws, bad dispose of GCHandle
https://bugzilla.xamarin.com/show_bug.cgi?id=43582

- Thanks to @olegoid for the actual investigation and fix
- Added test that verifies the fix
2016-08-31 01:48:28 -05:00
Alex Soto 04bca5ab1a Merge pull request #715 from spouliot/speech-fixes
[speech] Some audit-related fixes to bindings
2016-08-30 20:50:44 -05:00
Alex Soto 7dab51130f Merge pull request #714 from spouliot/messages-abstract-fix
[messages] MSMessageLayout should be an abstract type
2016-08-30 20:11:25 -05:00
Sebastien Pouliot a61380369c [speech] Some audit-related fixes to bindings
* Made SFSpeechRecognitionRequest abstract. We do not have docs from
  Apple but there's no way (init*) to create instances unlike it's two
  subclasses (and it won't be a breaking change if I'm wrong);

* Renamed TaskWasCancelled -> WasCancelled. All other members of the
  protocol starts with a verb (and Task is the suffix of the type name);

* Use the same (as ObjC) parameter name for GetRecognitionTask, just
  escape it with `@` so the C# compiler accept it (keyword otherwise)
2016-08-30 20:50:25 -04:00
Sebastien Pouliot 7e1529eed0 [messages] MSMessageLayout should be an abstract type
> The MSMessageLayout class is an abstract base class that defines

reference:
https://developer.apple.com/reference/messages/msmessagelayout?language=objc
2016-08-30 20:13:57 -04:00
Alex Soto 301ac17465 [Intents] Fix bug 43889 - INIntent and INIntentResponse should be abstract (#713)
https://bugzilla.xamarin.com/show_bug.cgi?id=43889
2016-08-30 19:17:20 -04:00
Alex Soto 1a16d1c923 [UserNotification] Fix bug 43787 localizedUserNotificationStringForKey:arguments: not bound properly (#712)
https://bugzilla.xamarin.com/show_bug.cgi?id=43787
2016-08-30 19:16:32 -04:00
Sebastien Pouliot a2899b842c [cloudkit] Fix some missing .ctor (breaking changes) (#711)
Enabling CloudKit on watchOS required to remove some default .ctor that
watchOS does not _support_.

This commit fix this by either

* replacing the default .ctor with something that works across all
  platforms (best); or

* removing the default .ctor only on watchOS;

The commit also mark as abstract three existing types for watchOS (and
for XAMCORE_4_0) that were found reviewing the bindings.
2016-08-30 19:14:48 -04:00
Sebastien Pouliot 974ea0b792 Merge branch 'cycle8' into xcode8 2016-08-30 15:40:58 -04:00
Alex Soto 209f4f3709 [GameplayKit] Update from Xcode8 Beta 1 to Beta 6 (#689)
Runtime
- Added support for Vector2d, Vector3d and Vector4d SIMD types
- Added support for GKBox, GKQuad and GKTriangle SIMD types

GameplayKit
- Apple introduced GKQuadTreeNode and GKQuadTree in Xcode 7.1 and
  removed those types in a later Xcode (7.2?) but we kept them around.
  Now apple introduced again both types but renamed them to GKQuadtreeNode
  and GKQuadtree (lowercase t), this is a breaking change and since we do
  care about binary compat we are just changing the registration name and
  keeping the same managed name deprecating old methods and introducing
  the new ones.
- Added tests for new SIMD types
2016-08-30 15:32:46 -04:00
Sebastien Pouliot f74a7a7911 [messageui] Review (and add test) the enum breaking change from Apple. Fixes #42682 (#710)
Xcode8 SDK changed untyped enums (always 32 bits) into NSInteger. In this
case we can continue with the existing API (and ignore them in xtro)

reference:
https://bugzilla.xamarin.com/show_bug.cgi?id=42682
2016-08-30 14:26:49 -04:00
Rolf Bjarne Kvinge cbfd83be92 [xharness] Make sure a project reference's Name matches the file name of the reference. Fixes #43181. (#709)
Apparently XS can't find referenced project (to build them) otherwise.

It works fine when building using xbuild though.

https://bugzilla.xamarin.com/show_bug.cgi?id=43181
2016-08-30 13:32:32 -04:00
Rolf Bjarne Kvinge d9f8461cc2 [xharness] Make sure a project reference's Name matches the file name of the reference. Fixes #43181. (#709)
Apparently XS can't find referenced project (to build them) otherwise.

It works fine when building using xbuild though.

https://bugzilla.xamarin.com/show_bug.cgi?id=43181
2016-08-30 13:31:40 -04:00
Sebastien Pouliot eef1c7a7e0 Bump mono to the latest 4.6 revision (#708) 2016-08-30 11:27:52 -04:00
Chris Hamons a43115a85e [XM] Fix native dependency processing by mmp when linker is disabled (#613)
* [XM] Fix native dependency processing by mmp when linker is disabled

- https://bugzilla.xamarin.com/show_bug.cgi?id=43364
- Fixed via a hack for now. Fixed https://bugzilla.xamarin.com/show_bug.cgi?id=43419 to clean up later
- Added null check in ProcessDLLImports due to facades
2016-08-30 08:45:03 -04:00
Sebastien Pouliot 1d5bbedc61 Bump maccore to remove classic (monotouch.dll and friends) support from XI (#704)
Also stop processing the API diff for classic assemblies
2016-08-30 08:14:29 -04:00
Rolf Bjarne Kvinge e5bdbdd1ac Allow profiling + incremental builds on bitcode-capable targets again. (#706)
Mono bug [#41428](https://bugzilla.xamarin.com/show_bug.cgi?id=41428) has been fixed now,
which means we have profiler dylibs again, so we can enable profiling + incremental builds again.
2016-08-30 11:39:29 +02:00
Sebastien Pouliot 3c28e427ce [tests][xtro] Update data files (#705) 2016-08-29 22:06:14 -04:00
Sebastien Pouliot 7149661251 [mtouch|mmp] Add missing frameworks with platform versions (#703)
note: AVFoundation is commented on watchOS 3 as this breaks the static
registrar .a helper built for watchOS.

AVFoundation does a file check to enable some types - but the watchSimulator
include that file, leading to compilation errors later (missing CMTime.h)

	#if TARGET_OS_WATCH
	#if ! __has_include(<AVFoundation/AVAnimation.h>)
	#define AVF_IS_WATCHOS_SDK 1
	#endif
	#endif
2016-08-29 19:22:34 -04:00
Sebastien Pouliot 893c9fa3cd [intentsui] Simplify bindings for INImage_IntentsUI (#700)
Remove use of manual code by moving INImage_IntentsUI directly inside
intents.cs. Final API remains identical and this makes xtro pick them
up correctly.
2016-08-29 16:48:13 -04:00
Sebastien Pouliot 85f884c94d [corebluetooth] Update availability attributes for some obsolete (removed) API (#702)
references:
!extra-protocol-member! unexpected selector CBCentralManagerDelegate::centralManager:didRetrieveConnectedPeripherals: found
!extra-protocol-member! unexpected selector CBCentralManagerDelegate::centralManager:didRetrievePeripherals: found
!extra-protocol-member! unexpected selector CBPeripheralDelegate::peripheralDidInvalidateServices: found
2016-08-29 16:48:03 -04:00