commit mono/mono@2acdc49ff6
Author: Zoltan Varga <vargaz@gmail.com>
Date: Fri Sep 9 03:14:12 2016 +0200
[llvm] Disable llvm again for methods with large basic blocks in non-llvm-only mode, the workaround doesn't seem to work. Fixes#42395.
This is a backport of PR #810.
http://bugzilla.xamarin.com/show_bug.cgi?id=42395
* [msbuild] Even iOS Simulator builds now require signing certificates (#809)
Now that dylibs and frameworks are required to be signed in order to
run on the Simulator, we cannot allow the DetectSigningIdentity task
to return success if it didn't find a codesign key.
* [msbuild] Allow codesigning Simulator builds w/o the need of a developer cert (#833)
* [msbuild] Even iOS Simulator builds now require signing certificates (#809)
Now that dylibs and frameworks are required to be signed in order to
run on the Simulator, we cannot allow the DetectSigningIdentity task
to return success if it didn't find a codesign key.
* [msbuild] Allow codesigning Simulator builds w/o the need of a developer cert (#833)
The video compression property is defined as this in the headers:
NSDictionary <NSString *, NSObject <NSCoding, NSSecureCoding> *>
so I'm not sure how it ended up being bound as NSDictionary<NSNumber,
NSSecureCoding> (maybe something from an earlier beta?).
I'm also adding a strongly typed version of the dictionary, since the header
documentation says "AVVideoCompressionPropertiesKey in
<AVFoundation/AVVideoSettings.h> for available properties.".
The manual binding is required because the generator doesn't like generic weak
dictionaries (it generates invalid code).
* [msbuild] Fixed the mmp task to make sure the MonoBundle dir exists before enumerating its files (#787)
* [msbuild] Parse the mmp ExtraArgs to get the custom mono bundle dir name (#790)
The mmp utility allows users to pass -custom_bundle_name to specify
a custom directory name to use instead of MonoBundle, so we need to
parse the extra args to extract this value so that we can scan that
directory for dylibs to codesign.
* [msbuild] Check that ExtraArgs is not null before parsing
* [msbuild] FIxed accidental typo in last commit
* [introspection] Implement system version check for watchOS.
Fixes a P/Invoke test that should be skipped when running on
older OS versions.
* [tests] Add availability attributes to fix running introspection tests on older watchOS devices.
We now want the build error to always show up.
monotouch.dll will be shipped with XI 10 to allow migration (dependent on the dll being available).
Therefore the check wasn't valid anymore because it was only applying the error if monotouch.dll wasn't there.
This was done to avoid breaking our internal tests but we should actually be fine, if not we'll update the tests.
https://bugzilla.xamarin.com/show_bug.cgi?id=43579
We are removing the following 3 protocol members
- UITextFieldDelegate.EditingEnded2 (UITextField textField, UITextFieldDidEndEditingReason reason)
- UITextViewDelegate.ShouldInteractWithUrl2 (UITextView textView, NSUrl url, NSRange characterRange, UITextItemInteraction interaction)
- UITextViewDelegate.ShouldInteractWithTextAttachment2 (UITextView textView, NSTextAttachment textAttachment, NSRange characterRange, UITextItemInteraction interaction)
Reasons:
- We need to fix bug https://bugzilla.xamarin.com/show_bug.cgi?id=43579
- Bad naming, we do not want 2 suffix
Hopefully we can have this ready for C8SR0 or C8SR1
HomeKit was added to tvOS in tvOS 10, which means every type was
introduced in tvOS 10, which means we only need availability attributes
on the types, never the individual members.
`Trigger` can be both a verb and a noun, but according to Apple's
documentation it's a noun in these cases (the method 'Creates and returns a
trigger'), so add the verb `Create` to make the meaning clear (and follow API
guidelines that say methods should have a verb).
It turns out `MTLHeapDescriptor` does not exists on the simulator.
```Undefined symbols for architecture x86_64:
"_OBJC_CLASS_$_MTLHeapDescriptor", referenced from:
objc-class-ref in AppDelegate.o
ld: symbol(s) not found for architecture x86_64```
A `[DisableDefaultCtor]` was used (by mistake / lack of documentation)
and this was hiding the issue (on our bots).
However on device introspection was not happy:
iOSApiSelectorTest
[FAIL] Selector not found for Metal.MTLHeapDescriptor : cpuCacheMode
[FAIL] Selector not found for Metal.MTLHeapDescriptor : setCpuCacheMode:
[FAIL] Selector not found for Metal.MTLHeapDescriptor : size
[FAIL] Selector not found for Metal.MTLHeapDescriptor : setSize:
[FAIL] Selector not found for Metal.MTLHeapDescriptor : storageMode
[FAIL] Selector not found for Metal.MTLHeapDescriptor : setStorageMode:
[FAIL] iOSApiSelectorTest.ApiSelectorTest.InstanceMethods : 6 errors found in 18339 instance selector validated
Note that these are the properties, not the `init` that's mentioned here.
So first `init` is possible, on devices, from Xcode:
MTLHeapDescriptor *hd = [[MTLHeapDescriptor alloc] init];
NSLog (@"%@", [hd description]);
gives
<MTLHeapDescriptorInternal: 0x17401da50>
{
cpuCacheMode = MTLCPUCacheModeDefaultCache;
size = 0;
storageMode = MTLStorageModePrivate;
}
so we need to remove our `[DisableDefaultCtor]`.
That does not fix the selectors above... but note the *Internal type
returned, they are forwarded and that's generally something that
respondToSelector (that introspection uses) does not cover.
But, to be sure, we add unit tests showing all the properties are
working like expected :-)
* [cloudkit] Some fixes after auditing
* Fix and simplify CKUserIdentityLookupInfo creation from email / phone#
* Call InitializeHandle to "handle" null handles (and throw instead of
crashing)
* Reduce internal metadata (and code) to create them
* CKNotificationType: Remove extra [Watch (3,0)] on member (all new in 3.0)
* CKSubscriptionType: Fix inconsistency in wrt watchOS (type not available)
* CKRecord: Remove `Record` prefix from new fields (consistency)
* Fix build
The generator does not currently offer flexibility for constraints.
That's made harder since binding files uses attributes, [BaseType], to
define the type hierarchy.
Here we cheat as we can add, non-decorated, interfaces in the bindings
that won't generate anything - they are only to please the compiler or,
in this case, it let us fool the generator into producing the code we
need (because it does not consider the namespace)
Based on Alex elegant attempt to fix this in:
https://github.com/xamarin/xamarin-macios/pull/780
Generated code diff:
https://gist.github.com/spouliot/eeef3491a6e08d9344a19e9bbc632848
* [runtime] Use printf on watchOS, NSLog doesn't shown up (by default).
* [runtime] Use a wrapper function for logging.
So that we can chose between printf and NSLog at runtime,
depending on where we're running.
Due to the deprecation of classic we needed to provide a better and single error message
rather than the countless msbuild errors you'd have because you'd be missing monotouch.dll
* Migrate MySingleView & MyLibrary to Unified