Merge remote-tracking branch 'origin/master' into xcode8
This commit is contained in:
Коммит
1a1958f52d
|
@ -27,6 +27,9 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "dont link", "tests\linker-i
|
||||||
EndProject
|
EndProject
|
||||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "bindings-generator", "runtime\bindings-generator.csproj", "{6B616492-49F0-43EF-8390-F9D1B4CCC632}"
|
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "bindings-generator", "runtime\bindings-generator.csproj", "{6B616492-49F0-43EF-8390-F9D1B4CCC632}"
|
||||||
EndProject
|
EndProject
|
||||||
|
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "generator", "src\generator.csproj", "{5FC1B67F-2F54-478D-8C76-2BD21AF8E3C7}"
|
||||||
|
EndProject
|
||||||
|
EndProject
|
||||||
Global
|
Global
|
||||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||||
Debug|Any CPU = Debug|Any CPU
|
Debug|Any CPU = Debug|Any CPU
|
||||||
|
@ -480,6 +483,44 @@ Global
|
||||||
{6B616492-49F0-43EF-8390-F9D1B4CCC632}.Debug|x86.Build.0 = Debug|x86
|
{6B616492-49F0-43EF-8390-F9D1B4CCC632}.Debug|x86.Build.0 = Debug|x86
|
||||||
{6B616492-49F0-43EF-8390-F9D1B4CCC632}.Release|x86.ActiveCfg = Release|x86
|
{6B616492-49F0-43EF-8390-F9D1B4CCC632}.Release|x86.ActiveCfg = Release|x86
|
||||||
{6B616492-49F0-43EF-8390-F9D1B4CCC632}.Release|x86.Build.0 = Release|x86
|
{6B616492-49F0-43EF-8390-F9D1B4CCC632}.Release|x86.Build.0 = Release|x86
|
||||||
|
{5FC1B67F-2F54-478D-8C76-2BD21AF8E3C7}.Debug|Any CPU.ActiveCfg = Debug|x86
|
||||||
|
{5FC1B67F-2F54-478D-8C76-2BD21AF8E3C7}.Debug|Any CPU.Build.0 = Debug|x86
|
||||||
|
{5FC1B67F-2F54-478D-8C76-2BD21AF8E3C7}.Release|Any CPU.ActiveCfg = Release|x86
|
||||||
|
{5FC1B67F-2F54-478D-8C76-2BD21AF8E3C7}.Release|Any CPU.Build.0 = Release|x86
|
||||||
|
{5FC1B67F-2F54-478D-8C76-2BD21AF8E3C7}.net_2_0_Debug|Any CPU.ActiveCfg = Debug|x86
|
||||||
|
{5FC1B67F-2F54-478D-8C76-2BD21AF8E3C7}.net_2_0_Debug|Any CPU.Build.0 = Debug|x86
|
||||||
|
{5FC1B67F-2F54-478D-8C76-2BD21AF8E3C7}.net_2_0_Release|Any CPU.ActiveCfg = Debug|x86
|
||||||
|
{5FC1B67F-2F54-478D-8C76-2BD21AF8E3C7}.net_2_0_Release|Any CPU.Build.0 = Debug|x86
|
||||||
|
{5FC1B67F-2F54-478D-8C76-2BD21AF8E3C7}.net_3_5_Debug|Any CPU.ActiveCfg = Debug|x86
|
||||||
|
{5FC1B67F-2F54-478D-8C76-2BD21AF8E3C7}.net_3_5_Debug|Any CPU.Build.0 = Debug|x86
|
||||||
|
{5FC1B67F-2F54-478D-8C76-2BD21AF8E3C7}.net_3_5_Release|Any CPU.ActiveCfg = Debug|x86
|
||||||
|
{5FC1B67F-2F54-478D-8C76-2BD21AF8E3C7}.net_3_5_Release|Any CPU.Build.0 = Debug|x86
|
||||||
|
{5FC1B67F-2F54-478D-8C76-2BD21AF8E3C7}.net_4_0_Debug|Any CPU.ActiveCfg = Debug|x86
|
||||||
|
{5FC1B67F-2F54-478D-8C76-2BD21AF8E3C7}.net_4_0_Debug|Any CPU.Build.0 = Debug|x86
|
||||||
|
{5FC1B67F-2F54-478D-8C76-2BD21AF8E3C7}.net_4_0_Release|Any CPU.ActiveCfg = Debug|x86
|
||||||
|
{5FC1B67F-2F54-478D-8C76-2BD21AF8E3C7}.net_4_0_Release|Any CPU.Build.0 = Debug|x86
|
||||||
|
{5FC1B67F-2F54-478D-8C76-2BD21AF8E3C7}.silverlight_Debug|Any CPU.ActiveCfg = Debug|x86
|
||||||
|
{5FC1B67F-2F54-478D-8C76-2BD21AF8E3C7}.silverlight_Debug|Any CPU.Build.0 = Debug|x86
|
||||||
|
{5FC1B67F-2F54-478D-8C76-2BD21AF8E3C7}.silverlight_Release|Any CPU.ActiveCfg = Debug|x86
|
||||||
|
{5FC1B67F-2F54-478D-8C76-2BD21AF8E3C7}.silverlight_Release|Any CPU.Build.0 = Debug|x86
|
||||||
|
{5FC1B67F-2F54-478D-8C76-2BD21AF8E3C7}.winphone_Debug|Any CPU.ActiveCfg = Debug|x86
|
||||||
|
{5FC1B67F-2F54-478D-8C76-2BD21AF8E3C7}.winphone_Debug|Any CPU.Build.0 = Debug|x86
|
||||||
|
{5FC1B67F-2F54-478D-8C76-2BD21AF8E3C7}.winphone_Release|Any CPU.ActiveCfg = Debug|x86
|
||||||
|
{5FC1B67F-2F54-478D-8C76-2BD21AF8E3C7}.winphone_Release|Any CPU.Build.0 = Debug|x86
|
||||||
|
{5FC1B67F-2F54-478D-8C76-2BD21AF8E3C7}.Debug|iPhoneSimulator.ActiveCfg = Debug|x86
|
||||||
|
{5FC1B67F-2F54-478D-8C76-2BD21AF8E3C7}.Debug|iPhoneSimulator.Build.0 = Debug|x86
|
||||||
|
{5FC1B67F-2F54-478D-8C76-2BD21AF8E3C7}.Release|iPhoneSimulator.ActiveCfg = Release|x86
|
||||||
|
{5FC1B67F-2F54-478D-8C76-2BD21AF8E3C7}.Release|iPhoneSimulator.Build.0 = Release|x86
|
||||||
|
{5FC1B67F-2F54-478D-8C76-2BD21AF8E3C7}.Debug|iPhone.ActiveCfg = Debug|x86
|
||||||
|
{5FC1B67F-2F54-478D-8C76-2BD21AF8E3C7}.Debug|iPhone.Build.0 = Debug|x86
|
||||||
|
{5FC1B67F-2F54-478D-8C76-2BD21AF8E3C7}.Release|iPhone.ActiveCfg = Release|x86
|
||||||
|
{5FC1B67F-2F54-478D-8C76-2BD21AF8E3C7}.Release|iPhone.Build.0 = Release|x86
|
||||||
|
{5FC1B67F-2F54-478D-8C76-2BD21AF8E3C7}.DebugStaticRegistrar|iPhone.ActiveCfg = Debug|x86
|
||||||
|
{5FC1B67F-2F54-478D-8C76-2BD21AF8E3C7}.DebugStaticRegistrar|iPhone.Build.0 = Debug|x86
|
||||||
|
{5FC1B67F-2F54-478D-8C76-2BD21AF8E3C7}.Debug|x86.ActiveCfg = Debug|x86
|
||||||
|
{5FC1B67F-2F54-478D-8C76-2BD21AF8E3C7}.Debug|x86.Build.0 = Debug|x86
|
||||||
|
{5FC1B67F-2F54-478D-8C76-2BD21AF8E3C7}.Release|x86.ActiveCfg = Release|x86
|
||||||
|
{5FC1B67F-2F54-478D-8C76-2BD21AF8E3C7}.Release|x86.Build.0 = Release|x86
|
||||||
EndGlobalSection
|
EndGlobalSection
|
||||||
GlobalSection(NestedProjects) = preSolution
|
GlobalSection(NestedProjects) = preSolution
|
||||||
{208744BD-504E-47D7-9A98-1CF02454A6DA} = {2BFA13F8-B568-48BF-9A70-9D43F718C523}
|
{208744BD-504E-47D7-9A98-1CF02454A6DA} = {2BFA13F8-B568-48BF-9A70-9D43F718C523}
|
||||||
|
|
|
@ -1 +1 @@
|
||||||
Subproject commit 69a652402ad62fcfd2df5a24ea12047f5f09b1cf
|
Subproject commit 93ba5180067271f29f69c518610506e78d8150a5
|
|
@ -1,5 +1,5 @@
|
||||||
ifdef ENABLE_XAMARIN
|
ifdef ENABLE_XAMARIN
|
||||||
NEEDED_MACCORE_VERSION := f3cffa4f96b4a765cc9c572dab258632aea0e7a6
|
NEEDED_MACCORE_VERSION := adc51e7ee1e8c699cd36e59f431476c26cab3135
|
||||||
NEEDED_MACCORE_BRANCH := xcode8
|
NEEDED_MACCORE_BRANCH := xcode8
|
||||||
|
|
||||||
MACCORE_DIRECTORY := maccore
|
MACCORE_DIRECTORY := maccore
|
||||||
|
|
|
@ -14,6 +14,8 @@ namespace Xamarin.iOS.Tasks
|
||||||
{
|
{
|
||||||
public ITaskItem[] AppExtensionReferences { get; set; }
|
public ITaskItem[] AppExtensionReferences { get; set; }
|
||||||
|
|
||||||
|
public ITaskItem[] WatchAppReferences { get; set; }
|
||||||
|
|
||||||
static bool IsWatchAppExtension (ITaskItem appex, PDictionary plist, out string watchAppBundleDir)
|
static bool IsWatchAppExtension (ITaskItem appex, PDictionary plist, out string watchAppBundleDir)
|
||||||
{
|
{
|
||||||
PString expectedBundleIdentifier, bundleIdentifier, extensionPoint;
|
PString expectedBundleIdentifier, bundleIdentifier, extensionPoint;
|
||||||
|
@ -90,6 +92,31 @@ namespace Xamarin.iOS.Tasks
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void ArchiveWatchApp (ITaskItem watchApp, string archiveDir)
|
||||||
|
{
|
||||||
|
var wk = Path.Combine (watchApp.ItemSpec, "_WatchKitStub", "WK");
|
||||||
|
var supportDir = Path.Combine (archiveDir, "WatchKitSupport2");
|
||||||
|
|
||||||
|
if (File.Exists (wk) && !Directory.Exists (supportDir)) {
|
||||||
|
Directory.CreateDirectory (supportDir);
|
||||||
|
File.Copy (wk, Path.Combine (supportDir, "WK"), true);
|
||||||
|
}
|
||||||
|
|
||||||
|
var dsymDir = watchApp.ItemSpec + ".dSYM";
|
||||||
|
|
||||||
|
if (Directory.Exists (dsymDir)) {
|
||||||
|
var destDir = Path.Combine (archiveDir, "dSYMs", Path.GetFileName (dsymDir));
|
||||||
|
Ditto (dsymDir, destDir);
|
||||||
|
}
|
||||||
|
|
||||||
|
var msymDir = watchApp.ItemSpec + ".mSYM";
|
||||||
|
|
||||||
|
if (Directory.Exists (msymDir)) {
|
||||||
|
var destDir = Path.Combine (archiveDir, "mSYMs", Path.GetFileName (msymDir));
|
||||||
|
Ditto (msymDir, destDir);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
void AddIconPaths (PArray icons, PArray iconFiles, string productsDir)
|
void AddIconPaths (PArray icons, PArray iconFiles, string productsDir)
|
||||||
{
|
{
|
||||||
foreach (var icon in iconFiles.Cast<PString> ().Where (p => p.Value != null)) {
|
foreach (var icon in iconFiles.Cast<PString> ().Where (p => p.Value != null)) {
|
||||||
|
@ -126,6 +153,7 @@ namespace Xamarin.iOS.Tasks
|
||||||
Log.LogTaskProperty ("ProjectName", ProjectName);
|
Log.LogTaskProperty ("ProjectName", ProjectName);
|
||||||
Log.LogTaskProperty ("SigningKey", SigningKey);
|
Log.LogTaskProperty ("SigningKey", SigningKey);
|
||||||
Log.LogTaskProperty ("SolutionPath", SolutionPath);
|
Log.LogTaskProperty ("SolutionPath", SolutionPath);
|
||||||
|
Log.LogTaskProperty ("WatchAppReferences", WatchAppReferences);
|
||||||
|
|
||||||
var archiveDir = CreateArchiveDirectory ();
|
var archiveDir = CreateArchiveDirectory ();
|
||||||
|
|
||||||
|
@ -168,11 +196,17 @@ namespace Xamarin.iOS.Tasks
|
||||||
}
|
}
|
||||||
|
|
||||||
if (AppExtensionReferences != null) {
|
if (AppExtensionReferences != null) {
|
||||||
// Archive the dSYMs for each of the referenced App Extensions as well...
|
// Archive the dSYMs, mSYMs, etc for each of the referenced App Extensions as well...
|
||||||
for (int i = 0; i < AppExtensionReferences.Length; i++)
|
for (int i = 0; i < AppExtensionReferences.Length; i++)
|
||||||
ArchiveAppExtension (AppExtensionReferences[i], archiveDir);
|
ArchiveAppExtension (AppExtensionReferences[i], archiveDir);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (WatchAppReferences != null) {
|
||||||
|
// Archive the dSYMs, mSYMs, etc for each of the referenced WatchOS2 Apps as well...
|
||||||
|
for (int i = 0; i < WatchAppReferences.Length; i++)
|
||||||
|
ArchiveWatchApp(WatchAppReferences[i], archiveDir);
|
||||||
|
}
|
||||||
|
|
||||||
if (ITunesSourceFiles != null) {
|
if (ITunesSourceFiles != null) {
|
||||||
// Archive the iTunesMetadata.plist and iTunesArtwork files...
|
// Archive the iTunesMetadata.plist and iTunesArtwork files...
|
||||||
var iTunesMetadataDir = Path.Combine (archiveDir, "iTunesMetadata", Path.GetFileName (AppBundleDir.ItemSpec));
|
var iTunesMetadataDir = Path.Combine (archiveDir, "iTunesMetadata", Path.GetFileName (AppBundleDir.ItemSpec));
|
||||||
|
|
|
@ -84,6 +84,15 @@ Copyright (C) 2013-2016 Xamarin. All rights reserved.
|
||||||
<Import Project="$(MSBuildThisFileDirectory)$(MSBuildThisFileName).Before.targets"
|
<Import Project="$(MSBuildThisFileDirectory)$(MSBuildThisFileName).Before.targets"
|
||||||
Condition="Exists('$(MSBuildThisFileDirectory)$(MSBuildThisFileName).Before.targets')"/>
|
Condition="Exists('$(MSBuildThisFileDirectory)$(MSBuildThisFileName).Before.targets')"/>
|
||||||
|
|
||||||
|
<!-- *** Code Analysis Setup *** -->
|
||||||
|
|
||||||
|
<PropertyGroup>
|
||||||
|
<XamarinAnalysisTargetsFile Condition="Exists ('$(MSBuildThisFileDirectory)Xamarin.iOS.Analysis.targets')">$(MSBuildThisFileDirectory)Xamarin.iOS.Analysis.targets</XamarinAnalysisTargetsFile>
|
||||||
|
</PropertyGroup>
|
||||||
|
|
||||||
|
<Import Project="$(MSBuildThisFileDirectory)Xamarin.Analysis.targets"
|
||||||
|
Condition="Exists('$(MSBuildThisFileDirectory)Xamarin.Analysis.targets')" />
|
||||||
|
|
||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
<!-- Switching to a new property allows us to potentially switch from iPhone to simulator builds
|
<!-- Switching to a new property allows us to potentially switch from iPhone to simulator builds
|
||||||
dynamically based on the user's selection when starting the project. This allows us to
|
dynamically based on the user's selection when starting the project. This allows us to
|
||||||
|
@ -275,8 +284,8 @@ Copyright (C) 2013-2016 Xamarin. All rights reserved.
|
||||||
_CreateDebugConfiguration;
|
_CreateDebugConfiguration;
|
||||||
_CreatePkgInfo;
|
_CreatePkgInfo;
|
||||||
_CopyAppExtensionsToBundle;
|
_CopyAppExtensionsToBundle;
|
||||||
_CopyWatchAppsToBundle;
|
_CopyWatchOS1AppsToBundle;
|
||||||
_CopyWatch2AppsToBundle;
|
_CopyWatchOS2AppsToBundle;
|
||||||
_GenerateDebugSymbols;
|
_GenerateDebugSymbols;
|
||||||
_ValidateAppBundle;
|
_ValidateAppBundle;
|
||||||
</CreateAppBundleDependsOn>
|
</CreateAppBundleDependsOn>
|
||||||
|
@ -1442,7 +1451,7 @@ Copyright (C) 2013-2016 Xamarin. All rights reserved.
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
</Target>
|
</Target>
|
||||||
|
|
||||||
<Target Name="_CopyWatchAppsToBundle" Condition="'$(IsAppExtension)' == 'true'" DependsOnTargets="_ResolveWatchAppReferences">
|
<Target Name="_CopyWatchOS1AppsToBundle" Condition="'$(IsAppExtension)' == 'true'" DependsOnTargets="_ResolveWatchAppReferences">
|
||||||
<Ditto
|
<Ditto
|
||||||
SessionId="$(BuildSessionId)"
|
SessionId="$(BuildSessionId)"
|
||||||
Condition="'$(IsMacEnabled)' And '@(_ResolvedWatchAppReferences)' != '' And '%(_ResolvedWatchAppReferences.Identity)' != ''"
|
Condition="'$(IsMacEnabled)' And '@(_ResolvedWatchAppReferences)' != '' And '%(_ResolvedWatchAppReferences.Identity)' != ''"
|
||||||
|
@ -1453,7 +1462,7 @@ Copyright (C) 2013-2016 Xamarin. All rights reserved.
|
||||||
/>
|
/>
|
||||||
</Target>
|
</Target>
|
||||||
|
|
||||||
<Target Name="_CopyWatch2AppsToBundle" Condition="'$(OutputType)' == 'Exe'" DependsOnTargets="_ResolveWatchAppReferences">
|
<Target Name="_CopyWatchOS2AppsToBundle" Condition="'$(OutputType)' == 'Exe'" DependsOnTargets="_ResolveWatchAppReferences">
|
||||||
<Ditto
|
<Ditto
|
||||||
SessionId="$(BuildSessionId)"
|
SessionId="$(BuildSessionId)"
|
||||||
Condition="'$(IsMacEnabled)' And '@(_ResolvedWatchAppReferences)' != '' And '%(_ResolvedWatchAppReferences.Identity)' != ''"
|
Condition="'$(IsMacEnabled)' And '@(_ResolvedWatchAppReferences)' != '' And '%(_ResolvedWatchAppReferences.Identity)' != ''"
|
||||||
|
@ -1614,12 +1623,18 @@ Copyright (C) 2013-2016 Xamarin. All rights reserved.
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|
||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
<_IpaOutputPath>$(DeviceSpecificOutputPath)$(_AppBundleName) $([System.DateTime]::Now.ToString('yyyy-MM-dd HH-mm-ss'))</_IpaOutputPath>
|
<!-- Calculate an IPA package directory path if not already defined by the developer. -->
|
||||||
<_IpaOutputDir>$(_IpaOutputPath)\</_IpaOutputDir>
|
<!--<IpaPackageDir Condition="'$(IpaPackageDir)' == ''">$([System.Environment]::GetEnvironmentVariable('IPA_PACKAGE_DIR'))</IpaPackageDir>-->
|
||||||
|
<IpaPackageDir Condition="'$(IpaPackageDir)' == ''">$(DeviceSpecificOutputPath)$(_AppBundleName) $([System.DateTime]::Now.ToString('yyyy-MM-dd HH-mm-ss'))</IpaPackageDir>
|
||||||
|
|
||||||
|
<!-- Calculate an IPA package name if not already defined by the developer. -->
|
||||||
|
<!--<IpaPackageName Condition="'$(IpaPackageName)' == ''">$([System.Environment]::GetEnvironmentVariable('IPA_PACKAGE_NAME'))</IpaPackageName>-->
|
||||||
<IpaPackageName Condition="'$(IpaPackageName)' != '' And !$(IpaPackageName.EndsWith ('.ipa', StringComparison.OrdinalIgnoreCase))">$(IpaPackageName).ipa</IpaPackageName>
|
<IpaPackageName Condition="'$(IpaPackageName)' != '' And !$(IpaPackageName.EndsWith ('.ipa', StringComparison.OrdinalIgnoreCase))">$(IpaPackageName).ipa</IpaPackageName>
|
||||||
<IpaPackageName Condition="'$(IpaPackageName)' == ''">$(_AppBundleName).ipa</IpaPackageName>
|
<IpaPackageName Condition="'$(IpaPackageName)' == ''">$(_AppBundleName).ipa</IpaPackageName>
|
||||||
|
|
||||||
<IpaPackagePath>$(_IpaOutputDir)$(IpaPackageName)</IpaPackagePath>
|
<!-- Calculate the full path of the IPA package if not already defined by the developer. -->
|
||||||
|
<!--<IpaPackagePath Condition="'$(IpaPackagePath)' == ''">$([System.Environment]::GetEnvironmentVariable('IPA_PACKAGE_PATH'))</IpaPackagePath>-->
|
||||||
|
<IpaPackagePath Condition="'$(IpaPackagePath)' == ''">$(IpaPackageDir)\$(IpaPackageName)</IpaPackagePath>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
</Target>
|
</Target>
|
||||||
|
|
||||||
|
@ -1767,6 +1782,7 @@ Copyright (C) 2013-2016 Xamarin. All rights reserved.
|
||||||
ProjectName="$(MSBuildProjectName)"
|
ProjectName="$(MSBuildProjectName)"
|
||||||
SolutionPath="$(SolutionPath)"
|
SolutionPath="$(SolutionPath)"
|
||||||
SigningKey="$(_CodeSigningKey)"
|
SigningKey="$(_CodeSigningKey)"
|
||||||
|
WatchAppReferences="@(_ResolvedWatchAppReferences)"
|
||||||
>
|
>
|
||||||
<Output TaskParameter="ArchiveDir" PropertyName="ArchiveDir"/>
|
<Output TaskParameter="ArchiveDir" PropertyName="ArchiveDir"/>
|
||||||
</Archive>
|
</Archive>
|
||||||
|
|
|
@ -147,7 +147,28 @@ namespace XamCore.Foundation {
|
||||||
return Runtime.GetNSObject<NSDictionary<TKey,TValue>> (_FromObjectsAndKeysInternal (objects.Handle, keys.Handle));
|
return Runtime.GetNSObject<NSDictionary<TKey,TValue>> (_FromObjectsAndKeysInternal (objects.Handle, keys.Handle));
|
||||||
}
|
}
|
||||||
|
|
||||||
public static NSDictionary<TKey,TValue> FromObjectsAndKeys (TKey [] objects, TValue [] keys)
|
public static NSDictionary<TKey, TValue> FromObjectsAndKeys (TValue [] objects, TKey [] keys, nint count)
|
||||||
|
{
|
||||||
|
if (objects == null)
|
||||||
|
throw new ArgumentNullException (nameof (objects));
|
||||||
|
if (keys == null)
|
||||||
|
throw new ArgumentNullException (nameof (keys));
|
||||||
|
if (objects.Length != keys.Length)
|
||||||
|
throw new ArgumentException (nameof (objects) + " and " + nameof (keys) + " arrays have different sizes");
|
||||||
|
if (count < 1 || objects.Length < count)
|
||||||
|
throw new ArgumentException (nameof (count));
|
||||||
|
|
||||||
|
using (var no = NSArray.FromNativeObjects (objects, count))
|
||||||
|
using (var nk = NSArray.FromNativeObjects (keys, count))
|
||||||
|
return GenericFromObjectsAndKeysInternal (no, nk);
|
||||||
|
}
|
||||||
|
|
||||||
|
#if XAMCORE_4_0
|
||||||
|
public static NSDictionary<TKey, TValue> FromObjectsAndKeys (TValue [] objects, TKey [] keys)
|
||||||
|
#else
|
||||||
|
[Obsolete ("TKey and TValue are inversed and won't work unless both types are identical. Use the generic overload that takes a count parameter instead")]
|
||||||
|
public static NSDictionary<TKey, TValue> FromObjectsAndKeys (TKey [] objects, TValue [] keys)
|
||||||
|
#endif
|
||||||
{
|
{
|
||||||
if (objects == null)
|
if (objects == null)
|
||||||
throw new ArgumentNullException (nameof (objects));
|
throw new ArgumentNullException (nameof (objects));
|
||||||
|
|
|
@ -211,7 +211,28 @@ namespace XamCore.Foundation {
|
||||||
return Runtime.GetNSObject<NSMutableDictionary<TKey,TValue>> (_FromObjectsAndKeysInternal (objects.Handle, keys.Handle));
|
return Runtime.GetNSObject<NSMutableDictionary<TKey,TValue>> (_FromObjectsAndKeysInternal (objects.Handle, keys.Handle));
|
||||||
}
|
}
|
||||||
|
|
||||||
public static NSMutableDictionary<TKey,TValue> FromObjectsAndKeys (TKey [] objects, TValue [] keys)
|
public static NSMutableDictionary<TKey, TValue> FromObjectsAndKeys (TValue [] objects, TKey [] keys, nint count)
|
||||||
|
{
|
||||||
|
if (objects == null)
|
||||||
|
throw new ArgumentNullException (nameof (objects));
|
||||||
|
if (keys == null)
|
||||||
|
throw new ArgumentNullException (nameof (keys));
|
||||||
|
if (objects.Length != keys.Length)
|
||||||
|
throw new ArgumentException (nameof (objects) + " and " + nameof (keys) + " arrays have different sizes");
|
||||||
|
if (count < 1 || objects.Length < count)
|
||||||
|
throw new ArgumentException (nameof (count));
|
||||||
|
|
||||||
|
using (var no = NSArray.FromNSObjects (objects))
|
||||||
|
using (var nk = NSArray.FromNSObjects (keys))
|
||||||
|
return GenericFromObjectsAndKeysInternal (no, nk);
|
||||||
|
}
|
||||||
|
|
||||||
|
#if XAMCORE_4_0
|
||||||
|
public static NSMutableDictionary<TKey, TValue> FromObjectsAndKeys (TValue [] objects, TKey [] keys)
|
||||||
|
#else
|
||||||
|
[Obsolete ("TKey and TValue are inversed and won't work unless both types are identical. Use the generic overload that takes a count parameter instead")]
|
||||||
|
public static NSMutableDictionary<TKey, TValue> FromObjectsAndKeys (TKey [] objects, TValue [] keys)
|
||||||
|
#endif
|
||||||
{
|
{
|
||||||
if (objects == null)
|
if (objects == null)
|
||||||
throw new ArgumentNullException (nameof (objects));
|
throw new ArgumentNullException (nameof (objects));
|
||||||
|
|
|
@ -1,5 +1,4 @@
|
||||||
using System;
|
using System;
|
||||||
using System.Drawing;
|
|
||||||
|
|
||||||
#if __UNIFIED__
|
#if __UNIFIED__
|
||||||
using ObjCRuntime;
|
using ObjCRuntime;
|
||||||
|
|
|
@ -0,0 +1,343 @@
|
||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Runtime.InteropServices;
|
||||||
|
|
||||||
|
#if XAMCORE_2_0
|
||||||
|
using Foundation;
|
||||||
|
#if MONOMAC
|
||||||
|
using AppKit;
|
||||||
|
#else
|
||||||
|
using UIKit;
|
||||||
|
#endif
|
||||||
|
using ObjCRuntime;
|
||||||
|
#else
|
||||||
|
#if MONOMAC
|
||||||
|
using MonoMac.ObjCRuntime;
|
||||||
|
using MonoMac.Foundation;
|
||||||
|
using MonoMac.AppKit;
|
||||||
|
#else
|
||||||
|
using MonoTouch.ObjCRuntime;
|
||||||
|
using MonoTouch.Foundation;
|
||||||
|
using MonoTouch.UIKit;
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
|
||||||
|
partial class TestRuntime
|
||||||
|
{
|
||||||
|
[DllImport ("/usr/lib/system/libdyld.dylib")]
|
||||||
|
static extern int dyld_get_program_sdk_version ();
|
||||||
|
|
||||||
|
[DllImport ("/usr/lib/libobjc.dylib", EntryPoint = "objc_msgSend")]
|
||||||
|
static extern IntPtr IntPtr_objc_msgSend (IntPtr receiver, IntPtr selector);
|
||||||
|
|
||||||
|
public const string BuildVersion_iOS9_GM = "13A340";
|
||||||
|
|
||||||
|
public static string GetiOSBuildVersion ()
|
||||||
|
{
|
||||||
|
#if __WATCHOS__
|
||||||
|
throw new Exception ("Can't get iOS Build version on watchOS.");
|
||||||
|
#elif MONOMAC
|
||||||
|
throw new Exception ("Can't get iOS Build version on OSX.");
|
||||||
|
#else
|
||||||
|
return NSString.FromHandle (IntPtr_objc_msgSend (UIDevice.CurrentDevice.Handle, Selector.GetHandle ("buildVersion")));
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
|
||||||
|
#if MONOMAC
|
||||||
|
const int sys1 = 1937339185;
|
||||||
|
const int sys2 = 1937339186;
|
||||||
|
const int sys3 = 1937339187;
|
||||||
|
|
||||||
|
// Deprecated in OSX 10.8 - but no good alternative is (yet) available
|
||||||
|
[System.Runtime.InteropServices.DllImport ("/System/Library/Frameworks/Carbon.framework/Versions/Current/Carbon")]
|
||||||
|
static extern int Gestalt (int selector, out int result);
|
||||||
|
|
||||||
|
static Version version;
|
||||||
|
|
||||||
|
public static Version OSXVersion {
|
||||||
|
get {
|
||||||
|
if (version == null) {
|
||||||
|
int major, minor, build;
|
||||||
|
Gestalt (sys1, out major);
|
||||||
|
Gestalt (sys2, out minor);
|
||||||
|
Gestalt (sys3, out build);
|
||||||
|
version = new Version (major, minor, build);
|
||||||
|
}
|
||||||
|
return version;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
public static Version GetSDKVersion ()
|
||||||
|
{
|
||||||
|
var v = dyld_get_program_sdk_version ();
|
||||||
|
var major = v >> 16;
|
||||||
|
var minor = (v >> 8) & 0xFF;
|
||||||
|
var build = v & 0xFF;
|
||||||
|
return new Version (major, minor, build);
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void AssertXcodeVersion (int major, int minor)
|
||||||
|
{
|
||||||
|
if (CheckXcodeVersion (major, minor))
|
||||||
|
return;
|
||||||
|
|
||||||
|
NUnit.Framework.Assert.Ignore ("Requires the platform version shipped with Xcode {0}.{1}", major, minor);
|
||||||
|
}
|
||||||
|
|
||||||
|
public static bool CheckXcodeVersion (int major, int minor, int build = 0)
|
||||||
|
{
|
||||||
|
switch (major) {
|
||||||
|
case 7:
|
||||||
|
switch (minor) {
|
||||||
|
case 0:
|
||||||
|
#if __WATCHOS__
|
||||||
|
return CheckWatchOSSystemVersion (2, 0);
|
||||||
|
#elif __TVOS__
|
||||||
|
return ChecktvOSSystemVersion (9, 0);
|
||||||
|
#elif __IOS__
|
||||||
|
return CheckiOSSystemVersion (9, 0);
|
||||||
|
#elif MONOMAC
|
||||||
|
return CheckMacSystemVersion (10, 11, 0);
|
||||||
|
#else
|
||||||
|
throw new NotImplementedException ();
|
||||||
|
#endif
|
||||||
|
case 1:
|
||||||
|
#if __WATCHOS__
|
||||||
|
return CheckWatchOSSystemVersion (2, 0);
|
||||||
|
#elif __TVOS__
|
||||||
|
return ChecktvOSSystemVersion (9, 0);
|
||||||
|
#elif __IOS__
|
||||||
|
return CheckiOSSystemVersion (9, 1);
|
||||||
|
#elif MONOMAC
|
||||||
|
return CheckMacSystemVersion (10, 11, 0 /* yep */);
|
||||||
|
#else
|
||||||
|
throw new NotImplementedException ();
|
||||||
|
#endif
|
||||||
|
case 2:
|
||||||
|
#if __WATCHOS__
|
||||||
|
return CheckWatchOSSystemVersion (2, 1);
|
||||||
|
#elif __TVOS__
|
||||||
|
return ChecktvOSSystemVersion (9, 1);
|
||||||
|
#elif __IOS__
|
||||||
|
return CheckiOSSystemVersion (9, 2);
|
||||||
|
#elif MONOMAC
|
||||||
|
return CheckMacSystemVersion (10, 11, 2);
|
||||||
|
#else
|
||||||
|
throw new NotImplementedException ();
|
||||||
|
#endif
|
||||||
|
case 3:
|
||||||
|
#if __WATCHOS__
|
||||||
|
return CheckWatchOSSystemVersion (2, 2);
|
||||||
|
#elif __TVOS__
|
||||||
|
return ChecktvOSSystemVersion (9, 2);
|
||||||
|
#elif __IOS__
|
||||||
|
return CheckiOSSystemVersion (9, 3);
|
||||||
|
#elif MONOMAC
|
||||||
|
return CheckMacSystemVersion (10, 11, 4);
|
||||||
|
#else
|
||||||
|
throw new NotImplementedException ();
|
||||||
|
#endif
|
||||||
|
default:
|
||||||
|
throw new NotImplementedException ();
|
||||||
|
}
|
||||||
|
case 6:
|
||||||
|
#if __IOS__
|
||||||
|
switch (minor) {
|
||||||
|
case 0:
|
||||||
|
return CheckiOSSystemVersion (8, 0);
|
||||||
|
case 1:
|
||||||
|
return CheckiOSSystemVersion (8, 1);
|
||||||
|
case 2:
|
||||||
|
return CheckiOSSystemVersion (8, 2);
|
||||||
|
case 3:
|
||||||
|
return CheckiOSSystemVersion (8, 3);
|
||||||
|
default:
|
||||||
|
throw new NotImplementedException ();
|
||||||
|
}
|
||||||
|
#elif __TVOS__ || __WATCHOS__
|
||||||
|
return true;
|
||||||
|
#elif MONOMAC
|
||||||
|
switch (minor) {
|
||||||
|
case 0:
|
||||||
|
return CheckMacSystemVersion (10, 9, 0);
|
||||||
|
case 1:
|
||||||
|
return CheckMacSystemVersion (10, 10, 0);
|
||||||
|
case 2:
|
||||||
|
return CheckMacSystemVersion (10, 10, 0);
|
||||||
|
case 3:
|
||||||
|
return CheckMacSystemVersion (10, 10, 0);
|
||||||
|
default:
|
||||||
|
throw new NotImplementedException ();
|
||||||
|
}
|
||||||
|
#else
|
||||||
|
throw new NotImplementedException ();
|
||||||
|
#endif
|
||||||
|
case 5:
|
||||||
|
#if __IOS__
|
||||||
|
switch (minor) {
|
||||||
|
case 0:
|
||||||
|
return CheckiOSSystemVersion (7, 0);
|
||||||
|
case 1:
|
||||||
|
return CheckiOSSystemVersion (7, 1);
|
||||||
|
default:
|
||||||
|
throw new NotImplementedException ();
|
||||||
|
}
|
||||||
|
#elif __TVOS__ || __WATCHOS__
|
||||||
|
return true;
|
||||||
|
#elif MONOMAC
|
||||||
|
switch (minor) {
|
||||||
|
case 0:
|
||||||
|
// Xcode 5.0.1 ships OSX 10.9 SDK
|
||||||
|
return CheckMacSystemVersion (10, build > 0 ? 9 : 8, 0);
|
||||||
|
case 1:
|
||||||
|
return CheckMacSystemVersion (10, 9, 0);
|
||||||
|
default:
|
||||||
|
throw new NotImplementedException ();
|
||||||
|
}
|
||||||
|
#else
|
||||||
|
throw new NotImplementedException ();
|
||||||
|
#endif
|
||||||
|
case 4:
|
||||||
|
#if __IOS__
|
||||||
|
switch (minor) {
|
||||||
|
case 5:
|
||||||
|
return CheckiOSSystemVersion (6, 0);
|
||||||
|
case 6:
|
||||||
|
return CheckiOSSystemVersion (6, 1);
|
||||||
|
default:
|
||||||
|
throw new NotImplementedException ();
|
||||||
|
}
|
||||||
|
#elif __TVOS__ || __WATCHOS__
|
||||||
|
return true;
|
||||||
|
#elif MONOMAC
|
||||||
|
switch (minor) {
|
||||||
|
case 5:
|
||||||
|
case 6:
|
||||||
|
return CheckMacSystemVersion (10, 8, 0);
|
||||||
|
default:
|
||||||
|
throw new NotImplementedException ();
|
||||||
|
}
|
||||||
|
#else
|
||||||
|
throw new NotImplementedException ();
|
||||||
|
#endif
|
||||||
|
default:
|
||||||
|
throw new NotImplementedException ();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// This method returns true if:
|
||||||
|
// system version >= specified version
|
||||||
|
// AND
|
||||||
|
// sdk version >= specified version
|
||||||
|
public static bool CheckiOSSystemVersion (int major, int minor, bool throwIfOtherPlatform = true)
|
||||||
|
{
|
||||||
|
#if __IOS__
|
||||||
|
return UIDevice.CurrentDevice.CheckSystemVersion (major, minor);
|
||||||
|
#else
|
||||||
|
if (throwIfOtherPlatform)
|
||||||
|
throw new Exception ("Can't get iOS System version on other platforms.");
|
||||||
|
return true;
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
|
||||||
|
// This method returns true if:
|
||||||
|
// system version >= specified version
|
||||||
|
// AND
|
||||||
|
// sdk version >= specified version
|
||||||
|
public static bool ChecktvOSSystemVersion (int major, int minor, bool throwIfOtherPlatform = true)
|
||||||
|
{
|
||||||
|
#if __TVOS__
|
||||||
|
return UIDevice.CurrentDevice.CheckSystemVersion (major, minor);
|
||||||
|
#else
|
||||||
|
if (throwIfOtherPlatform)
|
||||||
|
throw new Exception ("Can't get tvOS System version on other platforms.");
|
||||||
|
return true;
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
|
||||||
|
// This method returns true if:
|
||||||
|
// system version >= specified version
|
||||||
|
// AND
|
||||||
|
// sdk version >= specified version
|
||||||
|
public static bool CheckWatchOSSystemVersion (int major, int minor, bool throwIfOtherPlatform = true)
|
||||||
|
{
|
||||||
|
#if __WATCHOS__
|
||||||
|
return WatchKit.WKInterfaceDevice.CurrentDevice.CheckSystemVersion (major, minor);
|
||||||
|
#else
|
||||||
|
if (throwIfOtherPlatform)
|
||||||
|
throw new Exception ("Can't get watchOS System version on iOS/tvOS.");
|
||||||
|
// This is both iOS and tvOS
|
||||||
|
return true;
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
|
||||||
|
public static bool CheckMacSystemVersion (int major, int minor, int build = 0, bool throwIfOtherPlatform = true)
|
||||||
|
{
|
||||||
|
#if MONOMAC
|
||||||
|
return OSXVersion >= new Version (major, minor, build);
|
||||||
|
#else
|
||||||
|
if (throwIfOtherPlatform)
|
||||||
|
throw new Exception ("Can't get iOS System version on other platforms.");
|
||||||
|
return true;
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
|
||||||
|
// This method returns true if:
|
||||||
|
// system version >= specified version
|
||||||
|
// AND
|
||||||
|
// sdk version >= specified version
|
||||||
|
public static bool CheckSystemAndSDKVersion (int major, int minor)
|
||||||
|
{
|
||||||
|
#if __WATCHOS__
|
||||||
|
throw new Exception ("Can't get iOS System/SDK version on WatchOS.");
|
||||||
|
#elif MONOMAC
|
||||||
|
if (OSXVersion < new Version (major, minor))
|
||||||
|
return false;
|
||||||
|
#else
|
||||||
|
if (!UIDevice.CurrentDevice.CheckSystemVersion (major, minor))
|
||||||
|
return false;
|
||||||
|
#endif
|
||||||
|
|
||||||
|
// Check if the SDK version we're built includes the version we're checking for
|
||||||
|
// We don't want to execute iOS7 tests on an iOS7 device when built with the iOS6 SDK.
|
||||||
|
return CheckSDKVersion (major, minor);
|
||||||
|
}
|
||||||
|
|
||||||
|
public static bool CheckSDKVersion (int major, int minor)
|
||||||
|
{
|
||||||
|
#if __WATCHOS__
|
||||||
|
throw new Exception ("Can't get iOS SDK version on WatchOS.");
|
||||||
|
#elif !MONOMAC
|
||||||
|
if (Runtime.Arch == Arch.SIMULATOR || !UIDevice.CurrentDevice.CheckSystemVersion (6, 0)) {
|
||||||
|
// dyld_get_program_sdk_version was introduced with iOS 6.0, so don't do the SDK check on older deviecs.
|
||||||
|
return true; // dyld_get_program_sdk_version doesn't return what we're looking for on the mac.
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
var sdk = GetSDKVersion ();
|
||||||
|
if (sdk.Major > major)
|
||||||
|
return true;
|
||||||
|
if (sdk.Major == major && sdk.Minor >= minor)
|
||||||
|
return true;
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void IgnoreOnTVOS ()
|
||||||
|
{
|
||||||
|
#if __TVOS__
|
||||||
|
NUnit.Framework.Assert.Ignore ("This test is disabled on TVOS.");
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
|
||||||
|
public static bool IsTVOS {
|
||||||
|
get {
|
||||||
|
#if __TVOS__
|
||||||
|
return true;
|
||||||
|
#else
|
||||||
|
return false;
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
|
@ -223,55 +223,5 @@ namespace Introspection {
|
||||||
|
|
||||||
return Path.Combine (prefix, libname + ".framework", libname);
|
return Path.Combine (prefix, libname + ".framework", libname);
|
||||||
}
|
}
|
||||||
|
|
||||||
protected bool IsOSX11OrIOS9 {
|
|
||||||
get {
|
|
||||||
#if MONOMAC
|
|
||||||
return Mac.IsElCapitanOrHigher;
|
|
||||||
#elif __WATCHOS__
|
|
||||||
return false;
|
|
||||||
#else
|
|
||||||
return UIDevice.CurrentDevice.CheckSystemVersion (9, 0);
|
|
||||||
#endif
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
protected bool CheckiOSSystemVersion (int major, int minor)
|
|
||||||
{
|
|
||||||
#if __IOS__
|
|
||||||
return UIDevice.CurrentDevice.CheckSystemVersion (major, minor);
|
|
||||||
#else
|
|
||||||
throw new InvalidOperationException ("Can only check iOS system version on iOS.");
|
|
||||||
#endif
|
|
||||||
}
|
|
||||||
|
|
||||||
// This only works for API introduced in the same numeric version in both iOS and tvOS.
|
|
||||||
protected bool CheckiOSOrTVOSSystemVersion (int major, int minor)
|
|
||||||
{
|
|
||||||
#if __IOS__ || __TVOS__
|
|
||||||
return UIDevice.CurrentDevice.CheckSystemVersion (major, minor);
|
|
||||||
#else
|
|
||||||
throw new InvalidOperationException ("Can only check iOS or tvOS system version on iOS or tvOS.");
|
|
||||||
#endif
|
|
||||||
}
|
|
||||||
|
|
||||||
protected bool CheckWatchOSSystemVersion (int major, int minor)
|
|
||||||
{
|
|
||||||
#if __WATCHOS__
|
|
||||||
throw new NotImplementedException ();
|
|
||||||
// return UIDevice.CurrentDevice.CheckSystemVersion (major, minor);
|
|
||||||
#else
|
|
||||||
throw new InvalidOperationException ("Can only check watchOS system version on watchOS.");
|
|
||||||
#endif
|
|
||||||
}
|
|
||||||
|
|
||||||
protected bool CheckTVOSSystemVersion (int major, int minor)
|
|
||||||
{
|
|
||||||
#if __TVOS__
|
|
||||||
return UIDevice.CurrentDevice.CheckSystemVersion (major, minor);
|
|
||||||
#else
|
|
||||||
throw new InvalidOperationException ("Can only check tvOS system version on tvOS.");
|
|
||||||
#endif
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -140,7 +140,7 @@ namespace Introspection {
|
||||||
case "EKSpan":
|
case "EKSpan":
|
||||||
case "EKRecurrenceFrequency":
|
case "EKRecurrenceFrequency":
|
||||||
case "EKEventAvailability":
|
case "EKEventAvailability":
|
||||||
if (!IsOSX11OrIOS9)
|
if (!TestRuntime.CheckXcodeVersion (7, 0))
|
||||||
return 4;
|
return 4;
|
||||||
break;
|
break;
|
||||||
case "MDLAxisAlignedBoundingBox":
|
case "MDLAxisAlignedBoundingBox":
|
||||||
|
@ -231,6 +231,11 @@ namespace Introspection {
|
||||||
continue;
|
continue;
|
||||||
string name = exportAttribute.Selector;
|
string name = exportAttribute.Selector;
|
||||||
|
|
||||||
|
if (exportAttribute.IsVariadic) {
|
||||||
|
VariadicChecks (m);
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
if (Skip (t, m, name))
|
if (Skip (t, m, name))
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
|
@ -245,6 +250,13 @@ namespace Introspection {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void VariadicChecks (MethodBase m)
|
||||||
|
{
|
||||||
|
if (m.IsPublic || m.IsFamily || m.IsFamilyOrAssembly) {
|
||||||
|
AddErrorLine ("Function '{0}.{1}' is exposed and variadic. Variadic methods need custom marshaling, and must not be exposed directly.", m.DeclaringType.FullName, m.Name);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
void BasicChecks (MethodBase m, Type t, ref int n)
|
void BasicChecks (MethodBase m, Type t, ref int n)
|
||||||
{
|
{
|
||||||
int native = 0;
|
int native = 0;
|
||||||
|
@ -670,7 +682,7 @@ namespace Introspection {
|
||||||
case "EventKit.EKSpan":
|
case "EventKit.EKSpan":
|
||||||
case "EventKit.EKAlarmType":
|
case "EventKit.EKAlarmType":
|
||||||
// EventKit.EK* enums are anonymous enums in 10.10 and iOS 8, but an NSInteger in 10.11 and iOS 9.
|
// EventKit.EK* enums are anonymous enums in 10.10 and iOS 8, but an NSInteger in 10.11 and iOS 9.
|
||||||
if (IsOSX11OrIOS9)
|
if (TestRuntime.CheckXcodeVersion (7, 0))
|
||||||
goto default;
|
goto default;
|
||||||
return true;
|
return true;
|
||||||
default:
|
default:
|
||||||
|
|
|
@ -113,6 +113,9 @@
|
||||||
<Compile Include="..\..\common\mac\Mac.cs">
|
<Compile Include="..\..\common\mac\Mac.cs">
|
||||||
<Link>Mac.cs</Link>
|
<Link>Mac.cs</Link>
|
||||||
</Compile>
|
</Compile>
|
||||||
|
<Compile Include="..\..\common\TestRuntime.cs">
|
||||||
|
<Link>TestRuntime.cs</Link>
|
||||||
|
</Compile>
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<ProjectReference Include="..\..\..\external\guiunit\src\framework\GuiUnit_NET_4_5.csproj">
|
<ProjectReference Include="..\..\..\external\guiunit\src\framework\GuiUnit_NET_4_5.csproj">
|
||||||
|
|
|
@ -58,7 +58,7 @@ namespace Introspection {
|
||||||
case "Metal":
|
case "Metal":
|
||||||
case "MonoTouch.Metal":
|
case "MonoTouch.Metal":
|
||||||
// they works with iOS9 beta 4 (but won't work on older simulators)
|
// they works with iOS9 beta 4 (but won't work on older simulators)
|
||||||
if ((Runtime.Arch == Arch.SIMULATOR) && !CheckiOSOrTVOSSystemVersion (9,0))
|
if ((Runtime.Arch == Arch.SIMULATOR) && !TestRuntime.CheckXcodeVersion (7, 0))
|
||||||
return true;
|
return true;
|
||||||
break;
|
break;
|
||||||
#if !__WATCHOS__
|
#if !__WATCHOS__
|
||||||
|
@ -69,7 +69,7 @@ namespace Introspection {
|
||||||
if (Runtime.Arch == Arch.SIMULATOR)
|
if (Runtime.Arch == Arch.SIMULATOR)
|
||||||
return true;
|
return true;
|
||||||
// some devices don't support metal and that crash some API that does not check that, e.g. #33153
|
// some devices don't support metal and that crash some API that does not check that, e.g. #33153
|
||||||
if (!CheckiOSOrTVOSSystemVersion (9,0) || (MTLDevice.SystemDefault == null))
|
if (!TestRuntime.CheckXcodeVersion (7, 0) || (MTLDevice.SystemDefault == null))
|
||||||
return true;
|
return true;
|
||||||
break;
|
break;
|
||||||
#endif // !__WATCHOS__
|
#endif // !__WATCHOS__
|
||||||
|
@ -125,7 +125,7 @@ namespace Introspection {
|
||||||
// technically available since 4.1 - however it got a new base class in 6.0
|
// technically available since 4.1 - however it got a new base class in 6.0
|
||||||
// and that new base class GKGameCenterViewController did not exists before 6.0
|
// and that new base class GKGameCenterViewController did not exists before 6.0
|
||||||
// which makes the type unusable in 5.x, ref: https://gist.github.com/spouliot/271b6230a3aa2b58bc6e
|
// which makes the type unusable in 5.x, ref: https://gist.github.com/spouliot/271b6230a3aa2b58bc6e
|
||||||
return !CheckiOSSystemVersion (6,0);
|
return !TestRuntime.CheckXcodeVersion (4, 5);
|
||||||
|
|
||||||
// mistake - we should not have exposed those default ctor and now we must live with them
|
// mistake - we should not have exposed those default ctor and now we must live with them
|
||||||
case "GCControllerElement":
|
case "GCControllerElement":
|
||||||
|
@ -160,7 +160,7 @@ namespace Introspection {
|
||||||
// Started with iOS8 on simulator (always) but it looks like it can happen on devices too
|
// Started with iOS8 on simulator (always) but it looks like it can happen on devices too
|
||||||
// NSInvalidArgumentException Use initWithAccessibilityContainer:
|
// NSInvalidArgumentException Use initWithAccessibilityContainer:
|
||||||
case "UIAccessibilityElement":
|
case "UIAccessibilityElement":
|
||||||
return CheckiOSSystemVersion (8,0);
|
return TestRuntime.CheckXcodeVersion (6, 0);
|
||||||
#endif
|
#endif
|
||||||
// in 8.2 beta 1 this crash the app (simulator) without giving any details in the logs
|
// in 8.2 beta 1 this crash the app (simulator) without giving any details in the logs
|
||||||
case "WKUserNotificationInterfaceController":
|
case "WKUserNotificationInterfaceController":
|
||||||
|
@ -251,7 +251,7 @@ namespace Introspection {
|
||||||
return;
|
return;
|
||||||
// iOS9 - the instance was "kind of valid" before
|
// iOS9 - the instance was "kind of valid" before
|
||||||
case "PKPaymentAuthorizationViewController":
|
case "PKPaymentAuthorizationViewController":
|
||||||
if (CheckiOSSystemVersion (9,0))
|
if (TestRuntime.CheckXcodeVersion (7, 0))
|
||||||
return;
|
return;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
@ -280,14 +280,14 @@ namespace Introspection {
|
||||||
case "AVAssetResourceLoadingRequest":
|
case "AVAssetResourceLoadingRequest":
|
||||||
case "GKScoreChallenge": // Objective-C exception thrown. Name: NSInvalidArgumentException Reason: -[GKScoreChallenge challengeID]: unrecognized selector sent to instance 0x18acc340
|
case "GKScoreChallenge": // Objective-C exception thrown. Name: NSInvalidArgumentException Reason: -[GKScoreChallenge challengeID]: unrecognized selector sent to instance 0x18acc340
|
||||||
case "GKAchievementChallenge": // Objective-C exception thrown. Name: NSInvalidArgumentException Reason: -[GKAchievementChallenge challengeID]: unrecognized selector sent to instance 0x160f4840
|
case "GKAchievementChallenge": // Objective-C exception thrown. Name: NSInvalidArgumentException Reason: -[GKAchievementChallenge challengeID]: unrecognized selector sent to instance 0x160f4840
|
||||||
if (CheckiOSOrTVOSSystemVersion (6,0))
|
if (TestRuntime.CheckXcodeVersion (4, 5))
|
||||||
return;
|
return;
|
||||||
break;
|
break;
|
||||||
// iOS 9 beta 1 - crash when called
|
// iOS 9 beta 1 - crash when called
|
||||||
case "WKFrameInfo":
|
case "WKFrameInfo":
|
||||||
case "WKNavigation":
|
case "WKNavigation":
|
||||||
case "WKNavigationAction":
|
case "WKNavigationAction":
|
||||||
if (CheckiOSSystemVersion (9,0))
|
if (TestRuntime.CheckXcodeVersion (7, 0))
|
||||||
return;
|
return;
|
||||||
break;
|
break;
|
||||||
// new iOS 10 beta 1 - crash when calling `description` selector
|
// new iOS 10 beta 1 - crash when calling `description` selector
|
||||||
|
@ -310,7 +310,7 @@ namespace Introspection {
|
||||||
switch (obj.GetType ().Name) {
|
switch (obj.GetType ().Name) {
|
||||||
case "NSString":
|
case "NSString":
|
||||||
// according to bots `isKindOf (null)` returns true before iOS 8, ref: #36726
|
// according to bots `isKindOf (null)` returns true before iOS 8, ref: #36726
|
||||||
if (!CheckiOSOrTVOSSystemVersion (8, 0))
|
if (!TestRuntime.CheckXcodeVersion (6, 0))
|
||||||
return;
|
return;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
|
@ -46,7 +46,7 @@ namespace Introspection {
|
||||||
case "Metal":
|
case "Metal":
|
||||||
case "MonoTouch.Metal":
|
case "MonoTouch.Metal":
|
||||||
// they works with iOS9 beta 4 (but won't work on older simulators)
|
// they works with iOS9 beta 4 (but won't work on older simulators)
|
||||||
if ((Runtime.Arch == Arch.SIMULATOR) && !CheckiOSSystemVersion (9,0))
|
if ((Runtime.Arch == Arch.SIMULATOR) && !TestRuntime.CheckXcodeVersion (7, 0))
|
||||||
return true;
|
return true;
|
||||||
break;
|
break;
|
||||||
case "MetalKit":
|
case "MetalKit":
|
||||||
|
@ -83,13 +83,13 @@ namespace Introspection {
|
||||||
case "ExifLensMake":
|
case "ExifLensMake":
|
||||||
case "ExifLensModel":
|
case "ExifLensModel":
|
||||||
case "ExifLensSerialNumber":
|
case "ExifLensSerialNumber":
|
||||||
return !CheckiOSOrTVOSSystemVersion (6,1);
|
return !TestRuntime.CheckXcodeVersion (4, 6);
|
||||||
|
|
||||||
// ImageIO: new in iOS 8 but returns nil (at least in beta 1) seems fixed in iOS9
|
// ImageIO: new in iOS 8 but returns nil (at least in beta 1) seems fixed in iOS9
|
||||||
case "PNGLoopCount":
|
case "PNGLoopCount":
|
||||||
case "PNGDelayTime":
|
case "PNGDelayTime":
|
||||||
case "PNGUnclampedDelayTime":
|
case "PNGUnclampedDelayTime":
|
||||||
return !CheckiOSOrTVOSSystemVersion (9,0);
|
return !TestRuntime.CheckXcodeVersion (7, 0);
|
||||||
|
|
||||||
// CoreServices.CFHTTPMessage - document in 10.9 but returns null
|
// CoreServices.CFHTTPMessage - document in 10.9 but returns null
|
||||||
case "_AuthenticationSchemeOAuth1":
|
case "_AuthenticationSchemeOAuth1":
|
||||||
|
|
|
@ -57,7 +57,7 @@ namespace Introspection {
|
||||||
return true;
|
return true;
|
||||||
|
|
||||||
// Requires iOS 8.2 or later in 32-bit mode
|
// Requires iOS 8.2 or later in 32-bit mode
|
||||||
if (!CheckiOSSystemVersion (8, 2) && IntPtr.Size == 4)
|
if (!TestRuntime.CheckXcodeVersion (6, 2) && IntPtr.Size == 4)
|
||||||
return true;
|
return true;
|
||||||
|
|
||||||
break;
|
break;
|
||||||
|
@ -75,7 +75,7 @@ namespace Introspection {
|
||||||
case "MonoTouch.CoreAudioKit":
|
case "MonoTouch.CoreAudioKit":
|
||||||
case "CoreAudioKit":
|
case "CoreAudioKit":
|
||||||
// they works with iOS9 beta 4 (but won't work on older simulators)
|
// they works with iOS9 beta 4 (but won't work on older simulators)
|
||||||
if ((Runtime.Arch == Arch.SIMULATOR) && !CheckiOSOrTVOSSystemVersion (9,0))
|
if ((Runtime.Arch == Arch.SIMULATOR) && !TestRuntime.CheckXcodeVersion (7, 0))
|
||||||
return true;
|
return true;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
@ -117,7 +117,7 @@ namespace Introspection {
|
||||||
case "GKLocalPlayer":
|
case "GKLocalPlayer":
|
||||||
// NSSecureCoding is still undocumented, for iOS, and neither is NSCoding for OSX
|
// NSSecureCoding is still undocumented, for iOS, and neither is NSCoding for OSX
|
||||||
// and it did not respond before 6.0 (when NSSecureCoding was introduced)
|
// and it did not respond before 6.0 (when NSSecureCoding was introduced)
|
||||||
return !CheckiOSOrTVOSSystemVersion (6,0);
|
return !TestRuntime.CheckXcodeVersion (4, 5);
|
||||||
case "UITableViewDataSource":
|
case "UITableViewDataSource":
|
||||||
// this is a *protocol( and we do not want to force people to conform to (an
|
// this is a *protocol( and we do not want to force people to conform to (an
|
||||||
// undocumented "requirement") NSCoding - as ObjC do not have to do this
|
// undocumented "requirement") NSCoding - as ObjC do not have to do this
|
||||||
|
@ -168,6 +168,42 @@ namespace Introspection {
|
||||||
case "VSAccountMetadata":
|
case "VSAccountMetadata":
|
||||||
case "VSAccountMetadataRequest":
|
case "VSAccountMetadataRequest":
|
||||||
return true;
|
return true;
|
||||||
|
#if __WATCHOS__
|
||||||
|
case "CLKComplicationTemplate":
|
||||||
|
case "CLKComplicationTemplateCircularSmallRingImage":
|
||||||
|
case "CLKComplicationTemplateCircularSmallRingText":
|
||||||
|
case "CLKComplicationTemplateCircularSmallSimpleImage":
|
||||||
|
case "CLKComplicationTemplateCircularSmallSimpleText":
|
||||||
|
case "CLKComplicationTemplateCircularSmallStackImage":
|
||||||
|
case "CLKComplicationTemplateCircularSmallStackText":
|
||||||
|
case "CLKComplicationTemplateModularLargeColumns":
|
||||||
|
case "CLKComplicationTemplateModularLargeStandardBody":
|
||||||
|
case "CLKComplicationTemplateModularLargeTable":
|
||||||
|
case "CLKComplicationTemplateModularLargeTallBody":
|
||||||
|
case "CLKComplicationTemplateModularSmallColumnsText":
|
||||||
|
case "CLKComplicationTemplateModularSmallRingImage":
|
||||||
|
case "CLKComplicationTemplateModularSmallRingText":
|
||||||
|
case "CLKComplication":
|
||||||
|
case "CLKComplicationTemplateModularSmallSimpleImage":
|
||||||
|
case "CLKTextProvider":
|
||||||
|
case "CLKComplicationTemplateModularSmallSimpleText":
|
||||||
|
case "CLKTimeIntervalTextProvider":
|
||||||
|
case "CLKComplicationTemplateModularSmallStackImage":
|
||||||
|
case "CLKTimeTextProvider":
|
||||||
|
case "CLKComplicationTemplateModularSmallStackText":
|
||||||
|
case "CLKComplicationTemplateUtilitarianLargeFlat":
|
||||||
|
case "CLKComplicationTemplateUtilitarianSmallFlat":
|
||||||
|
case "CLKComplicationTemplateUtilitarianSmallRingImage":
|
||||||
|
case "CLKComplicationTemplateUtilitarianSmallRingText":
|
||||||
|
case "CLKComplicationTemplateUtilitarianSmallSquare":
|
||||||
|
case "CLKComplicationTimelineEntry":
|
||||||
|
case "CLKDateTextProvider":
|
||||||
|
case "CLKImageProvider":
|
||||||
|
case "CLKRelativeDateTextProvider":
|
||||||
|
case "CLKSimpleTextProvider":
|
||||||
|
case "WKAlertAction":
|
||||||
|
return true;
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case "NSSecureCoding":
|
case "NSSecureCoding":
|
||||||
|
@ -220,6 +256,42 @@ namespace Introspection {
|
||||||
case "VSAccountMetadata":
|
case "VSAccountMetadata":
|
||||||
case "VSAccountMetadataRequest":
|
case "VSAccountMetadataRequest":
|
||||||
return true;
|
return true;
|
||||||
|
#if __WATCHOS__
|
||||||
|
case "CLKComplicationTemplate":
|
||||||
|
case "CLKComplicationTemplateCircularSmallRingImage":
|
||||||
|
case "CLKComplicationTemplateCircularSmallRingText":
|
||||||
|
case "CLKComplicationTemplateCircularSmallSimpleImage":
|
||||||
|
case "CLKComplicationTemplateCircularSmallSimpleText":
|
||||||
|
case "CLKComplicationTemplateCircularSmallStackImage":
|
||||||
|
case "CLKComplicationTemplateCircularSmallStackText":
|
||||||
|
case "CLKComplicationTemplateModularLargeColumns":
|
||||||
|
case "CLKComplicationTemplateModularLargeStandardBody":
|
||||||
|
case "CLKComplicationTemplateModularLargeTable":
|
||||||
|
case "CLKComplicationTemplateModularLargeTallBody":
|
||||||
|
case "CLKComplicationTemplateModularSmallColumnsText":
|
||||||
|
case "CLKComplicationTemplateModularSmallRingImage":
|
||||||
|
case "CLKComplicationTemplateModularSmallRingText":
|
||||||
|
case "CLKComplicationTemplateModularSmallSimpleImage":
|
||||||
|
case "CLKComplicationTemplateModularSmallSimpleText":
|
||||||
|
case "CLKComplicationTemplateModularSmallStackImage":
|
||||||
|
case "CLKComplicationTemplateModularSmallStackText":
|
||||||
|
case "CLKComplicationTemplateUtilitarianLargeFlat":
|
||||||
|
case "CLKComplicationTemplateUtilitarianSmallFlat":
|
||||||
|
case "CLKComplicationTemplateUtilitarianSmallRingImage":
|
||||||
|
case "CLKComplicationTemplateUtilitarianSmallRingText":
|
||||||
|
case "CLKComplicationTemplateUtilitarianSmallSquare":
|
||||||
|
case "CLKComplicationTimelineEntry":
|
||||||
|
case "CLKDateTextProvider":
|
||||||
|
case "CLKImageProvider":
|
||||||
|
case "CLKRelativeDateTextProvider":
|
||||||
|
case "CLKSimpleTextProvider":
|
||||||
|
case "CLKTextProvider":
|
||||||
|
case "CLKTimeIntervalTextProvider":
|
||||||
|
case "CLKTimeTextProvider":
|
||||||
|
case "CLKComplication":
|
||||||
|
case "WKAlertAction":
|
||||||
|
return true;
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case "NSCopying":
|
case "NSCopying":
|
||||||
|
@ -250,6 +322,10 @@ namespace Introspection {
|
||||||
case "VSAccountMetadata":
|
case "VSAccountMetadata":
|
||||||
case "VSAccountMetadataRequest":
|
case "VSAccountMetadataRequest":
|
||||||
return true;
|
return true;
|
||||||
|
#if __WATCHOS__
|
||||||
|
case "CLKComplicationTimelineEntry":
|
||||||
|
return true;
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case "UIAccessibilityIdentification":
|
case "UIAccessibilityIdentification":
|
||||||
|
@ -272,7 +348,7 @@ namespace Introspection {
|
||||||
break;
|
break;
|
||||||
case "UITextInputTraits":
|
case "UITextInputTraits":
|
||||||
// UISearchBar conformance fails before 7.1 - reference bug #33333
|
// UISearchBar conformance fails before 7.1 - reference bug #33333
|
||||||
if ((type.Name == "UISearchBar") && !CheckiOSOrTVOSSystemVersion (7,1))
|
if ((type.Name == "UISearchBar") && !TestRuntime.CheckXcodeVersion (5, 1))
|
||||||
return true;
|
return true;
|
||||||
break;
|
break;
|
||||||
#if !XAMCORE_3_0
|
#if !XAMCORE_3_0
|
||||||
|
@ -286,7 +362,7 @@ namespace Introspection {
|
||||||
case "GKSavedGameListener":
|
case "GKSavedGameListener":
|
||||||
switch (type.Name) {
|
switch (type.Name) {
|
||||||
case "GKLocalPlayerListener": // 37180
|
case "GKLocalPlayerListener": // 37180
|
||||||
return !CheckiOSOrTVOSSystemVersion (8, 0);
|
return !TestRuntime.CheckXcodeVersion (6, 0);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
@ -296,8 +372,7 @@ namespace Introspection {
|
||||||
[Test]
|
[Test]
|
||||||
public override void SecureCoding ()
|
public override void SecureCoding ()
|
||||||
{
|
{
|
||||||
if (!CheckiOSOrTVOSSystemVersion (6,0))
|
TestRuntime.AssertXcodeVersion (4, 5);
|
||||||
Assert.Inconclusive ("Requires iOS 6+");
|
|
||||||
|
|
||||||
base.SecureCoding ();
|
base.SecureCoding ();
|
||||||
}
|
}
|
||||||
|
@ -305,8 +380,7 @@ namespace Introspection {
|
||||||
[Test]
|
[Test]
|
||||||
public override void SupportsSecureCoding ()
|
public override void SupportsSecureCoding ()
|
||||||
{
|
{
|
||||||
if (!CheckiOSOrTVOSSystemVersion (6,0))
|
TestRuntime.AssertXcodeVersion (4, 5);
|
||||||
Assert.Inconclusive ("Requires iOS 6+");
|
|
||||||
|
|
||||||
base.SupportsSecureCoding ();
|
base.SupportsSecureCoding ();
|
||||||
}
|
}
|
||||||
|
|
|
@ -51,7 +51,7 @@ namespace Introspection {
|
||||||
case "Metal":
|
case "Metal":
|
||||||
case "MonoTouch.Metal":
|
case "MonoTouch.Metal":
|
||||||
// they works with iOS9 beta 4 (but won't work on older simulators)
|
// they works with iOS9 beta 4 (but won't work on older simulators)
|
||||||
if ((Runtime.Arch == Arch.SIMULATOR) && !CheckiOSOrTVOSSystemVersion (9,0))
|
if ((Runtime.Arch == Arch.SIMULATOR) && !TestRuntime.CheckXcodeVersion (7, 0))
|
||||||
return true;
|
return true;
|
||||||
break;
|
break;
|
||||||
case "MetalKit":
|
case "MetalKit":
|
||||||
|
@ -110,7 +110,7 @@ namespace Introspection {
|
||||||
case "setSessionDescription:":
|
case "setSessionDescription:":
|
||||||
case "delegate":
|
case "delegate":
|
||||||
// does not respond anymore but the properties works (see monotouch-test)
|
// does not respond anymore but the properties works (see monotouch-test)
|
||||||
if (CheckiOSOrTVOSSystemVersion (9, 0))
|
if (TestRuntime.CheckXcodeVersion (7, 0))
|
||||||
return true;
|
return true;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
@ -130,7 +130,7 @@ namespace Introspection {
|
||||||
case "setTaskDescription:":
|
case "setTaskDescription:":
|
||||||
case "taskIdentifier":
|
case "taskIdentifier":
|
||||||
// does not respond anymore but the properties works (see monotouch-test)
|
// does not respond anymore but the properties works (see monotouch-test)
|
||||||
if (CheckiOSOrTVOSSystemVersion (9, 0))
|
if (TestRuntime.CheckXcodeVersion (7, 0))
|
||||||
return true;
|
return true;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
@ -138,7 +138,7 @@ namespace Introspection {
|
||||||
case "NSUrlSessionConfiguration":
|
case "NSUrlSessionConfiguration":
|
||||||
case "NSUrlSessionStreamTask":
|
case "NSUrlSessionStreamTask":
|
||||||
// does not respond anymore but the properties works (see monotouch-test for a partial list)
|
// does not respond anymore but the properties works (see monotouch-test for a partial list)
|
||||||
if (CheckiOSOrTVOSSystemVersion (9, 0))
|
if (TestRuntime.CheckXcodeVersion (7, 0))
|
||||||
return true;
|
return true;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
@ -147,7 +147,7 @@ namespace Introspection {
|
||||||
case "currentRequest":
|
case "currentRequest":
|
||||||
case "originalRequest":
|
case "originalRequest":
|
||||||
case "response":
|
case "response":
|
||||||
if (CheckiOSOrTVOSSystemVersion (9, 0))
|
if (TestRuntime.CheckXcodeVersion (7, 0))
|
||||||
return true;
|
return true;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
@ -159,7 +159,7 @@ namespace Introspection {
|
||||||
// https://trello.com/c/pKLOLjVJ/29-24231250-coremotion-api-removal-without-deprecation
|
// https://trello.com/c/pKLOLjVJ/29-24231250-coremotion-api-removal-without-deprecation
|
||||||
case "accelerometerDataFromDate:toDate:":
|
case "accelerometerDataFromDate:toDate:":
|
||||||
case "recordAccelerometerForDuration:":
|
case "recordAccelerometerForDuration:":
|
||||||
if (!CheckiOSOrTVOSSystemVersion (9, 3))
|
if (!TestRuntime.CheckXcodeVersion (7, 3))
|
||||||
return true;
|
return true;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
@ -223,7 +223,7 @@ namespace Introspection {
|
||||||
// UITextInputTraits and UITextInputProtocol
|
// UITextInputTraits and UITextInputProtocol
|
||||||
if (declaredType.Name == "UITextField" || declaredType.Name == "UITextView")
|
if (declaredType.Name == "UITextField" || declaredType.Name == "UITextView")
|
||||||
return true;
|
return true;
|
||||||
if (CheckiOSOrTVOSSystemVersion (7,1) && declaredType.Name == "UISearchBar")
|
if (TestRuntime.CheckXcodeVersion (5, 1) && declaredType.Name == "UISearchBar")
|
||||||
return true;
|
return true;
|
||||||
break;
|
break;
|
||||||
case "keyboardAppearance":
|
case "keyboardAppearance":
|
||||||
|
@ -250,7 +250,7 @@ namespace Introspection {
|
||||||
if (declaredType.Name == "UITextField" || declaredType.Name == "UITextView")
|
if (declaredType.Name == "UITextField" || declaredType.Name == "UITextView")
|
||||||
return true;
|
return true;
|
||||||
// ignore UISearchBar before iOS8 - it did not really implement UITextInput
|
// ignore UISearchBar before iOS8 - it did not really implement UITextInput
|
||||||
if (declaredType.Name == "UISearchBar" && !CheckiOSSystemVersion (8,0))
|
if (declaredType.Name == "UISearchBar" && !TestRuntime.CheckXcodeVersion (6, 0))
|
||||||
return true;
|
return true;
|
||||||
break;
|
break;
|
||||||
case "dictationRecognitionFailed":
|
case "dictationRecognitionFailed":
|
||||||
|
@ -293,16 +293,16 @@ namespace Introspection {
|
||||||
case "useApplicationAudioSession":
|
case "useApplicationAudioSession":
|
||||||
case "setUseApplicationAudioSession:":
|
case "setUseApplicationAudioSession:":
|
||||||
if (declaredType.Name == "MPMoviePlayerController")
|
if (declaredType.Name == "MPMoviePlayerController")
|
||||||
return CheckiOSSystemVersion (6,0);
|
return TestRuntime.CheckXcodeVersion (4, 5);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
// iOS6 - headers says readwrite but they do not respond
|
// iOS6 - headers says readwrite but they do not respond
|
||||||
case "setUUID:":
|
case "setUUID:":
|
||||||
case "setIsPrimary:":
|
case "setIsPrimary:":
|
||||||
if (declaredType.Name == "CBMutableService")
|
if (declaredType.Name == "CBMutableService")
|
||||||
return CheckiOSSystemVersion (6, 0);
|
return TestRuntime.CheckXcodeVersion (4, 5);
|
||||||
if (declaredType.Name == "CBMutableCharacteristic")
|
if (declaredType.Name == "CBMutableCharacteristic")
|
||||||
return CheckiOSSystemVersion (9, 0);
|
return TestRuntime.CheckXcodeVersion (7, 0);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
// documented since 4.0 - but does not answer on an iPad1 with 5.1.1
|
// documented since 4.0 - but does not answer on an iPad1 with 5.1.1
|
||||||
|
@ -405,7 +405,7 @@ namespace Introspection {
|
||||||
case "scrollViewWillBeginZooming:withView:":
|
case "scrollViewWillBeginZooming:withView:":
|
||||||
case "scrollViewWillEndDragging:withVelocity:targetContentOffset:":
|
case "scrollViewWillEndDragging:withVelocity:targetContentOffset:":
|
||||||
if (declaredType.Name == "UICollectionViewController")
|
if (declaredType.Name == "UICollectionViewController")
|
||||||
return CheckiOSOrTVOSSystemVersion (6,0);
|
return TestRuntime.CheckXcodeVersion (4, 5);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
// failing (check why)
|
// failing (check why)
|
||||||
|
@ -414,7 +414,7 @@ namespace Introspection {
|
||||||
case "finalLayoutAttributesForDeletedItemAtIndexPath:":
|
case "finalLayoutAttributesForDeletedItemAtIndexPath:":
|
||||||
case "finalLayoutAttributesForDeletedSupplementaryElementOfKind:atIndexPath:":
|
case "finalLayoutAttributesForDeletedSupplementaryElementOfKind:atIndexPath:":
|
||||||
if (declaredType.Name == "UICollectionViewLayout")
|
if (declaredType.Name == "UICollectionViewLayout")
|
||||||
return CheckiOSSystemVersion (6,0);
|
return TestRuntime.CheckXcodeVersion (4, 5);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
// This is implemented by internal concrete classes of NSFileHandle
|
// This is implemented by internal concrete classes of NSFileHandle
|
||||||
|
@ -499,25 +499,25 @@ namespace Introspection {
|
||||||
switch (declaredType.Name) {
|
switch (declaredType.Name) {
|
||||||
// not conforming to NSCopying in 5.1 SDK
|
// not conforming to NSCopying in 5.1 SDK
|
||||||
case "UIFont":
|
case "UIFont":
|
||||||
return !CheckiOSSystemVersion (6,0);
|
return !TestRuntime.CheckXcodeVersion (4, 5);
|
||||||
// not conforming to NSCopying before 7.0 SDK
|
// not conforming to NSCopying before 7.0 SDK
|
||||||
case "CBPeripheral":
|
case "CBPeripheral":
|
||||||
return !CheckiOSSystemVersion (7,0);
|
return !TestRuntime.CheckXcodeVersion (5, 0);
|
||||||
// not conforming to NSCopying before 8.0 SDK
|
// not conforming to NSCopying before 8.0 SDK
|
||||||
case "AVMetadataFaceObject":
|
case "AVMetadataFaceObject":
|
||||||
return !CheckiOSSystemVersion (8,0);
|
return !TestRuntime.CheckXcodeVersion (6, 0);
|
||||||
// not conforming to NSCopying before 8.2 SDK
|
// not conforming to NSCopying before 8.2 SDK
|
||||||
case "HKUnit":
|
case "HKUnit":
|
||||||
return !CheckiOSSystemVersion (8,2);
|
return !TestRuntime.CheckXcodeVersion (6, 2);
|
||||||
case "HKBiologicalSexObject":
|
case "HKBiologicalSexObject":
|
||||||
case "HKBloodTypeObject":
|
case "HKBloodTypeObject":
|
||||||
return !CheckiOSSystemVersion (9,0);
|
return !TestRuntime.CheckXcodeVersion (7, 0);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
// on iOS8.0 this does not work on the simulator (but works on devices)
|
// on iOS8.0 this does not work on the simulator (but works on devices)
|
||||||
case "language":
|
case "language":
|
||||||
if (declaredType.Name == "AVSpeechSynthesisVoice" && CheckiOSSystemVersion (8,0) && Runtime.Arch == Arch.SIMULATOR)
|
if (declaredType.Name == "AVSpeechSynthesisVoice" && TestRuntime.CheckXcodeVersion (6, 0) && Runtime.Arch == Arch.SIMULATOR)
|
||||||
return true;
|
return true;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
@ -553,11 +553,11 @@ namespace Introspection {
|
||||||
switch (declaredType.Name) {
|
switch (declaredType.Name) {
|
||||||
// UITextInputMode was added in 4.2 but conformed to NSSecureCoding only from 7.0+
|
// UITextInputMode was added in 4.2 but conformed to NSSecureCoding only from 7.0+
|
||||||
case "UITextInputMode":
|
case "UITextInputMode":
|
||||||
return !CheckiOSSystemVersion (7,0);
|
return !TestRuntime.CheckXcodeVersion (5, 0);
|
||||||
// iOS9
|
// iOS9
|
||||||
case "HKBiologicalSexObject":
|
case "HKBiologicalSexObject":
|
||||||
case "HKBloodTypeObject":
|
case "HKBloodTypeObject":
|
||||||
return !CheckiOSSystemVersion (9,0);
|
return !TestRuntime.CheckXcodeVersion (7, 0);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
#else
|
#else
|
||||||
|
@ -565,7 +565,7 @@ namespace Introspection {
|
||||||
// we'll ignore them for compat - but won't provide them in the new assemblies
|
// we'll ignore them for compat - but won't provide them in the new assemblies
|
||||||
case "backgroundImageForBarMetrics:":
|
case "backgroundImageForBarMetrics:":
|
||||||
case "setBackgroundImage:forBarMetrics:":
|
case "setBackgroundImage:forBarMetrics:":
|
||||||
if (declaredType.Name == "UISearchBar" && CheckiOSSystemVersion (8,0))
|
if (declaredType.Name == "UISearchBar" && TestRuntime.CheckXcodeVersion (6, 0))
|
||||||
return true;
|
return true;
|
||||||
break;
|
break;
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -42,7 +42,7 @@ namespace Introspection {
|
||||||
// EventKit.EK* enums are anonymous enums in 10.10 and iOS 8, but an NSInteger in 10.11 and iOS 9.
|
// EventKit.EK* enums are anonymous enums in 10.10 and iOS 8, but an NSInteger in 10.11 and iOS 9.
|
||||||
case "EKCalendarChooserSelectionStyle":
|
case "EKCalendarChooserSelectionStyle":
|
||||||
case "EKCalendarChooserDisplayStyle":
|
case "EKCalendarChooserDisplayStyle":
|
||||||
if (!IsOSX11OrIOS9)
|
if (!TestRuntime.CheckXcodeVersion (7, 0))
|
||||||
return 4;
|
return 4;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
@ -64,7 +64,7 @@ namespace Introspection {
|
||||||
// (they used to return `bool`)
|
// (they used to return `bool`)
|
||||||
case "beginAppearanceTransition:animated:":
|
case "beginAppearanceTransition:animated:":
|
||||||
case "endAppearanceTransition":
|
case "endAppearanceTransition":
|
||||||
if (!CheckiOSOrTVOSSystemVersion (6,0))
|
if (!TestRuntime.CheckXcodeVersion (4, 5))
|
||||||
return true;
|
return true;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
@ -74,12 +74,12 @@ namespace Introspection {
|
||||||
// sadly, and even with a bug report with a few exchanges, this was not fixed before iOS8 GM :-(
|
// sadly, and even with a bug report with a few exchanges, this was not fixed before iOS8 GM :-(
|
||||||
// 64bits application for iOS 7.x will be uncommon so we prefer to be forward compatible
|
// 64bits application for iOS 7.x will be uncommon so we prefer to be forward compatible
|
||||||
if (selector == "status")
|
if (selector == "status")
|
||||||
return !CheckiOSSystemVersion (8,0);
|
return !TestRuntime.CheckXcodeVersion (6, 0);
|
||||||
break;
|
break;
|
||||||
case "CMMotionManager":
|
case "CMMotionManager":
|
||||||
// iOS 8.3 changed CMMotionManager from 4 to 8 bytes on 64bits CPU and we have to follow that breaking
|
// iOS 8.3 changed CMMotionManager from 4 to 8 bytes on 64bits CPU and we have to follow that breaking
|
||||||
// change unless Apple revert that before final. [radar 20295259]
|
// change unless Apple revert that before final. [radar 20295259]
|
||||||
if ((IntPtr.Size == 4) || CheckiOSSystemVersion (8,3))
|
if ((IntPtr.Size == 4) || TestRuntime.CheckXcodeVersion (6, 3))
|
||||||
return false;
|
return false;
|
||||||
// which means iOS 8.2 (and earlier can't match)
|
// which means iOS 8.2 (and earlier can't match)
|
||||||
switch (selector) {
|
switch (selector) {
|
||||||
|
@ -140,7 +140,7 @@ namespace Introspection {
|
||||||
case "MonoTouch.EventKitUI.EKCalendarChooserDisplayStyle":
|
case "MonoTouch.EventKitUI.EKCalendarChooserDisplayStyle":
|
||||||
case "EventKitUI.EKCalendarChooserSelectionStyle":
|
case "EventKitUI.EKCalendarChooserSelectionStyle":
|
||||||
case "EventKitUI.EKCalendarChooserDisplayStyle":
|
case "EventKitUI.EKCalendarChooserDisplayStyle":
|
||||||
return (IntPtr.Size == 4) || !IsOSX11OrIOS9;
|
return (IntPtr.Size == 4) || !TestRuntime.CheckXcodeVersion (7, 0);
|
||||||
case "System.UInt32":
|
case "System.UInt32":
|
||||||
// numberOfTouchesRequired was signed before iOS6, unsigned since then
|
// numberOfTouchesRequired was signed before iOS6, unsigned since then
|
||||||
return true;
|
return true;
|
||||||
|
|
|
@ -24,7 +24,7 @@ namespace Introspection {
|
||||||
public void SetUp ()
|
public void SetUp ()
|
||||||
{
|
{
|
||||||
#if __WATCHOS__
|
#if __WATCHOS__
|
||||||
Assert.Fail ("Need to find alternative for UITextChecker on WatchOS.");
|
Assert.Ignore ("Need to find alternative for UITextChecker on WatchOS.");
|
||||||
#else
|
#else
|
||||||
// that's slow and there's no value to run it on devices as the API names
|
// that's slow and there's no value to run it on devices as the API names
|
||||||
// being verified won't change from the simulator
|
// being verified won't change from the simulator
|
||||||
|
|
|
@ -159,6 +159,9 @@
|
||||||
<Compile Include="..\..\common\PlatformInfo.cs">
|
<Compile Include="..\..\common\PlatformInfo.cs">
|
||||||
<Link>PlatformInfo.cs</Link>
|
<Link>PlatformInfo.cs</Link>
|
||||||
</Compile>
|
</Compile>
|
||||||
|
<Compile Include="..\..\common\TestRuntime.cs">
|
||||||
|
<Link>TestRuntime.cs</Link>
|
||||||
|
</Compile>
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<None Include="Info.plist" />
|
<None Include="Info.plist" />
|
||||||
|
|
|
@ -33,8 +33,7 @@ namespace MonoTouchFixtures.Contacts {
|
||||||
[SetUp]
|
[SetUp]
|
||||||
public void MinimumSdkCheck ()
|
public void MinimumSdkCheck ()
|
||||||
{
|
{
|
||||||
if (!TestRuntime.CheckiOSSystemVersion (9,0))
|
TestRuntime.AssertXcodeVersion (7, 0);
|
||||||
Assert.Inconclusive ("Requires 9.0+");
|
|
||||||
}
|
}
|
||||||
|
|
||||||
[Test]
|
[Test]
|
||||||
|
|
|
@ -33,8 +33,7 @@ namespace MonoTouchFixtures.Contacts {
|
||||||
[SetUp]
|
[SetUp]
|
||||||
public void MinimumSdkCheck ()
|
public void MinimumSdkCheck ()
|
||||||
{
|
{
|
||||||
if (!TestRuntime.CheckiOSSystemVersion (9,0))
|
TestRuntime.AssertXcodeVersion (7, 0);
|
||||||
Assert.Inconclusive ("Requires 9.0+");
|
|
||||||
}
|
}
|
||||||
|
|
||||||
[Test]
|
[Test]
|
||||||
|
|
|
@ -32,8 +32,7 @@ namespace MonoTouchFixtures.Contacts {
|
||||||
[SetUp]
|
[SetUp]
|
||||||
public void MinimumSdkCheck ()
|
public void MinimumSdkCheck ()
|
||||||
{
|
{
|
||||||
if (!TestRuntime.CheckiOSSystemVersion (9,0))
|
TestRuntime.AssertXcodeVersion (7, 0);
|
||||||
Assert.Inconclusive ("Requires 9.0+");
|
|
||||||
}
|
}
|
||||||
|
|
||||||
[Test]
|
[Test]
|
||||||
|
|
|
@ -33,8 +33,7 @@ namespace MonoTouchFixtures.Contacts {
|
||||||
[SetUp]
|
[SetUp]
|
||||||
public void MinimumSdkCheck ()
|
public void MinimumSdkCheck ()
|
||||||
{
|
{
|
||||||
if (!TestRuntime.CheckiOSSystemVersion (9,0))
|
TestRuntime.AssertXcodeVersion (7, 0);
|
||||||
Assert.Inconclusive ("Requires 9.0+");
|
|
||||||
}
|
}
|
||||||
|
|
||||||
[Test]
|
[Test]
|
||||||
|
|
|
@ -33,8 +33,7 @@ namespace MonoTouchFixtures.Contacts {
|
||||||
[SetUp]
|
[SetUp]
|
||||||
public void MinimumSdkCheck ()
|
public void MinimumSdkCheck ()
|
||||||
{
|
{
|
||||||
if (!TestRuntime.CheckiOSSystemVersion (9,0))
|
TestRuntime.AssertXcodeVersion (7, 0);
|
||||||
Assert.Inconclusive ("Requires 9.0+");
|
|
||||||
}
|
}
|
||||||
|
|
||||||
[Test]
|
[Test]
|
||||||
|
|
|
@ -34,8 +34,7 @@ namespace MonoTouchFixtures.Contacts {
|
||||||
[SetUp]
|
[SetUp]
|
||||||
public void MinimumSdkCheck ()
|
public void MinimumSdkCheck ()
|
||||||
{
|
{
|
||||||
if (!TestRuntime.CheckiOSSystemVersion (9,0))
|
TestRuntime.AssertXcodeVersion (7, 0);
|
||||||
Assert.Inconclusive ("Requires 9.0+");
|
|
||||||
}
|
}
|
||||||
|
|
||||||
[Test]
|
[Test]
|
||||||
|
|
|
@ -19,6 +19,12 @@ namespace MonoTouchFixtures.CoreFoundation {
|
||||||
[Preserve (AllMembers = true)]
|
[Preserve (AllMembers = true)]
|
||||||
public class BundleTest {
|
public class BundleTest {
|
||||||
|
|
||||||
|
#if __WATCHOS__
|
||||||
|
const string ExpectedAppName = "monotouchtest.appex";
|
||||||
|
#else
|
||||||
|
const string ExpectedAppName = "monotouchtest.app";
|
||||||
|
#endif
|
||||||
|
|
||||||
[Test]
|
[Test]
|
||||||
public void TestGetAll ()
|
public void TestGetAll ()
|
||||||
{
|
{
|
||||||
|
@ -67,7 +73,12 @@ namespace MonoTouchFixtures.CoreFoundation {
|
||||||
public void TestGetMain ()
|
public void TestGetMain ()
|
||||||
{
|
{
|
||||||
var main = CFBundle.GetMain ();
|
var main = CFBundle.GetMain ();
|
||||||
Assert.AreEqual ("com.xamarin.monotouch-test", main.Identifier);
|
#if __WATCHOS__
|
||||||
|
var expectedBundleId = "com.xamarin.monotouch-test.watchkitapp.watchkitextension";
|
||||||
|
#else
|
||||||
|
var expectedBundleId = "com.xamarin.monotouch-test";
|
||||||
|
#endif
|
||||||
|
Assert.AreEqual (expectedBundleId, main.Identifier);
|
||||||
Assert.IsTrue (main.HasLoadedExecutable);
|
Assert.IsTrue (main.HasLoadedExecutable);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -82,7 +93,7 @@ namespace MonoTouchFixtures.CoreFoundation {
|
||||||
public void TestExecutableUrl ()
|
public void TestExecutableUrl ()
|
||||||
{
|
{
|
||||||
var main = CFBundle.GetMain ();
|
var main = CFBundle.GetMain ();
|
||||||
Assert.That(main.ExecutableUrl.ToString (), Contains.Substring ("monotouchtest.app/monotouchtest"));
|
Assert.That(main.ExecutableUrl.ToString (), Contains.Substring (ExpectedAppName + "/monotouchtest"));
|
||||||
}
|
}
|
||||||
|
|
||||||
[Test]
|
[Test]
|
||||||
|
@ -96,7 +107,7 @@ namespace MonoTouchFixtures.CoreFoundation {
|
||||||
public void TestResourcesDirectoryUrl ()
|
public void TestResourcesDirectoryUrl ()
|
||||||
{
|
{
|
||||||
var main = CFBundle.GetMain ();
|
var main = CFBundle.GetMain ();
|
||||||
Assert.That(main.ResourcesDirectoryUrl.ToString (), Contains.Substring ("monotouchtest.app/"));
|
Assert.That(main.ResourcesDirectoryUrl.ToString (), Contains.Substring (ExpectedAppName + "/"));
|
||||||
}
|
}
|
||||||
|
|
||||||
[Test]
|
[Test]
|
||||||
|
@ -117,7 +128,7 @@ namespace MonoTouchFixtures.CoreFoundation {
|
||||||
public void TestSupportFilesDirectoryUrl ()
|
public void TestSupportFilesDirectoryUrl ()
|
||||||
{
|
{
|
||||||
var main = CFBundle.GetMain ();
|
var main = CFBundle.GetMain ();
|
||||||
Assert.That(main.SupportFilesDirectoryUrl.ToString (), Contains.Substring ("monotouchtest.app/"));
|
Assert.That(main.SupportFilesDirectoryUrl.ToString (), Contains.Substring (ExpectedAppName + "/"));
|
||||||
}
|
}
|
||||||
|
|
||||||
[Test]
|
[Test]
|
||||||
|
@ -131,7 +142,7 @@ namespace MonoTouchFixtures.CoreFoundation {
|
||||||
public void TestUrl ()
|
public void TestUrl ()
|
||||||
{
|
{
|
||||||
var main = CFBundle.GetMain ();
|
var main = CFBundle.GetMain ();
|
||||||
Assert.That(main.Url.ToString (), Contains.Substring ("monotouchtest.app/"));
|
Assert.That(main.Url.ToString (), Contains.Substring (ExpectedAppName + "/"));
|
||||||
}
|
}
|
||||||
|
|
||||||
[Test]
|
[Test]
|
||||||
|
|
|
@ -115,7 +115,7 @@ namespace MonoTouchFixtures.CoreFoundation {
|
||||||
[Test]
|
[Test]
|
||||||
public void Default ()
|
public void Default ()
|
||||||
{
|
{
|
||||||
var qname = TestRuntime.CheckSystemAndSDKVersion (8, 0) ? "com.apple.root.default-qos" : "com.apple.root.default-priority";
|
var qname = TestRuntime.CheckiOSSystemVersion (8, 0, false) ? "com.apple.root.default-qos" : "com.apple.root.default-priority";
|
||||||
Assert.That (DispatchQueue.DefaultGlobalQueue.Label, Is.EqualTo (qname), "Default");
|
Assert.That (DispatchQueue.DefaultGlobalQueue.Label, Is.EqualTo (qname), "Default");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -165,7 +165,7 @@ namespace MonoTouchFixtures.CoreFoundation {
|
||||||
public void GetGlobalQueue_Priority ()
|
public void GetGlobalQueue_Priority ()
|
||||||
{
|
{
|
||||||
string qdefault, qlow, qhigh;
|
string qdefault, qlow, qhigh;
|
||||||
if (TestRuntime.CheckSystemAndSDKVersion (8, 0)) {
|
if (TestRuntime.CheckiOSSystemVersion (8, 0, false)) {
|
||||||
qdefault = "com.apple.root.default-qos";
|
qdefault = "com.apple.root.default-qos";
|
||||||
qlow = "com.apple.root.utility-qos";
|
qlow = "com.apple.root.utility-qos";
|
||||||
qhigh = "com.apple.root.user-initiated-qos";
|
qhigh = "com.apple.root.user-initiated-qos";
|
||||||
|
|
|
@ -43,7 +43,7 @@ namespace MonoTouchFixtures.CoreFoundation {
|
||||||
public void ToString_ ()
|
public void ToString_ ()
|
||||||
{
|
{
|
||||||
using (CFUrl url = CFUrl.FromFile ("/")) {
|
using (CFUrl url = CFUrl.FromFile ("/")) {
|
||||||
string value = TestRuntime.CheckSystemAndSDKVersion (7, 0) ? "file:///" : "file://localhost/";
|
string value = TestRuntime.CheckiOSSystemVersion (7, 0, false) ? "file:///" : "file://localhost/";
|
||||||
Assert.That (url.ToString (), Is.EqualTo (value), "FromFile");
|
Assert.That (url.ToString (), Is.EqualTo (value), "FromFile");
|
||||||
}
|
}
|
||||||
using (CFUrl url = CFUrl.FromUrlString ("/", null)) {
|
using (CFUrl url = CFUrl.FromUrlString ("/", null)) {
|
||||||
|
|
|
@ -37,7 +37,7 @@ namespace MonoTouchFixtures.CoreGraphics {
|
||||||
using (var ui = new UIImage (img, 1.0f, UIImageOrientation.Up)) {
|
using (var ui = new UIImage (img, 1.0f, UIImageOrientation.Up)) {
|
||||||
Assert.IsNotNull (ui.CGImage, "CGImage");
|
Assert.IsNotNull (ui.CGImage, "CGImage");
|
||||||
|
|
||||||
if (TestRuntime.CheckiOSSystemVersion (9,0))
|
if (TestRuntime.CheckXcodeVersion (7, 0))
|
||||||
Assert.That (img.UTType.ToString (), Is.EqualTo ("public.png"), "UTType");
|
Assert.That (img.UTType.ToString (), Is.EqualTo ("public.png"), "UTType");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -28,8 +28,7 @@ namespace MonoTouchFixtures.CoreGraphics
|
||||||
[Test]
|
[Test]
|
||||||
public void CreateNone ()
|
public void CreateNone ()
|
||||||
{
|
{
|
||||||
if (!TestRuntime.CheckSystemAndSDKVersion (9,3))
|
TestRuntime.AssertXcodeVersion (7, 3);
|
||||||
Assert.Ignore ("requires iOS 9.3+");
|
|
||||||
|
|
||||||
Assert.Throws<ArgumentNullException> (() => new CGColorConverter (null, null), "null");
|
Assert.Throws<ArgumentNullException> (() => new CGColorConverter (null, null), "null");
|
||||||
Assert.Throws<ArgumentNullException> (() => new CGColorConverter (null, new CGColorConverterTriple [0]), "empty");
|
Assert.Throws<ArgumentNullException> (() => new CGColorConverter (null, new CGColorConverterTriple [0]), "empty");
|
||||||
|
@ -38,8 +37,7 @@ namespace MonoTouchFixtures.CoreGraphics
|
||||||
[Test]
|
[Test]
|
||||||
public void CreateSingle ()
|
public void CreateSingle ()
|
||||||
{
|
{
|
||||||
if (!TestRuntime.CheckSystemAndSDKVersion (9,3))
|
TestRuntime.AssertXcodeVersion (7, 3);
|
||||||
Assert.Ignore ("requires iOS 9.3+");
|
|
||||||
|
|
||||||
var triple = new CGColorConverterTriple () {
|
var triple = new CGColorConverterTriple () {
|
||||||
Space = CGColorSpace.CreateGenericRgb (),
|
Space = CGColorSpace.CreateGenericRgb (),
|
||||||
|
@ -55,8 +53,7 @@ namespace MonoTouchFixtures.CoreGraphics
|
||||||
[Test]
|
[Test]
|
||||||
public void CreateDual ()
|
public void CreateDual ()
|
||||||
{
|
{
|
||||||
if (!TestRuntime.CheckSystemAndSDKVersion (9,3))
|
TestRuntime.AssertXcodeVersion (7, 3);
|
||||||
Assert.Ignore ("requires iOS 9.3+");
|
|
||||||
|
|
||||||
var triple = new CGColorConverterTriple () {
|
var triple = new CGColorConverterTriple () {
|
||||||
Space = CGColorSpace.CreateGenericRgb (),
|
Space = CGColorSpace.CreateGenericRgb (),
|
||||||
|
@ -72,8 +69,7 @@ namespace MonoTouchFixtures.CoreGraphics
|
||||||
[Test]
|
[Test]
|
||||||
public void CreateMax ()
|
public void CreateMax ()
|
||||||
{
|
{
|
||||||
if (!TestRuntime.CheckSystemAndSDKVersion (9,3))
|
TestRuntime.AssertXcodeVersion (7, 3);
|
||||||
Assert.Ignore ("requires iOS 9.3+");
|
|
||||||
|
|
||||||
var first = new CGColorConverterTriple () {
|
var first = new CGColorConverterTriple () {
|
||||||
Space = CGColorSpace.CreateGenericRgb (),
|
Space = CGColorSpace.CreateGenericRgb (),
|
||||||
|
@ -99,8 +95,7 @@ namespace MonoTouchFixtures.CoreGraphics
|
||||||
[Test]
|
[Test]
|
||||||
public void CreateTooMany ()
|
public void CreateTooMany ()
|
||||||
{
|
{
|
||||||
if (!TestRuntime.CheckSystemAndSDKVersion (9,3))
|
TestRuntime.AssertXcodeVersion (7, 3);
|
||||||
Assert.Ignore ("requires iOS 9.3+");
|
|
||||||
Assert.Throws<ArgumentException> (() => new CGColorConverter (null, new CGColorConverterTriple [4]));
|
Assert.Throws<ArgumentException> (() => new CGColorConverter (null, new CGColorConverterTriple [4]));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -108,8 +103,7 @@ namespace MonoTouchFixtures.CoreGraphics
|
||||||
[Test]
|
[Test]
|
||||||
public void CreateSimple ()
|
public void CreateSimple ()
|
||||||
{
|
{
|
||||||
if (!TestRuntime.CheckSystemAndSDKVersion (9,3))
|
TestRuntime.AssertXcodeVersion (7, 3);
|
||||||
Assert.Ignore ("requires iOS 9.3+");
|
|
||||||
|
|
||||||
using (var from = CGColorSpace.CreateGenericGray ())
|
using (var from = CGColorSpace.CreateGenericGray ())
|
||||||
using (var to = CGColorSpace.CreateGenericRgb ())
|
using (var to = CGColorSpace.CreateGenericRgb ())
|
||||||
|
@ -124,8 +118,7 @@ namespace MonoTouchFixtures.CoreGraphics
|
||||||
[Test]
|
[Test]
|
||||||
public void CreateSimple_GetINativeObject ()
|
public void CreateSimple_GetINativeObject ()
|
||||||
{
|
{
|
||||||
if (!TestRuntime.CheckSystemAndSDKVersion (9,3))
|
TestRuntime.AssertXcodeVersion (7, 3);
|
||||||
Assert.Ignore ("requires iOS 9.3+");
|
|
||||||
|
|
||||||
using (var from = CGColorSpace.CreateGenericGray ())
|
using (var from = CGColorSpace.CreateGenericGray ())
|
||||||
using (var to = CGColorSpace.CreateGenericRgb ()) {
|
using (var to = CGColorSpace.CreateGenericRgb ()) {
|
||||||
|
@ -140,8 +133,7 @@ namespace MonoTouchFixtures.CoreGraphics
|
||||||
[Test]
|
[Test]
|
||||||
public void CreateSimple_DeviceColorSpace ()
|
public void CreateSimple_DeviceColorSpace ()
|
||||||
{
|
{
|
||||||
if (!TestRuntime.CheckSystemAndSDKVersion (9,3))
|
TestRuntime.AssertXcodeVersion (7, 3);
|
||||||
Assert.Ignore ("requires iOS 9.3+");
|
|
||||||
|
|
||||||
// Requirements: CG color spaces must be calibrated
|
// Requirements: CG color spaces must be calibrated
|
||||||
// (no Device{Gray,RGB,CMYK}, Indexed or DeviceN).
|
// (no Device{Gray,RGB,CMYK}, Indexed or DeviceN).
|
||||||
|
|
|
@ -62,7 +62,7 @@ namespace MonoTouchFixtures.CoreGraphics {
|
||||||
// not indexed so no color table
|
// not indexed so no color table
|
||||||
Assert.That (cs.GetColorTable ().Length, Is.EqualTo (0), "GetColorTable");
|
Assert.That (cs.GetColorTable ().Length, Is.EqualTo (0), "GetColorTable");
|
||||||
|
|
||||||
if (TestRuntime.CheckSystemAndSDKVersion (7, 0))
|
if (TestRuntime.CheckXcodeVersion (5, 0))
|
||||||
Assert.Null (cs.GetICCProfile (), "GetICCProfile");
|
Assert.Null (cs.GetICCProfile (), "GetICCProfile");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -77,7 +77,7 @@ namespace MonoTouchFixtures.CoreGraphics {
|
||||||
// not indexed so no color table
|
// not indexed so no color table
|
||||||
Assert.That (cs.GetColorTable ().Length, Is.EqualTo (0), "GetColorTable");
|
Assert.That (cs.GetColorTable ().Length, Is.EqualTo (0), "GetColorTable");
|
||||||
|
|
||||||
if (TestRuntime.CheckSystemAndSDKVersion (7, 0))
|
if (TestRuntime.CheckXcodeVersion (5, 0))
|
||||||
Assert.Null (cs.GetICCProfile (), "GetICCProfile");
|
Assert.Null (cs.GetICCProfile (), "GetICCProfile");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -92,7 +92,7 @@ namespace MonoTouchFixtures.CoreGraphics {
|
||||||
// not indexed so no color table
|
// not indexed so no color table
|
||||||
Assert.That (cs.GetColorTable ().Length, Is.EqualTo (0), "GetColorTable");
|
Assert.That (cs.GetColorTable ().Length, Is.EqualTo (0), "GetColorTable");
|
||||||
|
|
||||||
if (TestRuntime.CheckSystemAndSDKVersion (7, 0))
|
if (TestRuntime.CheckXcodeVersion (5, 0))
|
||||||
Assert.Null (cs.GetICCProfile (), "GetICCProfile");
|
Assert.Null (cs.GetICCProfile (), "GetICCProfile");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -116,7 +116,7 @@ namespace MonoTouchFixtures.CoreGraphics {
|
||||||
var new_table = cs.GetColorTable ();
|
var new_table = cs.GetColorTable ();
|
||||||
Assert.That (table, Is.EqualTo (new_table), "GetColorTable");
|
Assert.That (table, Is.EqualTo (new_table), "GetColorTable");
|
||||||
|
|
||||||
if (TestRuntime.CheckSystemAndSDKVersion (7, 0))
|
if (TestRuntime.CheckXcodeVersion (5, 0))
|
||||||
Assert.Null (cs.GetICCProfile (), "GetICCProfile");
|
Assert.Null (cs.GetICCProfile (), "GetICCProfile");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -136,7 +136,7 @@ namespace MonoTouchFixtures.CoreGraphics {
|
||||||
// not indexed so no color table
|
// not indexed so no color table
|
||||||
Assert.That (cs.GetColorTable ().Length, Is.EqualTo (0), "GetColorTable");
|
Assert.That (cs.GetColorTable ().Length, Is.EqualTo (0), "GetColorTable");
|
||||||
|
|
||||||
if (TestRuntime.CheckSystemAndSDKVersion (7, 0)) {
|
if (TestRuntime.CheckXcodeVersion (5, 0)) {
|
||||||
using (var icc_profile = cs.GetICCProfile ())
|
using (var icc_profile = cs.GetICCProfile ())
|
||||||
Assert.That (icc_profile.Length, Is.EqualTo (3284), "GetICCProfile");
|
Assert.That (icc_profile.Length, Is.EqualTo (3284), "GetICCProfile");
|
||||||
}
|
}
|
||||||
|
|
|
@ -38,7 +38,7 @@ namespace MonoTouchFixtures.CoreLocation {
|
||||||
try {
|
try {
|
||||||
string field = "kCLErrorUserInfoAlternateRegionKey";
|
string field = "kCLErrorUserInfoAlternateRegionKey";
|
||||||
var p = Dlfcn.dlsym (lib, field);
|
var p = Dlfcn.dlsym (lib, field);
|
||||||
if (TestRuntime.CheckiOSSystemVersion (7,1))
|
if (TestRuntime.CheckXcodeVersion (5,1))
|
||||||
Assert.That (p, Is.Not.EqualTo (IntPtr.Zero), field);
|
Assert.That (p, Is.Not.EqualTo (IntPtr.Zero), field);
|
||||||
else
|
else
|
||||||
Assert.That (p, Is.EqualTo (IntPtr.Zero), field);
|
Assert.That (p, Is.EqualTo (IntPtr.Zero), field);
|
||||||
|
|
|
@ -39,13 +39,21 @@ namespace MonoTouchFixtures.EventKit {
|
||||||
EKEventStore store = new EKEventStore ();
|
EKEventStore store = new EKEventStore ();
|
||||||
var c = EKCalendar.FromEventStore (store);
|
var c = EKCalendar.FromEventStore (store);
|
||||||
// defaults
|
// defaults
|
||||||
|
#if __WATCHOS__
|
||||||
|
Assert.False (c.AllowsContentModifications, "AllowsContentModifications");
|
||||||
|
#else
|
||||||
Assert.True (c.AllowsContentModifications, "AllowsContentModifications");
|
Assert.True (c.AllowsContentModifications, "AllowsContentModifications");
|
||||||
|
#endif
|
||||||
Assert.NotNull (c.CalendarIdentifier, "CalendarIdentifier");
|
Assert.NotNull (c.CalendarIdentifier, "CalendarIdentifier");
|
||||||
Assert.Null (c.CGColor, "CGColor");
|
Assert.Null (c.CGColor, "CGColor");
|
||||||
|
|
||||||
if (TestRuntime.CheckSystemAndSDKVersion (6, 0)) {
|
if (TestRuntime.CheckXcodeVersion (4, 5)) {
|
||||||
// default value changed for iOS 6.0 beta 1
|
// default value changed for iOS 6.0 beta 1
|
||||||
|
#if __WATCHOS__
|
||||||
|
Assert.True (c.Immutable, "Immutable");
|
||||||
|
#else
|
||||||
Assert.False (c.Immutable, "Immutable");
|
Assert.False (c.Immutable, "Immutable");
|
||||||
|
#endif
|
||||||
// new in 6.0
|
// new in 6.0
|
||||||
Assert.AreEqual (EKEntityMask.Event, c.AllowedEntityTypes, "AllowedEntityTypes");
|
Assert.AreEqual (EKEntityMask.Event, c.AllowedEntityTypes, "AllowedEntityTypes");
|
||||||
} else {
|
} else {
|
||||||
|
@ -62,16 +70,24 @@ namespace MonoTouchFixtures.EventKit {
|
||||||
[Test]
|
[Test]
|
||||||
public void FromEventStoreWithReminder ()
|
public void FromEventStoreWithReminder ()
|
||||||
{
|
{
|
||||||
if (!TestRuntime.CheckSystemAndSDKVersion (6,0))
|
if (!TestRuntime.CheckXcodeVersion (4, 5))
|
||||||
Assert.Inconclusive ("+[EKCalendar calendarForEntityType:eventStore:]: unrecognized selector before 6.0");
|
Assert.Inconclusive ("+[EKCalendar calendarForEntityType:eventStore:]: unrecognized selector before 6.0");
|
||||||
|
|
||||||
var c = EKCalendar.Create (EKEntityType.Reminder, new EKEventStore ());
|
var c = EKCalendar.Create (EKEntityType.Reminder, new EKEventStore ());
|
||||||
// defaults
|
// defaults
|
||||||
|
#if __WATCHOS__
|
||||||
|
Assert.False (c.AllowsContentModifications, "AllowsContentModifications");
|
||||||
|
#else
|
||||||
Assert.True (c.AllowsContentModifications, "AllowsContentModifications");
|
Assert.True (c.AllowsContentModifications, "AllowsContentModifications");
|
||||||
|
#endif
|
||||||
Assert.NotNull (c.CalendarIdentifier, "CalendarIdentifier");
|
Assert.NotNull (c.CalendarIdentifier, "CalendarIdentifier");
|
||||||
Assert.Null (c.CGColor, "CGColor");
|
Assert.Null (c.CGColor, "CGColor");
|
||||||
|
|
||||||
|
#if __WATCHOS__
|
||||||
|
Assert.True (c.Immutable, "Immutable");
|
||||||
|
#else
|
||||||
Assert.False (c.Immutable, "Immutable");
|
Assert.False (c.Immutable, "Immutable");
|
||||||
|
#endif
|
||||||
Assert.Null (c.Source, "Source");
|
Assert.Null (c.Source, "Source");
|
||||||
Assert.False (c.Subscribed, "Subscribed");
|
Assert.False (c.Subscribed, "Subscribed");
|
||||||
Assert.That (c.SupportedEventAvailabilities, Is.EqualTo (EKCalendarEventAvailability.None), "SupportedEventAvailabilities");
|
Assert.That (c.SupportedEventAvailabilities, Is.EqualTo (EKCalendarEventAvailability.None), "SupportedEventAvailabilities");
|
||||||
|
|
|
@ -32,7 +32,7 @@ namespace MonoTouchFixtures.EventKit {
|
||||||
[Test]
|
[Test]
|
||||||
public void DefaultValues ()
|
public void DefaultValues ()
|
||||||
{
|
{
|
||||||
if (!TestRuntime.CheckSystemAndSDKVersion (6,0))
|
if (!TestRuntime.CheckXcodeVersion (4, 5))
|
||||||
Assert.Inconclusive ("EKStructuredLocation is new in 6.0");
|
Assert.Inconclusive ("EKStructuredLocation is new in 6.0");
|
||||||
|
|
||||||
var sl = new EKStructuredLocation ();
|
var sl = new EKStructuredLocation ();
|
||||||
|
@ -44,7 +44,7 @@ namespace MonoTouchFixtures.EventKit {
|
||||||
[Test]
|
[Test]
|
||||||
public void FromTitle ()
|
public void FromTitle ()
|
||||||
{
|
{
|
||||||
if (!TestRuntime.CheckSystemAndSDKVersion (6,0))
|
if (!TestRuntime.CheckXcodeVersion (4, 5))
|
||||||
Assert.Inconclusive ("EKStructuredLocation is new in 6.0");
|
Assert.Inconclusive ("EKStructuredLocation is new in 6.0");
|
||||||
|
|
||||||
var sl = EKStructuredLocation.FromTitle ("my title");
|
var sl = EKStructuredLocation.FromTitle ("my title");
|
||||||
|
|
|
@ -132,7 +132,7 @@ namespace MonoTouchFixtures.Foundation {
|
||||||
[Test]
|
[Test]
|
||||||
public void AppStoreReceiptURL ()
|
public void AppStoreReceiptURL ()
|
||||||
{
|
{
|
||||||
if (!TestRuntime.CheckSystemAndSDKVersion (7,0))
|
if (!TestRuntime.CheckXcodeVersion (5, 0))
|
||||||
Assert.Inconclusive ("Requires iOS7 or later");
|
Assert.Inconclusive ("Requires iOS7 or later");
|
||||||
|
|
||||||
// on iOS8 device this now ends with "/StoreKit/sandboxReceipt"
|
// on iOS8 device this now ends with "/StoreKit/sandboxReceipt"
|
||||||
|
|
|
@ -73,8 +73,7 @@ namespace MonoTouchFixtures.Foundation {
|
||||||
|
|
||||||
static void RequiresIos8 ()
|
static void RequiresIos8 ()
|
||||||
{
|
{
|
||||||
if (!TestRuntime.CheckSystemAndSDKVersion (8, 0))
|
TestRuntime.AssertXcodeVersion (6, 0);
|
||||||
Assert.Inconclusive ("Requires iOS8+");
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public NSDate Yesterday { get { return NSDate.FromTimeIntervalSinceNow (-60 * 60 * 24); } }
|
public NSDate Yesterday { get { return NSDate.FromTimeIntervalSinceNow (-60 * 60 * 24); } }
|
||||||
|
|
|
@ -30,7 +30,7 @@ namespace MonoTouchFixtures.Foundation {
|
||||||
// We call NSNumberFormatter to adjust the test according to the iOS (not .NET) culture,
|
// We call NSNumberFormatter to adjust the test according to the iOS (not .NET) culture,
|
||||||
// since NSDecimal.ToString () takes culture into account. .NET CultureInfo does not handle cases
|
// since NSDecimal.ToString () takes culture into account. .NET CultureInfo does not handle cases
|
||||||
// like "en-HU"
|
// like "en-HU"
|
||||||
if (TestRuntime.CheckSystemAndSDKVersion (6, 0) && (CultureInfo.CurrentCulture.Name != "ar-AE")) {
|
if (TestRuntime.CheckXcodeVersion (4, 5) && (CultureInfo.CurrentCulture.Name != "ar-AE")) {
|
||||||
// interestingly the call to `NSDecimal.NSDecimalString (ref this, NSLocale.CurrentLocale.Handle);` does not consider the current locale on iOS 5.1
|
// interestingly the call to `NSDecimal.NSDecimalString (ref this, NSLocale.CurrentLocale.Handle);` does not consider the current locale on iOS 5.1
|
||||||
var expected = NSNumberFormatter.LocalizedStringFromNumbernumberStyle ((NSNumber)f, NSNumberFormatterStyle.Decimal);
|
var expected = NSNumberFormatter.LocalizedStringFromNumbernumberStyle ((NSNumber)f, NSNumberFormatterStyle.Decimal);
|
||||||
Assert.That (nsd.ToString (), Is.EqualTo (expected), "ToString");
|
Assert.That (nsd.ToString (), Is.EqualTo (expected), "ToString");
|
||||||
|
@ -47,7 +47,7 @@ namespace MonoTouchFixtures.Foundation {
|
||||||
// since NSDecimal.ToString () takes culture into account. .NET CultureInfo does not handle cases
|
// since NSDecimal.ToString () takes culture into account. .NET CultureInfo does not handle cases
|
||||||
// like "en-HU"
|
// like "en-HU"
|
||||||
// note: there's no NSNumber / Decimal conversions
|
// note: there's no NSNumber / Decimal conversions
|
||||||
if (TestRuntime.CheckSystemAndSDKVersion (6, 0) && (CultureInfo.CurrentCulture.Name != "ar-AE")) {
|
if (TestRuntime.CheckXcodeVersion (4, 5) && (CultureInfo.CurrentCulture.Name != "ar-AE")) {
|
||||||
// interestingly the call to `NSDecimal.NSDecimalString (ref this, NSLocale.CurrentLocale.Handle);` does not consider the current locale on iOS 5.1
|
// interestingly the call to `NSDecimal.NSDecimalString (ref this, NSLocale.CurrentLocale.Handle);` does not consider the current locale on iOS 5.1
|
||||||
var expected = NSNumberFormatter.LocalizedStringFromNumbernumberStyle ((NSNumber)0.7d, NSNumberFormatterStyle.Decimal);
|
var expected = NSNumberFormatter.LocalizedStringFromNumbernumberStyle ((NSNumber)0.7d, NSNumberFormatterStyle.Decimal);
|
||||||
Assert.That (nsd.ToString (), Is.EqualTo (expected), "ToString");
|
Assert.That (nsd.ToString (), Is.EqualTo (expected), "ToString");
|
||||||
|
@ -63,7 +63,7 @@ namespace MonoTouchFixtures.Foundation {
|
||||||
// We call NSNumberFormatter to adjust the test according to the iOS (not .NET) culture,
|
// We call NSNumberFormatter to adjust the test according to the iOS (not .NET) culture,
|
||||||
// since NSDecimal.ToString () takes culture into account. .NET CultureInfo does not handle cases
|
// since NSDecimal.ToString () takes culture into account. .NET CultureInfo does not handle cases
|
||||||
// like "en-HU"
|
// like "en-HU"
|
||||||
if (TestRuntime.CheckSystemAndSDKVersion (6, 0) && (CultureInfo.CurrentCulture.Name != "ar-AE")) {
|
if (TestRuntime.CheckXcodeVersion (4, 5) && (CultureInfo.CurrentCulture.Name != "ar-AE")) {
|
||||||
// interestingly the call to `NSDecimal.NSDecimalString (ref this, NSLocale.CurrentLocale.Handle);` does not consider the current locale on iOS 5.1
|
// interestingly the call to `NSDecimal.NSDecimalString (ref this, NSLocale.CurrentLocale.Handle);` does not consider the current locale on iOS 5.1
|
||||||
var expected = NSNumberFormatter.LocalizedStringFromNumbernumberStyle ((NSNumber)d, NSNumberFormatterStyle.Decimal);
|
var expected = NSNumberFormatter.LocalizedStringFromNumbernumberStyle ((NSNumber)d, NSNumberFormatterStyle.Decimal);
|
||||||
Assert.That (nsd.ToString (), Is.EqualTo (expected), "ToString");
|
Assert.That (nsd.ToString (), Is.EqualTo (expected), "ToString");
|
||||||
|
|
|
@ -24,8 +24,7 @@ namespace MonoTouchFixtures.Foundation {
|
||||||
[Test]
|
[Test]
|
||||||
public void SetValueEnumArray ()
|
public void SetValueEnumArray ()
|
||||||
{
|
{
|
||||||
if (!TestRuntime.CheckSystemAndSDKVersion (8, 0))
|
TestRuntime.AssertXcodeVersion (6, 0);
|
||||||
Assert.Inconclusive ("Request iOS8+");
|
|
||||||
|
|
||||||
var encodings = new NSStringEncoding [] { NSStringEncoding.ISOLatin1, NSStringEncoding.ISOLatin2 };
|
var encodings = new NSStringEncoding [] { NSStringEncoding.ISOLatin1, NSStringEncoding.ISOLatin2 };
|
||||||
var edo = new EncodingDetectionOptions () {
|
var edo = new EncodingDetectionOptions () {
|
||||||
|
|
|
@ -40,7 +40,7 @@ namespace MonoTouchFixtures.Foundation {
|
||||||
Assert.Inconclusive ("sometimes crash under the iOS simulator (generally on the SL/iOS5 bots)");
|
Assert.Inconclusive ("sometimes crash under the iOS simulator (generally on the SL/iOS5 bots)");
|
||||||
|
|
||||||
NSFileManager fm = new NSFileManager ();
|
NSFileManager fm = new NSFileManager ();
|
||||||
if (TestRuntime.CheckSystemAndSDKVersion (6, 0) && fm.UbiquityIdentityToken == null) {
|
if (TestRuntime.CheckXcodeVersion (4, 5) && fm.UbiquityIdentityToken == null) {
|
||||||
// UbiquityIdentityToken is a fast way to check if iCloud is enabled
|
// UbiquityIdentityToken is a fast way to check if iCloud is enabled
|
||||||
Assert.Pass ("not iCloud enabled");
|
Assert.Pass ("not iCloud enabled");
|
||||||
}
|
}
|
||||||
|
|
|
@ -29,8 +29,7 @@ namespace MonoTouchFixtures.Foundation
|
||||||
|
|
||||||
void RequiresIos8 ()
|
void RequiresIos8 ()
|
||||||
{
|
{
|
||||||
if (!TestRuntime.CheckSystemAndSDKVersion (8, 0))
|
TestRuntime.AssertXcodeVersion (6, 0);
|
||||||
Assert.Inconclusive ("Requires iOS8+");
|
|
||||||
|
|
||||||
if (dateComponentsFormatter == null)
|
if (dateComponentsFormatter == null)
|
||||||
dateComponentsFormatter = new NSDateComponentsFormatter ();
|
dateComponentsFormatter = new NSDateComponentsFormatter ();
|
||||||
|
|
|
@ -35,7 +35,7 @@ namespace MonoTouchFixtures.Foundation {
|
||||||
public void Exceptions ()
|
public void Exceptions ()
|
||||||
{
|
{
|
||||||
var data = NSData.FromString ("dummy string");
|
var data = NSData.FromString ("dummy string");
|
||||||
if (TestRuntime.CheckiOSSystemVersion (9, 0)) {
|
if (TestRuntime.CheckXcodeVersion (7, 0)) {
|
||||||
// iOS9 does not throw if it cannot get correct data, it simply returns null (much better)
|
// iOS9 does not throw if it cannot get correct data, it simply returns null (much better)
|
||||||
Assert.Null (NSKeyedUnarchiver.UnarchiveFile (Path.Combine (NSBundle.MainBundle.ResourcePath, "basn3p08.png")), "UnarchiveFile");
|
Assert.Null (NSKeyedUnarchiver.UnarchiveFile (Path.Combine (NSBundle.MainBundle.ResourcePath, "basn3p08.png")), "UnarchiveFile");
|
||||||
Assert.Null (NSKeyedUnarchiver.UnarchiveObject (data), "UnarchiveObject");
|
Assert.Null (NSKeyedUnarchiver.UnarchiveObject (data), "UnarchiveObject");
|
||||||
|
|
|
@ -33,8 +33,7 @@ namespace MonoTouchFixtures.Foundation {
|
||||||
[Test]
|
[Test]
|
||||||
public void FromLocaleIdentifier ()
|
public void FromLocaleIdentifier ()
|
||||||
{
|
{
|
||||||
if (!TestRuntime.CheckSystemAndSDKVersion (7,0))
|
TestRuntime.AssertXcodeVersion (5, 0);
|
||||||
Assert.Inconclusive ("Requires iOS7 or later");
|
|
||||||
|
|
||||||
string ident = NSLocale.CurrentLocale.Identifier;
|
string ident = NSLocale.CurrentLocale.Identifier;
|
||||||
Assert.That (NSLocale.FromLocaleIdentifier (ident).Identifier, Is.EqualTo (ident), "FromLocaleIdentifier");
|
Assert.That (NSLocale.FromLocaleIdentifier (ident).Identifier, Is.EqualTo (ident), "FromLocaleIdentifier");
|
||||||
|
|
|
@ -27,8 +27,7 @@ namespace MonoTouchFixtures.Foundation
|
||||||
{
|
{
|
||||||
static void RequiresIos8 ()
|
static void RequiresIos8 ()
|
||||||
{
|
{
|
||||||
if (!TestRuntime.CheckSystemAndSDKVersion (8, 0))
|
TestRuntime.AssertXcodeVersion (6, 0);
|
||||||
Assert.Inconclusive ("Requires iOS8+");
|
|
||||||
}
|
}
|
||||||
|
|
||||||
[Test]
|
[Test]
|
||||||
|
|
|
@ -39,8 +39,7 @@ namespace MonoTouchFixtures.Foundation {
|
||||||
[Test]
|
[Test]
|
||||||
public void ConstructorTest ()
|
public void ConstructorTest ()
|
||||||
{
|
{
|
||||||
if (!TestRuntime.CheckSystemAndSDKVersion (7, 0))
|
TestRuntime.AssertXcodeVersion (5, 0);
|
||||||
Assert.Ignore ("This test uses API introduced in iOS 7");
|
|
||||||
|
|
||||||
var bytes = Marshal.AllocHGlobal (1);
|
var bytes = Marshal.AllocHGlobal (1);
|
||||||
var deallocated = false;
|
var deallocated = false;
|
||||||
|
@ -130,6 +129,12 @@ namespace MonoTouchFixtures.Foundation {
|
||||||
[Test]
|
[Test]
|
||||||
public void Https ()
|
public void Https ()
|
||||||
{
|
{
|
||||||
|
#if __WATCHOS__
|
||||||
|
if (global::ObjCRuntime.Runtime.Arch == global::ObjCRuntime.Arch.DEVICE) {
|
||||||
|
// This error is returned: Error: The file “robots.txt” couldn’t be opened. The file “robots.txt” couldn’t be opened.
|
||||||
|
Assert.Ignore ("NSData.FromUrl doesn't seem to work in watchOS");
|
||||||
|
}
|
||||||
|
#endif
|
||||||
using (var url = new NSUrl ("https://blog.xamarin.com/robots.txt"))
|
using (var url = new NSUrl ("https://blog.xamarin.com/robots.txt"))
|
||||||
using (var x = NSData.FromUrl (url)) {
|
using (var x = NSData.FromUrl (url)) {
|
||||||
Assert.That ((x != null) && (x.Length > 0));
|
Assert.That ((x != null) && (x.Length > 0));
|
||||||
|
@ -139,8 +144,7 @@ namespace MonoTouchFixtures.Foundation {
|
||||||
[Test]
|
[Test]
|
||||||
public void Base64_Short ()
|
public void Base64_Short ()
|
||||||
{
|
{
|
||||||
if (!TestRuntime.CheckSystemAndSDKVersion (7,0))
|
TestRuntime.AssertXcodeVersion (5, 0);
|
||||||
Assert.Inconclusive ("Requires iOS7 or later");
|
|
||||||
|
|
||||||
using (var data = NSData.FromArray (new byte [1] { 42 })) {
|
using (var data = NSData.FromArray (new byte [1] { 42 })) {
|
||||||
string s1 = data.GetBase64EncodedString (NSDataBase64EncodingOptions.EndLineWithCarriageReturn);
|
string s1 = data.GetBase64EncodedString (NSDataBase64EncodingOptions.EndLineWithCarriageReturn);
|
||||||
|
@ -160,8 +164,7 @@ namespace MonoTouchFixtures.Foundation {
|
||||||
[Test]
|
[Test]
|
||||||
public void Base64_Long ()
|
public void Base64_Long ()
|
||||||
{
|
{
|
||||||
if (!TestRuntime.CheckSystemAndSDKVersion (7,0))
|
TestRuntime.AssertXcodeVersion (5, 0);
|
||||||
Assert.Inconclusive ("Requires iOS7 or later");
|
|
||||||
|
|
||||||
byte[] array = new byte [60];
|
byte[] array = new byte [60];
|
||||||
using (var data = NSData.FromArray (array)) {
|
using (var data = NSData.FromArray (array)) {
|
||||||
|
@ -294,8 +297,7 @@ namespace MonoTouchFixtures.Foundation {
|
||||||
[Test]
|
[Test]
|
||||||
public void Base64String ()
|
public void Base64String ()
|
||||||
{
|
{
|
||||||
if (!TestRuntime.CheckSystemAndSDKVersion (7,0))
|
TestRuntime.AssertXcodeVersion (5, 0);
|
||||||
Assert.Inconclusive ("Requires iOS7 or later");
|
|
||||||
|
|
||||||
using (var d = new NSData ("WGFtYXJpbg==", NSDataBase64DecodingOptions.IgnoreUnknownCharacters)) {
|
using (var d = new NSData ("WGFtYXJpbg==", NSDataBase64DecodingOptions.IgnoreUnknownCharacters)) {
|
||||||
Assert.That (d.ToString (), Is.EqualTo ("Xamarin"));
|
Assert.That (d.ToString (), Is.EqualTo ("Xamarin"));
|
||||||
|
@ -305,8 +307,7 @@ namespace MonoTouchFixtures.Foundation {
|
||||||
[Test]
|
[Test]
|
||||||
public void Base64Data ()
|
public void Base64Data ()
|
||||||
{
|
{
|
||||||
if (!TestRuntime.CheckSystemAndSDKVersion (7,0))
|
TestRuntime.AssertXcodeVersion (5, 0);
|
||||||
Assert.Inconclusive ("Requires iOS7 or later");
|
|
||||||
|
|
||||||
using (var b = NSData.FromString ("WGFtYXJpbg=="))
|
using (var b = NSData.FromString ("WGFtYXJpbg=="))
|
||||||
using (var d = new NSData (b, NSDataBase64DecodingOptions.IgnoreUnknownCharacters)) {
|
using (var d = new NSData (b, NSDataBase64DecodingOptions.IgnoreUnknownCharacters)) {
|
||||||
|
|
|
@ -69,6 +69,30 @@ namespace MonoTouchFixtures.Foundation {
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
[Test]
|
||||||
|
public void FromObjectsAndKeysGenericTest ()
|
||||||
|
{
|
||||||
|
var keys = new [] {
|
||||||
|
new NSString ("Key1"),
|
||||||
|
new NSString ("Key2"),
|
||||||
|
new NSString ("Key3"),
|
||||||
|
new NSString ("Key4"),
|
||||||
|
new NSString ("Key5"),
|
||||||
|
};
|
||||||
|
var values = new [] {
|
||||||
|
NSNumber.FromByte (0x1),
|
||||||
|
NSNumber.FromFloat (8.5f),
|
||||||
|
NSNumber.FromDouble (10.5),
|
||||||
|
NSNumber.FromInt32 (42),
|
||||||
|
NSNumber.FromBoolean (true),
|
||||||
|
};
|
||||||
|
|
||||||
|
var dict = NSDictionary<NSString, NSNumber>.FromObjectsAndKeys (values, keys, values.Length);
|
||||||
|
Assert.AreEqual (dict.Count, 5, "count");
|
||||||
|
for (int i = 0; i < values.Length; i++)
|
||||||
|
Assert.AreEqual (dict [keys [i]], values [i], $"key lookup, Iteration: {i}");
|
||||||
|
}
|
||||||
|
|
||||||
[Test]
|
[Test]
|
||||||
public void KeyValue_Autorelease ()
|
public void KeyValue_Autorelease ()
|
||||||
{
|
{
|
||||||
|
|
|
@ -43,6 +43,30 @@ namespace MonoTouchFixtures.Foundation {
|
||||||
Assert.AreEqual ((string)(NSString)(j [(NSString) "key"]), "value", "key lookup");
|
Assert.AreEqual ((string)(NSString)(j [(NSString) "key"]), "value", "key lookup");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
[Test]
|
||||||
|
public void FromObjectsAndKeysGenericTest ()
|
||||||
|
{
|
||||||
|
var keys = new [] {
|
||||||
|
new NSString ("Key1"),
|
||||||
|
new NSString ("Key2"),
|
||||||
|
new NSString ("Key3"),
|
||||||
|
new NSString ("Key4"),
|
||||||
|
new NSString ("Key5"),
|
||||||
|
};
|
||||||
|
var values = new [] {
|
||||||
|
NSNumber.FromByte (0x1),
|
||||||
|
NSNumber.FromFloat (8.5f),
|
||||||
|
NSNumber.FromDouble (10.5),
|
||||||
|
NSNumber.FromInt32 (42),
|
||||||
|
NSNumber.FromBoolean (true),
|
||||||
|
};
|
||||||
|
|
||||||
|
var dict = NSMutableDictionary<NSString, NSNumber>.FromObjectsAndKeys (values, keys, values.Length);
|
||||||
|
Assert.AreEqual (dict.Count, 5, "count");
|
||||||
|
for (int i = 0; i < values.Length; i++)
|
||||||
|
Assert.AreEqual (dict [keys [i]], values [i], $"key lookup, Iteration: {i}");
|
||||||
|
}
|
||||||
|
|
||||||
[Test]
|
[Test]
|
||||||
public void KeyValue_Autorelease ()
|
public void KeyValue_Autorelease ()
|
||||||
{
|
{
|
||||||
|
|
|
@ -40,8 +40,16 @@ namespace MonoTouchFixtures.Foundation {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#if !__WATCHOS__
|
||||||
TcpListener FindPort (out int port)
|
TcpListener FindPort (out int port)
|
||||||
{
|
{
|
||||||
|
// This does not work well on watchOS:
|
||||||
|
// The request to start the tcp listener will fail, but
|
||||||
|
// at the same time leave a file descriptor (the socket) open
|
||||||
|
// until the TcpListener is collected by the GC.
|
||||||
|
// Since we create 3000 TcpListeners here, we end up using
|
||||||
|
// up all the available file descriptors, causing trouble
|
||||||
|
// for later tests.
|
||||||
for (port = 3000; port < 6000; port++) {
|
for (port = 3000; port < 6000; port++) {
|
||||||
var listener = new TcpListener (IPAddress.Any, port);
|
var listener = new TcpListener (IPAddress.Any, port);
|
||||||
try {
|
try {
|
||||||
|
@ -53,7 +61,6 @@ namespace MonoTouchFixtures.Foundation {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
#if !__WATCHOS__
|
|
||||||
[Test]
|
[Test]
|
||||||
public void ConnectToHost ()
|
public void ConnectToHost ()
|
||||||
{
|
{
|
||||||
|
@ -83,7 +90,6 @@ namespace MonoTouchFixtures.Foundation {
|
||||||
read.Close ();
|
read.Close ();
|
||||||
write.Close ();
|
write.Close ();
|
||||||
}
|
}
|
||||||
#endif // !__WATCHOS__
|
|
||||||
|
|
||||||
[Test]
|
[Test]
|
||||||
public void ConnectToPeer ()
|
public void ConnectToPeer ()
|
||||||
|
@ -128,6 +134,7 @@ namespace MonoTouchFixtures.Foundation {
|
||||||
}
|
}
|
||||||
client.Close ();
|
client.Close ();
|
||||||
}
|
}
|
||||||
|
#endif // !__WATCHOS__
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -93,7 +93,7 @@ namespace MonoTouchFixtures.Foundation {
|
||||||
using (CGColor c = new CGColor (CGColorSpace.CreateDeviceRGB (), new nfloat [] { 0.1f, 0.2f, 0.3f, 1.0f })) {
|
using (CGColor c = new CGColor (CGColorSpace.CreateDeviceRGB (), new nfloat [] { 0.1f, 0.2f, 0.3f, 1.0f })) {
|
||||||
Assert.IsNotNull (NSObject.FromObject (c), "CGColor");
|
Assert.IsNotNull (NSObject.FromObject (c), "CGColor");
|
||||||
}
|
}
|
||||||
if (TestRuntime.CheckSystemAndSDKVersion (8,0)) {
|
if (TestRuntime.CheckXcodeVersion (6, 0)) {
|
||||||
using (var sac = new SecAccessControl (SecAccessible.WhenPasscodeSetThisDeviceOnly)) {
|
using (var sac = new SecAccessControl (SecAccessible.WhenPasscodeSetThisDeviceOnly)) {
|
||||||
Assert.IsNotNull (NSObject.FromObject (sac), "SecAccessControl");
|
Assert.IsNotNull (NSObject.FromObject (sac), "SecAccessControl");
|
||||||
}
|
}
|
||||||
|
|
|
@ -179,8 +179,7 @@ namespace MonoTouchFixtures.Foundation {
|
||||||
[Test]
|
[Test]
|
||||||
public void DrawingExtensions ()
|
public void DrawingExtensions ()
|
||||||
{
|
{
|
||||||
if (!TestRuntime.CheckSystemAndSDKVersion (7,0))
|
TestRuntime.AssertXcodeVersion (5, 0);
|
||||||
Assert.Inconclusive ("requires iOS7+");
|
|
||||||
|
|
||||||
using (var s = new NSString ("foo")) {
|
using (var s = new NSString ("foo")) {
|
||||||
NSStringDrawingOptions options = NSStringDrawingOptions.OneShot;
|
NSStringDrawingOptions options = NSStringDrawingOptions.OneShot;
|
||||||
|
|
|
@ -36,6 +36,9 @@ namespace MonoTouchFixtures.Foundation {
|
||||||
[Test]
|
[Test]
|
||||||
public void GetEntryAssemblyReturnsOk ()
|
public void GetEntryAssemblyReturnsOk ()
|
||||||
{
|
{
|
||||||
|
#if __WATCHOS__
|
||||||
|
Assert.IsNull (Assembly.GetEntryAssembly ());
|
||||||
|
#else
|
||||||
Assert.IsNotNull (Assembly.GetEntryAssembly ());
|
Assert.IsNotNull (Assembly.GetEntryAssembly ());
|
||||||
Assert.IsTrue (NSThread.IsMain);
|
Assert.IsTrue (NSThread.IsMain);
|
||||||
int rv = -1;
|
int rv = -1;
|
||||||
|
@ -52,6 +55,7 @@ namespace MonoTouchFixtures.Foundation {
|
||||||
t.Start ();
|
t.Start ();
|
||||||
t.Join ();
|
t.Join ();
|
||||||
Assert.AreEqual (0, rv);
|
Assert.AreEqual (0, rv);
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
[Test]
|
[Test]
|
||||||
|
|
|
@ -28,6 +28,13 @@ namespace MonoTouchFixtures.Foundation {
|
||||||
[Test]
|
[Test]
|
||||||
public void Indexer ()
|
public void Indexer ()
|
||||||
{
|
{
|
||||||
|
#if __WATCHOS__
|
||||||
|
// Looks like NSUbiquitousKeyValueStore doesn't work on watchOS:
|
||||||
|
// http://stackoverflow.com/questions/37412775/nsubiquitouskeyvaluestore-is-unavailable-watchos-2
|
||||||
|
// https://forums.developer.apple.com/thread/47564
|
||||||
|
Assert.Ignore ("Doesn't work on watchOS");
|
||||||
|
#endif
|
||||||
|
|
||||||
using (var store = new NSUbiquitousKeyValueStore ()) {
|
using (var store = new NSUbiquitousKeyValueStore ()) {
|
||||||
using (var key = new NSString ("key")) {
|
using (var key = new NSString ("key")) {
|
||||||
using (var value = new NSString ("value")) {
|
using (var value = new NSString ("value")) {
|
||||||
|
|
|
@ -59,7 +59,7 @@ namespace MonoTouchFixtures.Foundation {
|
||||||
public void Https ()
|
public void Https ()
|
||||||
{
|
{
|
||||||
using (var ps = new NSUrlProtectionSpace ("mail.google.com", 443, NSUrlProtectionSpace.HTTPS, null, NSUrlProtectionSpace.AuthenticationMethodHTTPBasic)) {
|
using (var ps = new NSUrlProtectionSpace ("mail.google.com", 443, NSUrlProtectionSpace.HTTPS, null, NSUrlProtectionSpace.AuthenticationMethodHTTPBasic)) {
|
||||||
if (TestRuntime.CheckiOSSystemVersion (9, 0)) {
|
if (TestRuntime.CheckXcodeVersion (7, 0)) {
|
||||||
Assert.That (ps.AuthenticationMethod, Is.EqualTo ("NSURLAuthenticationMethodHTTPBasic"), "AuthenticationMethod");
|
Assert.That (ps.AuthenticationMethod, Is.EqualTo ("NSURLAuthenticationMethodHTTPBasic"), "AuthenticationMethod");
|
||||||
} else {
|
} else {
|
||||||
Assert.That (ps.AuthenticationMethod, Is.EqualTo ("NSURLAuthenticationMethodDefault"), "AuthenticationMethod");
|
Assert.That (ps.AuthenticationMethod, Is.EqualTo ("NSURLAuthenticationMethodDefault"), "AuthenticationMethod");
|
||||||
|
|
|
@ -30,8 +30,7 @@ namespace MonoTouchFixtures.Foundation {
|
||||||
[Test]
|
[Test]
|
||||||
public void BackgroundSessionConfiguration ()
|
public void BackgroundSessionConfiguration ()
|
||||||
{
|
{
|
||||||
if (!TestRuntime.CheckSystemAndSDKVersion (7, 0))
|
TestRuntime.AssertXcodeVersion (5, 0);
|
||||||
Assert.Inconclusive ("requires iOS7");
|
|
||||||
|
|
||||||
// https://trello.com/c/F6cyUBFU/70-simple-background-transfer-bo-pang-block-by-an-system-invalidcastexception-in-nsurlsessionconfiguration-backgroundsessionconfigu
|
// https://trello.com/c/F6cyUBFU/70-simple-background-transfer-bo-pang-block-by-an-system-invalidcastexception-in-nsurlsessionconfiguration-backgroundsessionconfigu
|
||||||
using (var session = NSUrlSessionConfiguration.BackgroundSessionConfiguration ("id")) {
|
using (var session = NSUrlSessionConfiguration.BackgroundSessionConfiguration ("id")) {
|
||||||
|
@ -42,8 +41,7 @@ namespace MonoTouchFixtures.Foundation {
|
||||||
[Test]
|
[Test]
|
||||||
public void Default_Properties ()
|
public void Default_Properties ()
|
||||||
{
|
{
|
||||||
if (!TestRuntime.CheckSystemAndSDKVersion (7, 0))
|
TestRuntime.AssertXcodeVersion (5, 0);
|
||||||
Assert.Inconclusive ("requires iOS7");
|
|
||||||
|
|
||||||
var config = NSUrlSessionConfiguration.DefaultSessionConfiguration;
|
var config = NSUrlSessionConfiguration.DefaultSessionConfiguration;
|
||||||
|
|
||||||
|
@ -88,7 +86,7 @@ namespace MonoTouchFixtures.Foundation {
|
||||||
Assert.False (config.SessionSendsLaunchEvents, "sessionSendsLaunchEvents");
|
Assert.False (config.SessionSendsLaunchEvents, "sessionSendsLaunchEvents");
|
||||||
config.SessionSendsLaunchEvents = config.SessionSendsLaunchEvents; // setSessionSendsLaunchEvents:
|
config.SessionSendsLaunchEvents = config.SessionSendsLaunchEvents; // setSessionSendsLaunchEvents:
|
||||||
|
|
||||||
if (TestRuntime.CheckiOSSystemVersion (8,0)) {
|
if (TestRuntime.CheckXcodeVersion (6, 0)) {
|
||||||
Assert.Null (config.SharedContainerIdentifier, "sharedContainerIdentifier");
|
Assert.Null (config.SharedContainerIdentifier, "sharedContainerIdentifier");
|
||||||
config.SharedContainerIdentifier = config.SharedContainerIdentifier; // setSharedContainerIdentifier:
|
config.SharedContainerIdentifier = config.SharedContainerIdentifier; // setSharedContainerIdentifier:
|
||||||
}
|
}
|
||||||
|
@ -111,7 +109,7 @@ namespace MonoTouchFixtures.Foundation {
|
||||||
Assert.NotNull (config.URLCredentialStorage, "URLCredentialStorage");
|
Assert.NotNull (config.URLCredentialStorage, "URLCredentialStorage");
|
||||||
config.URLCredentialStorage = config.URLCredentialStorage; // setURLCredentialStorage:
|
config.URLCredentialStorage = config.URLCredentialStorage; // setURLCredentialStorage:
|
||||||
|
|
||||||
if (TestRuntime.CheckiOSSystemVersion (8,0)) {
|
if (TestRuntime.CheckXcodeVersion (6, 0)) {
|
||||||
Assert.NotNull (config.WeakProtocolClasses, "protocolClasses");
|
Assert.NotNull (config.WeakProtocolClasses, "protocolClasses");
|
||||||
} else {
|
} else {
|
||||||
Assert.Null (config.WeakProtocolClasses, "protocolClasses");
|
Assert.Null (config.WeakProtocolClasses, "protocolClasses");
|
||||||
|
|
|
@ -28,8 +28,7 @@ namespace MonoTouchFixtures.Foundation {
|
||||||
[Test]
|
[Test]
|
||||||
public void Properties ()
|
public void Properties ()
|
||||||
{
|
{
|
||||||
if (!TestRuntime.CheckSystemAndSDKVersion (7, 0))
|
TestRuntime.AssertXcodeVersion (5, 0);
|
||||||
Assert.Inconclusive ("requires iOS7");
|
|
||||||
|
|
||||||
using (var ur = new NSUrlRequest ())
|
using (var ur = new NSUrlRequest ())
|
||||||
using (var task = NSUrlSession.SharedSession.CreateDownloadTask (ur)) {
|
using (var task = NSUrlSession.SharedSession.CreateDownloadTask (ur)) {
|
||||||
|
|
|
@ -29,11 +29,10 @@ namespace MonoTouchFixtures.Foundation {
|
||||||
[Test]
|
[Test]
|
||||||
public void CreateDataTaskAsync ()
|
public void CreateDataTaskAsync ()
|
||||||
{
|
{
|
||||||
if (!TestRuntime.CheckSystemAndSDKVersion (7, 0))
|
TestRuntime.AssertXcodeVersion (5, 0);
|
||||||
Assert.Inconclusive ("requires iOS7");
|
|
||||||
|
|
||||||
NSUrlSession session = NSUrlSession.SharedSession;
|
NSUrlSession session = NSUrlSession.SharedSession;
|
||||||
|
NSUrlSessionConfiguration.DefaultSessionConfiguration.TimeoutIntervalForRequest = 15; // seconds
|
||||||
var url = new NSUrl ("http://www.xamarin.com");
|
var url = new NSUrl ("http://www.xamarin.com");
|
||||||
var tmpfile = Path.GetTempFileName ();
|
var tmpfile = Path.GetTempFileName ();
|
||||||
File.WriteAllText (tmpfile, "TMPFILE");
|
File.WriteAllText (tmpfile, "TMPFILE");
|
||||||
|
@ -98,8 +97,7 @@ namespace MonoTouchFixtures.Foundation {
|
||||||
[Test]
|
[Test]
|
||||||
public void DownloadDataAsync ()
|
public void DownloadDataAsync ()
|
||||||
{
|
{
|
||||||
if (!TestRuntime.CheckiOSSystemVersion (7, 0))
|
TestRuntime.AssertXcodeVersion (5, 0);
|
||||||
Assert.Inconclusive ("NSUrlSession is iOS7+");
|
|
||||||
|
|
||||||
bool completed = false;
|
bool completed = false;
|
||||||
int failed_iteration = -1;
|
int failed_iteration = -1;
|
||||||
|
@ -128,8 +126,7 @@ namespace MonoTouchFixtures.Foundation {
|
||||||
[Test]
|
[Test]
|
||||||
public void SharedSession ()
|
public void SharedSession ()
|
||||||
{
|
{
|
||||||
if (!TestRuntime.CheckSystemAndSDKVersion (7, 0))
|
TestRuntime.AssertXcodeVersion (5, 0);
|
||||||
Assert.Inconclusive ("requires iOS7");
|
|
||||||
|
|
||||||
// in iOS9 those selectors do not respond - but they do work (forwarded to __NSURLSessionLocal type ?)
|
// in iOS9 those selectors do not respond - but they do work (forwarded to __NSURLSessionLocal type ?)
|
||||||
// * delegateQueue, sessionDescription, setSessionDescription:, delegate
|
// * delegateQueue, sessionDescription, setSessionDescription:, delegate
|
||||||
|
|
|
@ -29,20 +29,12 @@ namespace MonoTouchFixtures.Foundation {
|
||||||
[Test]
|
[Test]
|
||||||
public void Fields ()
|
public void Fields ()
|
||||||
{
|
{
|
||||||
// new in 5.1
|
|
||||||
if (!TestRuntime.CheckSystemAndSDKVersion (5, 1))
|
|
||||||
return;
|
|
||||||
|
|
||||||
Assert.That (NSUrl.IsExcludedFromBackupKey.ToString (), Is.EqualTo ("NSURLIsExcludedFromBackupKey"), "IsExcludedFromBackupKey");
|
Assert.That (NSUrl.IsExcludedFromBackupKey.ToString (), Is.EqualTo ("NSURLIsExcludedFromBackupKey"), "IsExcludedFromBackupKey");
|
||||||
}
|
}
|
||||||
|
|
||||||
[Test]
|
[Test]
|
||||||
public void IsExcludedFromBackupKey ()
|
public void IsExcludedFromBackupKey ()
|
||||||
{
|
{
|
||||||
// new in 5.1
|
|
||||||
if (!TestRuntime.CheckSystemAndSDKVersion (5, 1))
|
|
||||||
return;
|
|
||||||
|
|
||||||
// NOTE: this test was failing with either NullReferenceException or InvalidCastException
|
// NOTE: this test was failing with either NullReferenceException or InvalidCastException
|
||||||
// when we used CFBoolean as a NSObject (i.e. CFBoolean.TrueObject). The test order execution
|
// when we used CFBoolean as a NSObject (i.e. CFBoolean.TrueObject). The test order execution
|
||||||
// was important to track this down
|
// was important to track this down
|
||||||
|
|
|
@ -70,8 +70,7 @@ namespace MonoTouchFixtures.Foundation {
|
||||||
[Test]
|
[Test]
|
||||||
public void Ctor_SuiteName ()
|
public void Ctor_SuiteName ()
|
||||||
{
|
{
|
||||||
if (!TestRuntime.CheckSystemAndSDKVersion (7,0))
|
TestRuntime.AssertXcodeVersion (5, 0);
|
||||||
Assert.Ignore ("Requires iOS7");
|
|
||||||
|
|
||||||
// initWithSuiteName:
|
// initWithSuiteName:
|
||||||
using (var ud = new NSUserDefaults ("suitename", NSUserDefaultsType.SuiteName)) {
|
using (var ud = new NSUserDefaults ("suitename", NSUserDefaultsType.SuiteName)) {
|
||||||
|
|
|
@ -29,8 +29,7 @@ namespace MonoTouchFixtures.Foundation {
|
||||||
[Test]
|
[Test]
|
||||||
public void Constructors ()
|
public void Constructors ()
|
||||||
{
|
{
|
||||||
if (!TestRuntime.CheckSystemAndSDKVersion (6,0))
|
TestRuntime.AssertXcodeVersion (4, 5);
|
||||||
Assert.Inconclusive ("NSUUID is new in 6.0");
|
|
||||||
|
|
||||||
var uuid = new NSUuid (new byte [] { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15 });
|
var uuid = new NSUuid (new byte [] { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15 });
|
||||||
Assert.That (uuid, Is.Not.EqualTo (null), "constructed");
|
Assert.That (uuid, Is.Not.EqualTo (null), "constructed");
|
||||||
|
@ -45,8 +44,7 @@ namespace MonoTouchFixtures.Foundation {
|
||||||
[Test]
|
[Test]
|
||||||
public void ConstructorFailures ()
|
public void ConstructorFailures ()
|
||||||
{
|
{
|
||||||
if (!TestRuntime.CheckSystemAndSDKVersion (6,0))
|
TestRuntime.AssertXcodeVersion (4, 5);
|
||||||
Assert.Inconclusive ("NSUUID is new in 6.0");
|
|
||||||
|
|
||||||
try {
|
try {
|
||||||
var uuid = new NSUuid ((byte[]) null);
|
var uuid = new NSUuid ((byte[]) null);
|
||||||
|
|
|
@ -37,8 +37,7 @@ namespace MonoTouchFixtures.HealthKit {
|
||||||
[Test]
|
[Test]
|
||||||
public void NoAnchor ()
|
public void NoAnchor ()
|
||||||
{
|
{
|
||||||
if (!TestRuntime.CheckSystemAndSDKVersion (8,0))
|
TestRuntime.AssertXcodeVersion (6, 0);
|
||||||
Assert.Inconclusive ("Requires iOS8+");
|
|
||||||
|
|
||||||
using (var t = HKObjectType.GetCategoryType (HKCategoryTypeIdentifierKey.SleepAnalysis))
|
using (var t = HKObjectType.GetCategoryType (HKCategoryTypeIdentifierKey.SleepAnalysis))
|
||||||
using (var aoq = new HKAnchoredObjectQuery (t, null, HKAnchoredObjectQuery.NoAnchor, 0, delegate (HKAnchoredObjectQuery query, HKSample[] results, nuint newAnchor, NSError error) {
|
using (var aoq = new HKAnchoredObjectQuery (t, null, HKAnchoredObjectQuery.NoAnchor, 0, delegate (HKAnchoredObjectQuery query, HKSample[] results, nuint newAnchor, NSError error) {
|
||||||
|
|
|
@ -31,8 +31,7 @@ namespace MonoTouchFixtures.HealthKit {
|
||||||
[Test]
|
[Test]
|
||||||
public void EnumValues_22351 ()
|
public void EnumValues_22351 ()
|
||||||
{
|
{
|
||||||
if (!TestRuntime.CheckSystemAndSDKVersion (8,0))
|
TestRuntime.AssertXcodeVersion (6, 0);
|
||||||
Assert.Inconclusive ("Requires iOS8+");
|
|
||||||
|
|
||||||
foreach (HKCategoryTypeIdentifier value in Enum.GetValues (typeof (HKCategoryTypeIdentifier))) {
|
foreach (HKCategoryTypeIdentifier value in Enum.GetValues (typeof (HKCategoryTypeIdentifier))) {
|
||||||
|
|
||||||
|
@ -40,7 +39,7 @@ namespace MonoTouchFixtures.HealthKit {
|
||||||
case HKCategoryTypeIdentifier.SleepAnalysis:
|
case HKCategoryTypeIdentifier.SleepAnalysis:
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
if (!TestRuntime.CheckiOSSystemVersion (9, 0))
|
if (!TestRuntime.CheckXcodeVersion (7, 0))
|
||||||
continue;
|
continue;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
|
@ -32,8 +32,7 @@ namespace MonoTouchFixtures.HealthKit {
|
||||||
public void Domain ()
|
public void Domain ()
|
||||||
{
|
{
|
||||||
// the enum exists but we can't load the domain before iOS8
|
// the enum exists but we can't load the domain before iOS8
|
||||||
if (!TestRuntime.CheckSystemAndSDKVersion (8,0))
|
TestRuntime.AssertXcodeVersion (6, 0);
|
||||||
Assert.Inconclusive ("Requires iOS8+");
|
|
||||||
|
|
||||||
Assert.That (HKErrorCode.NoError.GetDomain ().ToString (), Is.EqualTo ("com.apple.healthkit"), "Domain");
|
Assert.That (HKErrorCode.NoError.GetDomain ().ToString (), Is.EqualTo ("com.apple.healthkit"), "Domain");
|
||||||
}
|
}
|
||||||
|
|
|
@ -37,8 +37,7 @@ namespace MonoTouchFixtures.HealthKit {
|
||||||
[Test]
|
[Test]
|
||||||
public void Workout ()
|
public void Workout ()
|
||||||
{
|
{
|
||||||
if (!TestRuntime.CheckSystemAndSDKVersion (8,0))
|
TestRuntime.AssertXcodeVersion (6, 0);
|
||||||
Assert.Inconclusive ("Requires iOS8+");
|
|
||||||
|
|
||||||
using (var t = HKObjectType.GetWorkoutType ()) {
|
using (var t = HKObjectType.GetWorkoutType ()) {
|
||||||
Assert.That (t.Handle, Is.Not.EqualTo (IntPtr.Zero), "Handle");
|
Assert.That (t.Handle, Is.Not.EqualTo (IntPtr.Zero), "Handle");
|
||||||
|
|
|
@ -31,8 +31,7 @@ namespace MonoTouchFixtures.HealthKit {
|
||||||
[Test]
|
[Test]
|
||||||
public void EnumValues_22351 ()
|
public void EnumValues_22351 ()
|
||||||
{
|
{
|
||||||
if (!TestRuntime.CheckSystemAndSDKVersion (8,0))
|
TestRuntime.AssertXcodeVersion (6, 0);
|
||||||
Assert.Inconclusive ("Requires iOS8+");
|
|
||||||
|
|
||||||
foreach (HKQuantityTypeIdentifier value in Enum.GetValues (typeof (HKQuantityTypeIdentifier))) {
|
foreach (HKQuantityTypeIdentifier value in Enum.GetValues (typeof (HKQuantityTypeIdentifier))) {
|
||||||
|
|
||||||
|
@ -41,7 +40,7 @@ namespace MonoTouchFixtures.HealthKit {
|
||||||
case HKQuantityTypeIdentifier.BasalBodyTemperature:
|
case HKQuantityTypeIdentifier.BasalBodyTemperature:
|
||||||
case HKQuantityTypeIdentifier.DietaryWater:
|
case HKQuantityTypeIdentifier.DietaryWater:
|
||||||
case HKQuantityTypeIdentifier.UVExposure:
|
case HKQuantityTypeIdentifier.UVExposure:
|
||||||
if (!TestRuntime.CheckiOSSystemVersion (9, 0))
|
if (!TestRuntime.CheckXcodeVersion (7, 0))
|
||||||
continue;
|
continue;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
|
@ -170,8 +170,7 @@ namespace MonoTouchFixtures.ImageIO {
|
||||||
[Test]
|
[Test]
|
||||||
public void CopyMetadata ()
|
public void CopyMetadata ()
|
||||||
{
|
{
|
||||||
if (!TestRuntime.CheckSystemAndSDKVersion (7, 0))
|
TestRuntime.AssertXcodeVersion (5, 0);
|
||||||
Assert.Ignore ("Only on iOS7+");
|
|
||||||
|
|
||||||
using (var imageSource = CGImageSource.FromUrl (NSUrl.FromFilename (filename))) {
|
using (var imageSource = CGImageSource.FromUrl (NSUrl.FromFilename (filename))) {
|
||||||
CGImageOptions options = new CGImageOptions () { ShouldCacheImmediately = true };
|
CGImageOptions options = new CGImageOptions () { ShouldCacheImmediately = true };
|
||||||
|
@ -184,8 +183,7 @@ namespace MonoTouchFixtures.ImageIO {
|
||||||
[Test]
|
[Test]
|
||||||
public void RemoveCache ()
|
public void RemoveCache ()
|
||||||
{
|
{
|
||||||
if (!TestRuntime.CheckSystemAndSDKVersion (7, 0))
|
TestRuntime.AssertXcodeVersion (5, 0);
|
||||||
Assert.Ignore ("Only on iOS7+");
|
|
||||||
|
|
||||||
using (var imageSource = CGImageSource.FromUrl (NSUrl.FromFilename (filename))) {
|
using (var imageSource = CGImageSource.FromUrl (NSUrl.FromFilename (filename))) {
|
||||||
imageSource.RemoveCache (0);
|
imageSource.RemoveCache (0);
|
||||||
|
|
|
@ -122,8 +122,7 @@ namespace MonoTouchFixtures.ImageIO {
|
||||||
[Test]
|
[Test]
|
||||||
public void AddImageAndMetadata ()
|
public void AddImageAndMetadata ()
|
||||||
{
|
{
|
||||||
if (!TestRuntime.CheckSystemAndSDKVersion (7, 0))
|
TestRuntime.AssertXcodeVersion (5, 0);
|
||||||
Assert.Ignore ("Requires iOS 7+");
|
|
||||||
|
|
||||||
string file = Path.Combine (NSBundle.MainBundle.ResourcePath, "basn3p08.png");
|
string file = Path.Combine (NSBundle.MainBundle.ResourcePath, "basn3p08.png");
|
||||||
using (NSMutableData destData = new NSMutableData ())
|
using (NSMutableData destData = new NSMutableData ())
|
||||||
|
@ -142,8 +141,7 @@ namespace MonoTouchFixtures.ImageIO {
|
||||||
[Test]
|
[Test]
|
||||||
public void CopyImageSource ()
|
public void CopyImageSource ()
|
||||||
{
|
{
|
||||||
if (!TestRuntime.CheckSystemAndSDKVersion (7, 0))
|
TestRuntime.AssertXcodeVersion (5, 0);
|
||||||
Assert.Ignore ("Requires iOS 7+");
|
|
||||||
|
|
||||||
using (NSData data = NSData.FromFile ("xamarin2.png"))
|
using (NSData data = NSData.FromFile ("xamarin2.png"))
|
||||||
using (var source = CGImageSource.FromData (data))
|
using (var source = CGImageSource.FromData (data))
|
||||||
|
|
|
@ -47,8 +47,7 @@ namespace MonoTouchFixtures.ImageIO {
|
||||||
[Test]
|
[Test]
|
||||||
public void Ctor_NSString ()
|
public void Ctor_NSString ()
|
||||||
{
|
{
|
||||||
if (!TestRuntime.CheckSystemAndSDKVersion (7,0))
|
TestRuntime.AssertXcodeVersion (5, 0);
|
||||||
Assert.Ignore ("Requires iOS 7+");
|
|
||||||
|
|
||||||
using (var value = new NSString ("value"))
|
using (var value = new NSString ("value"))
|
||||||
using (var tag = new CGImageMetadataTag (nspace, prefix, name, CGImageMetadataType.Default, value)) {
|
using (var tag = new CGImageMetadataTag (nspace, prefix, name, CGImageMetadataType.Default, value)) {
|
||||||
|
@ -64,8 +63,7 @@ namespace MonoTouchFixtures.ImageIO {
|
||||||
[Test]
|
[Test]
|
||||||
public void Ctor_NSNumber ()
|
public void Ctor_NSNumber ()
|
||||||
{
|
{
|
||||||
if (!TestRuntime.CheckSystemAndSDKVersion (7,0))
|
TestRuntime.AssertXcodeVersion (5, 0);
|
||||||
Assert.Ignore ("Requires iOS 7+");
|
|
||||||
|
|
||||||
using (var value = NSNumber.FromByte (255))
|
using (var value = NSNumber.FromByte (255))
|
||||||
using (var tag = new CGImageMetadataTag (nspace, prefix, name, CGImageMetadataType.Default, value)) {
|
using (var tag = new CGImageMetadataTag (nspace, prefix, name, CGImageMetadataType.Default, value)) {
|
||||||
|
@ -81,8 +79,7 @@ namespace MonoTouchFixtures.ImageIO {
|
||||||
[Test]
|
[Test]
|
||||||
public void Ctor_NSArray ()
|
public void Ctor_NSArray ()
|
||||||
{
|
{
|
||||||
if (!TestRuntime.CheckSystemAndSDKVersion (7,0))
|
TestRuntime.AssertXcodeVersion (5, 0);
|
||||||
Assert.Ignore ("Requires iOS 7+");
|
|
||||||
|
|
||||||
using (var value = NSArray.FromNSObjects (nspace, prefix, name))
|
using (var value = NSArray.FromNSObjects (nspace, prefix, name))
|
||||||
using (var tag = new CGImageMetadataTag (nspace, prefix, name, CGImageMetadataType.Default, value)) {
|
using (var tag = new CGImageMetadataTag (nspace, prefix, name, CGImageMetadataType.Default, value)) {
|
||||||
|
@ -98,8 +95,7 @@ namespace MonoTouchFixtures.ImageIO {
|
||||||
[Test]
|
[Test]
|
||||||
public void Ctor_NSDictionary ()
|
public void Ctor_NSDictionary ()
|
||||||
{
|
{
|
||||||
if (!TestRuntime.CheckSystemAndSDKVersion (7,0))
|
TestRuntime.AssertXcodeVersion (5, 0);
|
||||||
Assert.Ignore ("Requires iOS 7+");
|
|
||||||
|
|
||||||
using (var value = NSDictionary.FromObjectAndKey (name, prefix))
|
using (var value = NSDictionary.FromObjectAndKey (name, prefix))
|
||||||
using (var tag = new CGImageMetadataTag (nspace, prefix, name, CGImageMetadataType.Default, value)) {
|
using (var tag = new CGImageMetadataTag (nspace, prefix, name, CGImageMetadataType.Default, value)) {
|
||||||
|
@ -115,8 +111,7 @@ namespace MonoTouchFixtures.ImageIO {
|
||||||
[Test]
|
[Test]
|
||||||
public void Ctor_Bool_True ()
|
public void Ctor_Bool_True ()
|
||||||
{
|
{
|
||||||
if (!TestRuntime.CheckSystemAndSDKVersion (7,0))
|
TestRuntime.AssertXcodeVersion (5, 0);
|
||||||
Assert.Ignore ("Requires iOS 7+");
|
|
||||||
|
|
||||||
using (var tag = new CGImageMetadataTag (nspace, prefix, name, CGImageMetadataType.Default, true)) {
|
using (var tag = new CGImageMetadataTag (nspace, prefix, name, CGImageMetadataType.Default, true)) {
|
||||||
Assert.That (CFGetRetainCount (tag.Handle), Is.EqualTo (1), "RetainCount");
|
Assert.That (CFGetRetainCount (tag.Handle), Is.EqualTo (1), "RetainCount");
|
||||||
|
@ -133,8 +128,7 @@ namespace MonoTouchFixtures.ImageIO {
|
||||||
[Test]
|
[Test]
|
||||||
public void Ctor_Bool_False ()
|
public void Ctor_Bool_False ()
|
||||||
{
|
{
|
||||||
if (!TestRuntime.CheckSystemAndSDKVersion (7,0))
|
TestRuntime.AssertXcodeVersion (5, 0);
|
||||||
Assert.Ignore ("Requires iOS 7+");
|
|
||||||
|
|
||||||
var rc = name.RetainCount;
|
var rc = name.RetainCount;
|
||||||
using (var tag = new CGImageMetadataTag (nspace, prefix, name, CGImageMetadataType.Default, false)) {
|
using (var tag = new CGImageMetadataTag (nspace, prefix, name, CGImageMetadataType.Default, false)) {
|
||||||
|
|
|
@ -35,8 +35,7 @@ namespace MonoTouchFixtures.ImageIO {
|
||||||
[Test]
|
[Test]
|
||||||
public void Defaults ()
|
public void Defaults ()
|
||||||
{
|
{
|
||||||
if (!TestRuntime.CheckSystemAndSDKVersion (7,0))
|
TestRuntime.AssertXcodeVersion (5, 0);
|
||||||
Assert.Ignore ("Requires iOS 7+");
|
|
||||||
|
|
||||||
Assert.Throws<ArgumentNullException> (delegate { new CGImageMetadata (null); }, "null");
|
Assert.Throws<ArgumentNullException> (delegate { new CGImageMetadata (null); }, "null");
|
||||||
|
|
||||||
|
|
|
@ -36,7 +36,7 @@ namespace MonoTouchFixtures.ImageIO {
|
||||||
Assert.NotNull (CGImageProperties.MakerNikonDictionary, "MakerNikonDictionary");
|
Assert.NotNull (CGImageProperties.MakerNikonDictionary, "MakerNikonDictionary");
|
||||||
|
|
||||||
// iOS 8.3 finally fixed them :)
|
// iOS 8.3 finally fixed them :)
|
||||||
if (TestRuntime.CheckiOSSystemVersion (8,3)) {
|
if (TestRuntime.CheckXcodeVersion (6, 3)) {
|
||||||
Assert.NotNull (CGImageProperties.MakerMinoltaDictionary, "MakerMinoltaDictionary");
|
Assert.NotNull (CGImageProperties.MakerMinoltaDictionary, "MakerMinoltaDictionary");
|
||||||
Assert.NotNull (CGImageProperties.MakerFujiDictionary, "MakerFujiDictionary");
|
Assert.NotNull (CGImageProperties.MakerFujiDictionary, "MakerFujiDictionary");
|
||||||
Assert.NotNull (CGImageProperties.MakerOlympusDictionary, "MakerOlympusDictionary");
|
Assert.NotNull (CGImageProperties.MakerOlympusDictionary, "MakerOlympusDictionary");
|
||||||
|
@ -65,7 +65,7 @@ namespace MonoTouchFixtures.ImageIO {
|
||||||
// documented as new in iOS 4.3 - https://developer.apple.com/library/ios/#documentation/GraphicsImaging/Reference/CGImageProperties_Reference/Reference/reference.html
|
// documented as new in iOS 4.3 - https://developer.apple.com/library/ios/#documentation/GraphicsImaging/Reference/CGImageProperties_Reference/Reference/reference.html
|
||||||
IntPtr lib = Dlfcn.dlopen (Constants.ImageIOLibrary, 0);
|
IntPtr lib = Dlfcn.dlopen (Constants.ImageIOLibrary, 0);
|
||||||
try {
|
try {
|
||||||
if (TestRuntime.CheckSystemAndSDKVersion (6,0)) {
|
if (TestRuntime.CheckXcodeVersion (4, 5)) {
|
||||||
// symbols are available in iOS 6.0 beta 1
|
// symbols are available in iOS 6.0 beta 1
|
||||||
Assert.That (Dlfcn.dlsym (lib, "kCGImagePropertyExifCameraOwnerName"), Is.Not.EqualTo (IntPtr.Zero), "kCGImagePropertyExifCameraOwnerName");
|
Assert.That (Dlfcn.dlsym (lib, "kCGImagePropertyExifCameraOwnerName"), Is.Not.EqualTo (IntPtr.Zero), "kCGImagePropertyExifCameraOwnerName");
|
||||||
Assert.That (Dlfcn.dlsym (lib, "kCGImagePropertyExifBodySerialNumber"), Is.Not.EqualTo (IntPtr.Zero), "kCGImagePropertyExifBodySerialNumber");
|
Assert.That (Dlfcn.dlsym (lib, "kCGImagePropertyExifBodySerialNumber"), Is.Not.EqualTo (IntPtr.Zero), "kCGImagePropertyExifBodySerialNumber");
|
||||||
|
|
|
@ -35,8 +35,7 @@ namespace MonoTouchFixtures.ImageIO {
|
||||||
[Test]
|
[Test]
|
||||||
public void Defaults ()
|
public void Defaults ()
|
||||||
{
|
{
|
||||||
if (!TestRuntime.CheckSystemAndSDKVersion (7,0))
|
TestRuntime.AssertXcodeVersion (5, 0);
|
||||||
Assert.Ignore ("Requires iOS 7+");
|
|
||||||
|
|
||||||
using (var meta = new CGMutableImageMetadata ()) {
|
using (var meta = new CGMutableImageMetadata ()) {
|
||||||
Console.WriteLine (meta);
|
Console.WriteLine (meta);
|
||||||
|
|
|
@ -31,102 +31,19 @@ namespace monotouchtest
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
class TestRuntime
|
partial class TestRuntime
|
||||||
{
|
{
|
||||||
[DllImport ("/usr/lib/system/libdyld.dylib")]
|
|
||||||
static extern int dyld_get_program_sdk_version ();
|
|
||||||
|
|
||||||
public const string BuildVersion_iOS9_GM = "13A340";
|
|
||||||
|
|
||||||
public static string GetiOSBuildVersion ()
|
|
||||||
{
|
|
||||||
#if __WATCHOS__
|
|
||||||
throw new Exception ("Can't get iOS Build version on watchOS.");
|
|
||||||
#else
|
|
||||||
return NSString.FromHandle (Messaging.IntPtr_objc_msgSend (UIDevice.CurrentDevice.Handle, Selector.GetHandle ("buildVersion")));
|
|
||||||
#endif
|
|
||||||
}
|
|
||||||
|
|
||||||
public static Version GetSDKVersion ()
|
|
||||||
{
|
|
||||||
var v = dyld_get_program_sdk_version ();
|
|
||||||
var major = v >> 16;
|
|
||||||
var minor = (v >> 8) & 0xFF;
|
|
||||||
var build = v & 0xFF;
|
|
||||||
return new Version (major, minor, build);
|
|
||||||
}
|
|
||||||
|
|
||||||
// This method returns true if:
|
|
||||||
// system version >= specified version
|
|
||||||
// AND
|
|
||||||
// sdk version >= specified version
|
|
||||||
public static bool CheckiOSSystemVersion (int major, int minor)
|
|
||||||
{
|
|
||||||
#if __WATCHOS__
|
|
||||||
throw new Exception ("Can't get iOS System version on WatchOS.");
|
|
||||||
#else
|
|
||||||
return UIDevice.CurrentDevice.CheckSystemVersion (major, minor);
|
|
||||||
#endif
|
|
||||||
}
|
|
||||||
|
|
||||||
// This method returns true if:
|
|
||||||
// system version >= specified version
|
|
||||||
// AND
|
|
||||||
// sdk version >= specified version
|
|
||||||
public static bool CheckSystemAndSDKVersion (int major, int minor)
|
|
||||||
{
|
|
||||||
#if __WATCHOS__
|
|
||||||
throw new Exception ("Can't get iOS System/SDK version on WatchOS.");
|
|
||||||
#else
|
|
||||||
if (!UIDevice.CurrentDevice.CheckSystemVersion (major, minor))
|
|
||||||
return false;
|
|
||||||
#endif
|
|
||||||
|
|
||||||
// Check if the SDK version we're built includes the version we're checking for
|
|
||||||
// We don't want to execute iOS7 tests on an iOS7 device when built with the iOS6 SDK.
|
|
||||||
return CheckSDKVersion (major, minor);
|
|
||||||
}
|
|
||||||
|
|
||||||
public static bool CheckSDKVersion (int major, int minor)
|
|
||||||
{
|
|
||||||
#if __WATCHOS__
|
|
||||||
throw new Exception ("Can't get iOS SDK version on WatchOS.");
|
|
||||||
#else
|
|
||||||
if (Runtime.Arch == Arch.SIMULATOR || !UIDevice.CurrentDevice.CheckSystemVersion (6, 0)) {
|
|
||||||
// dyld_get_program_sdk_version was introduced with iOS 6.0, so don't do the SDK check on older deviecs.
|
|
||||||
return true; // dyld_get_program_sdk_version doesn't return what we're looking for on the mac.
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
var sdk = GetSDKVersion ();
|
|
||||||
if (sdk.Major > major)
|
|
||||||
return true;
|
|
||||||
if (sdk.Major == major && sdk.Minor >= minor)
|
|
||||||
return true;
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
public static void IgnoreOnTVOS ()
|
|
||||||
{
|
|
||||||
#if __TVOS__
|
|
||||||
NUnit.Framework.Assert.Ignore ("This test is disabled on TVOS.");
|
|
||||||
#endif
|
|
||||||
}
|
|
||||||
|
|
||||||
public static bool IsTVOS {
|
|
||||||
get {
|
|
||||||
#if __TVOS__
|
|
||||||
return true;
|
|
||||||
#else
|
|
||||||
return false;
|
|
||||||
#endif
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public static bool RunAsync (DateTime timeout, Action action, Func<bool> check_completed)
|
public static bool RunAsync (DateTime timeout, Action action, Func<bool> check_completed)
|
||||||
{
|
{
|
||||||
#if __WATCHOS__
|
#if __WATCHOS__
|
||||||
throw new NotImplementedException ("TestRuntime.RunAsync");
|
NSTimer.CreateScheduledTimer (0.01, (v) => action ());
|
||||||
|
do {
|
||||||
|
if (timeout < DateTime.Now)
|
||||||
|
return false;
|
||||||
|
NSRunLoop.Main.RunUntil (NSDate.Now.AddSeconds (0.1));
|
||||||
|
} while (!check_completed ());
|
||||||
|
|
||||||
|
return true;
|
||||||
#else
|
#else
|
||||||
return MonoTouchFixtures.AppDelegate.RunAsync (timeout, action, check_completed);
|
return MonoTouchFixtures.AppDelegate.RunAsync (timeout, action, check_completed);
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -115,7 +115,7 @@ namespace MonoTouchFixtures.MapKit {
|
||||||
Assert.True (remainder.IsNull, "IsNull");
|
Assert.True (remainder.IsNull, "IsNull");
|
||||||
|
|
||||||
rect = new MKMapRect (-90, -90, 90, 90);
|
rect = new MKMapRect (-90, -90, 90, 90);
|
||||||
Assert.That (rect.Spans180thMeridian, Is.EqualTo (!TestRuntime.CheckiOSSystemVersion (7,1)), rect.ToString ());
|
Assert.That (rect.Spans180thMeridian, Is.EqualTo (!TestRuntime.CheckXcodeVersion (5, 1)), rect.ToString ());
|
||||||
remainder = rect.Remainder ();
|
remainder = rect.Remainder ();
|
||||||
Assert.That (remainder.ToString (), Is.EqualTo (@"{{268435366, -90}, {90, 90}}"), "remainder");
|
Assert.That (remainder.ToString (), Is.EqualTo (@"{{268435366, -90}, {90, 90}}"), "remainder");
|
||||||
}
|
}
|
||||||
|
|
|
@ -122,7 +122,7 @@ namespace MonoTouchFixtures.MobileCoreServices {
|
||||||
|
|
||||||
Assert.NotNull (UTType.InkText, "InkText");
|
Assert.NotNull (UTType.InkText, "InkText");
|
||||||
|
|
||||||
if (TestRuntime.CheckiOSSystemVersion (9, 0))
|
if (TestRuntime.CheckXcodeVersion (7, 0))
|
||||||
Assert.NotNull (UTType.SwiftSource, "SwiftSource");
|
Assert.NotNull (UTType.SwiftSource, "SwiftSource");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -31,7 +31,7 @@ namespace MonoTouchFixtures.ObjCRuntime {
|
||||||
IntPtr handle = Dlfcn.dlopen ("/usr/lib/libSystem.dylib", 0);
|
IntPtr handle = Dlfcn.dlopen ("/usr/lib/libSystem.dylib", 0);
|
||||||
Assert.That (handle, Is.Not.EqualTo (IntPtr.Zero), "dlopen");
|
Assert.That (handle, Is.Not.EqualTo (IntPtr.Zero), "dlopen");
|
||||||
var err = Dlfcn.dlclose (handle);
|
var err = Dlfcn.dlclose (handle);
|
||||||
if ((Runtime.Arch == Arch.DEVICE) && TestRuntime.CheckiOSSystemVersion (9,0)) {
|
if ((Runtime.Arch == Arch.DEVICE) && TestRuntime.CheckXcodeVersion (7, 0)) {
|
||||||
// Apple is doing some funky stuff with dlopen... this condition is to track if this change during betas
|
// Apple is doing some funky stuff with dlopen... this condition is to track if this change during betas
|
||||||
Assert.That (err, Is.EqualTo (-1), "dlclose");
|
Assert.That (err, Is.EqualTo (-1), "dlclose");
|
||||||
} else {
|
} else {
|
||||||
|
|
|
@ -1333,7 +1333,7 @@ namespace MonoTouchFixtures.ObjCRuntime {
|
||||||
{
|
{
|
||||||
var cl = new Class (typeof (TestTypeEncodingsClass));
|
var cl = new Class (typeof (TestTypeEncodingsClass));
|
||||||
var sig = Runtime.GetNSObject<NSMethodSignature> (Messaging.IntPtr_objc_msgSend_IntPtr (cl.Handle, Selector.GetHandle ("methodSignatureForSelector:"), Selector.GetHandle ("foo::::::::::::::::")));
|
var sig = Runtime.GetNSObject<NSMethodSignature> (Messaging.IntPtr_objc_msgSend_IntPtr (cl.Handle, Selector.GetHandle ("methodSignatureForSelector:"), Selector.GetHandle ("foo::::::::::::::::")));
|
||||||
var boolEncoding = IntPtr.Size == 8 ? "B" : "c";
|
var boolEncoding = (IntPtr.Size == 8 || TrampolineTest.IsArmv7k) ? "B" : "c";
|
||||||
var exp = new string [] { "@", ":", "^v", "C", "c", "s", "s", "S", "i", "I", "q", "Q", "f", "d", boolEncoding, "@", ":", "#" };
|
var exp = new string [] { "@", ":", "^v", "C", "c", "s", "s", "S", "i", "I", "q", "Q", "f", "d", boolEncoding, "@", ":", "#" };
|
||||||
|
|
||||||
Assert.AreEqual (exp.Length, sig.NumberOfArguments, "NumberOfArguments");
|
Assert.AreEqual (exp.Length, sig.NumberOfArguments, "NumberOfArguments");
|
||||||
|
@ -2238,8 +2238,7 @@ namespace MonoTouchFixtures.ObjCRuntime {
|
||||||
[Test]
|
[Test]
|
||||||
public void GenericAPI ()
|
public void GenericAPI ()
|
||||||
{
|
{
|
||||||
if (!TestRuntime.CheckiOSSystemVersion (9, 0))
|
TestRuntime.AssertXcodeVersion (7, 0);
|
||||||
Assert.Inconclusive ("Contacts is iOS9+");
|
|
||||||
|
|
||||||
using (var contact = new CNMutableContact ()) {
|
using (var contact = new CNMutableContact ()) {
|
||||||
var dt = new NSDateComponents () {
|
var dt = new NSDateComponents () {
|
||||||
|
|
|
@ -117,8 +117,7 @@ namespace MonoTouchFixtures.ObjCRuntime {
|
||||||
[Test]
|
[Test]
|
||||||
public void GetNSObject_Different_Class ()
|
public void GetNSObject_Different_Class ()
|
||||||
{
|
{
|
||||||
if (!TestRuntime.CheckSystemAndSDKVersion (7, 0))
|
TestRuntime.AssertXcodeVersion (5, 0);
|
||||||
Assert.Inconclusive ("Requires iOS7 or later");
|
|
||||||
|
|
||||||
IntPtr class_ptr = Class.GetHandle ("SKPhysicsBody");
|
IntPtr class_ptr = Class.GetHandle ("SKPhysicsBody");
|
||||||
SizeF size = new SizeF (3, 2);
|
SizeF size = new SizeF (3, 2);
|
||||||
|
@ -136,8 +135,7 @@ namespace MonoTouchFixtures.ObjCRuntime {
|
||||||
[Test]
|
[Test]
|
||||||
public void GetNSObject_Posing_Class ()
|
public void GetNSObject_Posing_Class ()
|
||||||
{
|
{
|
||||||
if (!TestRuntime.CheckSystemAndSDKVersion (7,0))
|
TestRuntime.AssertXcodeVersion (5, 0);
|
||||||
Assert.Inconclusive ("NSUrlSession requires iOS7+");
|
|
||||||
|
|
||||||
NSUrlSession session = NSUrlSession.SharedSession;
|
NSUrlSession session = NSUrlSession.SharedSession;
|
||||||
using (var request = new NSUrlRequest (new NSUrl ("http://www.example.com"))) {
|
using (var request = new NSUrlRequest (new NSUrl ("http://www.example.com"))) {
|
||||||
|
@ -290,9 +288,14 @@ namespace MonoTouchFixtures.ObjCRuntime {
|
||||||
[Test]
|
[Test]
|
||||||
public void FinalizationRaceCondition ()
|
public void FinalizationRaceCondition ()
|
||||||
{
|
{
|
||||||
if ((IntPtr.Size == 8) && TestRuntime.CheckiOSSystemVersion (9,0))
|
if ((IntPtr.Size == 8) && TestRuntime.CheckXcodeVersion (7, 0))
|
||||||
Assert.Ignore ("NSString retainCount is nuint.MaxValue, so we won't collect them");
|
Assert.Ignore ("NSString retainCount is nuint.MaxValue, so we won't collect them");
|
||||||
|
|
||||||
|
#if __WATCHOS__
|
||||||
|
if (Runtime.Arch == Arch.DEVICE)
|
||||||
|
Assert.Ignore ("This test uses too much memory for the watch.");
|
||||||
|
#endif
|
||||||
|
|
||||||
NSDictionary dict = null;
|
NSDictionary dict = null;
|
||||||
|
|
||||||
var thread = new Thread (() => {
|
var thread = new Thread (() => {
|
||||||
|
@ -500,6 +503,11 @@ namespace MonoTouchFixtures.ObjCRuntime {
|
||||||
[TestCase (typeof (ResurrectedObjectsDisposedTestClass))]
|
[TestCase (typeof (ResurrectedObjectsDisposedTestClass))]
|
||||||
public void ResurrectedObjectsDisposedTest (Type type)
|
public void ResurrectedObjectsDisposedTest (Type type)
|
||||||
{
|
{
|
||||||
|
#if __WATCHOS__
|
||||||
|
if (Runtime.Arch == Arch.DEVICE)
|
||||||
|
Assert.Ignore ("This test uses too much memory for the watch.");
|
||||||
|
#endif
|
||||||
|
|
||||||
var invokerClassHandle = Class.GetHandle (typeof (ResurrectedObjectsDisposedTestClass));
|
var invokerClassHandle = Class.GetHandle (typeof (ResurrectedObjectsDisposedTestClass));
|
||||||
|
|
||||||
// Create a number of native objects with no managed wrappers.
|
// Create a number of native objects with no managed wrappers.
|
||||||
|
|
|
@ -47,6 +47,15 @@ namespace MonoTouchFixtures.ObjCRuntime {
|
||||||
public bool IsSim32 { get { return IntPtr.Size == 4 && Runtime.Arch == Arch.SIMULATOR; } }
|
public bool IsSim32 { get { return IntPtr.Size == 4 && Runtime.Arch == Arch.SIMULATOR; } }
|
||||||
public bool IsArm64 { get { return IntPtr.Size == 8 && Runtime.Arch == Arch.DEVICE; } }
|
public bool IsArm64 { get { return IntPtr.Size == 8 && Runtime.Arch == Arch.DEVICE; } }
|
||||||
public bool IsArm32 { get { return IntPtr.Size == 4 && Runtime.Arch == Arch.DEVICE; } }
|
public bool IsArm32 { get { return IntPtr.Size == 4 && Runtime.Arch == Arch.DEVICE; } }
|
||||||
|
public static bool IsArmv7k {
|
||||||
|
get {
|
||||||
|
#if __WATCHOS__
|
||||||
|
return Runtime.Arch == Arch.DEVICE;
|
||||||
|
#else
|
||||||
|
return false;
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
#if !__WATCHOS__
|
#if !__WATCHOS__
|
||||||
[Test]
|
[Test]
|
||||||
|
@ -76,25 +85,25 @@ namespace MonoTouchFixtures.ObjCRuntime {
|
||||||
double rvd;
|
double rvd;
|
||||||
float rvf;
|
float rvf;
|
||||||
|
|
||||||
if (IsSim64 || IsArm64) {
|
if (IsSim64 || IsArm64 || IsArmv7k) {
|
||||||
rv = IIIIStruct_objc_msgSend (obj.Handle, new Selector ("Test_IIIIStruct").Handle);
|
rv = IIIIStruct_objc_msgSend (obj.Handle, new Selector ("Test_IIIIStruct").Handle);
|
||||||
} else {
|
} else {
|
||||||
IIIIStruct_objc_msgSend_stret (out rv, obj.Handle, new Selector ("Test_IIIIStruct").Handle);
|
IIIIStruct_objc_msgSend_stret (out rv, obj.Handle, new Selector ("Test_IIIIStruct").Handle);
|
||||||
}
|
}
|
||||||
Assert.That ("[1;2;3;4]" == rv.ToString ());
|
Assert.That ("[1;2;3;4]" == rv.ToString ());
|
||||||
if (IsSim64 || IsArm64) {
|
if (IsSim64 || IsArm64 || IsArmv7k) {
|
||||||
rv = IIIIStruct_objc_msgSend (class_ptr, new Selector ("Test_StaticIIIIStruct").Handle);
|
rv = IIIIStruct_objc_msgSend (class_ptr, new Selector ("Test_StaticIIIIStruct").Handle);
|
||||||
} else {
|
} else {
|
||||||
IIIIStruct_objc_msgSend_stret (out rv, class_ptr, new Selector ("Test_StaticIIIIStruct").Handle);
|
IIIIStruct_objc_msgSend_stret (out rv, class_ptr, new Selector ("Test_StaticIIIIStruct").Handle);
|
||||||
}
|
}
|
||||||
Assert.That ("[10;20;30;40]" == rv.ToString ());
|
Assert.That ("[10;20;30;40]" == rv.ToString ());
|
||||||
if (IsSim64 || IsArm64) {
|
if (IsSim64 || IsArm64 || IsArmv7k) {
|
||||||
rv = IIIIStruct_objc_msgSend (obj.Handle, new Selector ("Test_IIIIStructProperty").Handle);
|
rv = IIIIStruct_objc_msgSend (obj.Handle, new Selector ("Test_IIIIStructProperty").Handle);
|
||||||
} else {
|
} else {
|
||||||
IIIIStruct_objc_msgSend_stret (out rv, obj.Handle, new Selector ("Test_IIIIStructProperty").Handle);
|
IIIIStruct_objc_msgSend_stret (out rv, obj.Handle, new Selector ("Test_IIIIStructProperty").Handle);
|
||||||
}
|
}
|
||||||
Assert.That ("[100;200;300;400]" == rv.ToString ());
|
Assert.That ("[100;200;300;400]" == rv.ToString ());
|
||||||
if (IsSim64 || IsArm64) {
|
if (IsSim64 || IsArm64 || IsArmv7k) {
|
||||||
rv = IIIIStruct_objc_msgSend (class_ptr, new Selector ("Test_StaticIIIIStructProperty").Handle);
|
rv = IIIIStruct_objc_msgSend (class_ptr, new Selector ("Test_StaticIIIIStructProperty").Handle);
|
||||||
} else {
|
} else {
|
||||||
IIIIStruct_objc_msgSend_stret (out rv, class_ptr, new Selector ("Test_StaticIIIIStructProperty").Handle);
|
IIIIStruct_objc_msgSend_stret (out rv, class_ptr, new Selector ("Test_StaticIIIIStructProperty").Handle);
|
||||||
|
@ -102,7 +111,7 @@ namespace MonoTouchFixtures.ObjCRuntime {
|
||||||
Assert.That ("[1000;2000;3000;4000]" == rv.ToString ());
|
Assert.That ("[1000;2000;3000;4000]" == rv.ToString ());
|
||||||
|
|
||||||
rvd = rvf = 0;
|
rvd = rvf = 0;
|
||||||
if (IsSim64 || IsArm64) {
|
if (IsSim64 || IsArm64 || IsArmv7k) {
|
||||||
rv = IIIIStruct_objc_msgSend_out_float (class_ptr, new Selector ("Test_StaticIIIIStruct_out_Float:").Handle, out rvf);
|
rv = IIIIStruct_objc_msgSend_out_float (class_ptr, new Selector ("Test_StaticIIIIStruct_out_Float:").Handle, out rvf);
|
||||||
} else {
|
} else {
|
||||||
IIIIStruct_objc_msgSend_stret_out_float (out rv, class_ptr, new Selector ("Test_StaticIIIIStruct_out_Float:").Handle, out rvf);
|
IIIIStruct_objc_msgSend_stret_out_float (out rv, class_ptr, new Selector ("Test_StaticIIIIStruct_out_Float:").Handle, out rvf);
|
||||||
|
@ -112,7 +121,7 @@ namespace MonoTouchFixtures.ObjCRuntime {
|
||||||
Assert.That (rvf == 3.15f);
|
Assert.That (rvf == 3.15f);
|
||||||
|
|
||||||
rvd = rvf = 0;
|
rvd = rvf = 0;
|
||||||
if (IsSim64 || IsArm64) {
|
if (IsSim64 || IsArm64 || IsArmv7k) {
|
||||||
rv = IIIIStruct_objc_msgSend_out_double (obj.Handle, new Selector ("Test_IIIIStruct_out_Double:").Handle, out rvd);
|
rv = IIIIStruct_objc_msgSend_out_double (obj.Handle, new Selector ("Test_IIIIStruct_out_Double:").Handle, out rvd);
|
||||||
} else {
|
} else {
|
||||||
IIIIStruct_objc_msgSend_stret_out_double (out rv, obj.Handle, new Selector ("Test_IIIIStruct_out_Double:").Handle, out rvd);
|
IIIIStruct_objc_msgSend_stret_out_double (out rv, obj.Handle, new Selector ("Test_IIIIStruct_out_Double:").Handle, out rvd);
|
||||||
|
@ -132,25 +141,25 @@ namespace MonoTouchFixtures.ObjCRuntime {
|
||||||
double rvd;
|
double rvd;
|
||||||
float rvf;
|
float rvf;
|
||||||
|
|
||||||
if (IsSim64 || IsArm64) {
|
if (IsSim64 || IsArm64 || IsArmv7k) {
|
||||||
rv = FFFFStruct_objc_msgSend (obj.Handle, new Selector ("Test_FFFFStruct").Handle);
|
rv = FFFFStruct_objc_msgSend (obj.Handle, new Selector ("Test_FFFFStruct").Handle);
|
||||||
} else {
|
} else {
|
||||||
FFFFStruct_objc_msgSend_stret (out rv, obj.Handle, new Selector ("Test_FFFFStruct").Handle);
|
FFFFStruct_objc_msgSend_stret (out rv, obj.Handle, new Selector ("Test_FFFFStruct").Handle);
|
||||||
}
|
}
|
||||||
Assert.That ("[1;2;3;4]" == rv.ToString ());
|
Assert.That ("[1;2;3;4]" == rv.ToString ());
|
||||||
if (IsSim64 || IsArm64) {
|
if (IsSim64 || IsArm64 || IsArmv7k) {
|
||||||
rv = FFFFStruct_objc_msgSend (class_ptr, new Selector ("Test_StaticFFFFStruct").Handle);
|
rv = FFFFStruct_objc_msgSend (class_ptr, new Selector ("Test_StaticFFFFStruct").Handle);
|
||||||
} else {
|
} else {
|
||||||
FFFFStruct_objc_msgSend_stret (out rv, class_ptr, new Selector ("Test_StaticFFFFStruct").Handle);
|
FFFFStruct_objc_msgSend_stret (out rv, class_ptr, new Selector ("Test_StaticFFFFStruct").Handle);
|
||||||
}
|
}
|
||||||
Assert.That ("[10;20;30;40]" == rv.ToString ());
|
Assert.That ("[10;20;30;40]" == rv.ToString ());
|
||||||
if (IsSim64 || IsArm64) {
|
if (IsSim64 || IsArm64 || IsArmv7k) {
|
||||||
rv = FFFFStruct_objc_msgSend (obj.Handle, new Selector ("Test_FFFFStructProperty").Handle);
|
rv = FFFFStruct_objc_msgSend (obj.Handle, new Selector ("Test_FFFFStructProperty").Handle);
|
||||||
} else {
|
} else {
|
||||||
FFFFStruct_objc_msgSend_stret (out rv, obj.Handle, new Selector ("Test_FFFFStructProperty").Handle);
|
FFFFStruct_objc_msgSend_stret (out rv, obj.Handle, new Selector ("Test_FFFFStructProperty").Handle);
|
||||||
}
|
}
|
||||||
Assert.That ("[100;200;300;400]" == rv.ToString ());
|
Assert.That ("[100;200;300;400]" == rv.ToString ());
|
||||||
if (IsSim64 || IsArm64) {
|
if (IsSim64 || IsArm64 || IsArmv7k) {
|
||||||
rv = FFFFStruct_objc_msgSend (class_ptr, new Selector ("Test_StaticFFFFStructProperty").Handle);
|
rv = FFFFStruct_objc_msgSend (class_ptr, new Selector ("Test_StaticFFFFStructProperty").Handle);
|
||||||
} else {
|
} else {
|
||||||
FFFFStruct_objc_msgSend_stret (out rv, class_ptr, new Selector ("Test_StaticFFFFStructProperty").Handle);
|
FFFFStruct_objc_msgSend_stret (out rv, class_ptr, new Selector ("Test_StaticFFFFStructProperty").Handle);
|
||||||
|
@ -158,7 +167,7 @@ namespace MonoTouchFixtures.ObjCRuntime {
|
||||||
Assert.That ("[1000;2000;3000;4000]" == rv.ToString ());
|
Assert.That ("[1000;2000;3000;4000]" == rv.ToString ());
|
||||||
|
|
||||||
rvd = rvf = 0;
|
rvd = rvf = 0;
|
||||||
if (IsSim64 || IsArm64) {
|
if (IsSim64 || IsArm64 || IsArmv7k) {
|
||||||
rv = FFFFStruct_objc_msgSend_out_float (class_ptr, new Selector ("Test_StaticFFFFStruct_out_Float:").Handle, out rvf);
|
rv = FFFFStruct_objc_msgSend_out_float (class_ptr, new Selector ("Test_StaticFFFFStruct_out_Float:").Handle, out rvf);
|
||||||
} else {
|
} else {
|
||||||
FFFFStruct_objc_msgSend_stret_out_float (out rv, class_ptr, new Selector ("Test_StaticFFFFStruct_out_Float:").Handle, out rvf);
|
FFFFStruct_objc_msgSend_stret_out_float (out rv, class_ptr, new Selector ("Test_StaticFFFFStruct_out_Float:").Handle, out rvf);
|
||||||
|
@ -168,7 +177,7 @@ namespace MonoTouchFixtures.ObjCRuntime {
|
||||||
Assert.That (rvf == 3.15f);
|
Assert.That (rvf == 3.15f);
|
||||||
|
|
||||||
rvd = rvf = 0;
|
rvd = rvf = 0;
|
||||||
if (IsSim64 || IsArm64) {
|
if (IsSim64 || IsArm64 || IsArmv7k) {
|
||||||
rv = FFFFStruct_objc_msgSend_out_double (obj.Handle, new Selector ("Test_FFFFStruct_out_Double:").Handle, out rvd);
|
rv = FFFFStruct_objc_msgSend_out_double (obj.Handle, new Selector ("Test_FFFFStruct_out_Double:").Handle, out rvd);
|
||||||
} else {
|
} else {
|
||||||
FFFFStruct_objc_msgSend_stret_out_double (out rv, obj.Handle, new Selector ("Test_FFFFStruct_out_Double:").Handle, out rvd);
|
FFFFStruct_objc_msgSend_stret_out_double (out rv, obj.Handle, new Selector ("Test_FFFFStruct_out_Double:").Handle, out rvd);
|
||||||
|
@ -187,25 +196,25 @@ namespace MonoTouchFixtures.ObjCRuntime {
|
||||||
double rvd;
|
double rvd;
|
||||||
float rvf;
|
float rvf;
|
||||||
|
|
||||||
if (IsSim64 || IsArm64) {
|
if (IsSim64 || IsArm64 || IsArmv7k) {
|
||||||
rv = FIFIStruct_objc_msgSend (obj.Handle, new Selector ("Test_FIFIStruct").Handle);
|
rv = FIFIStruct_objc_msgSend (obj.Handle, new Selector ("Test_FIFIStruct").Handle);
|
||||||
} else {
|
} else {
|
||||||
FIFIStruct_objc_msgSend_stret (out rv, obj.Handle, new Selector ("Test_FIFIStruct").Handle);
|
FIFIStruct_objc_msgSend_stret (out rv, obj.Handle, new Selector ("Test_FIFIStruct").Handle);
|
||||||
}
|
}
|
||||||
Assert.That ("[1;2;3;4]" == rv.ToString ());
|
Assert.That ("[1;2;3;4]" == rv.ToString ());
|
||||||
if (IsSim64 || IsArm64) {
|
if (IsSim64 || IsArm64 || IsArmv7k) {
|
||||||
rv = FIFIStruct_objc_msgSend (class_ptr, new Selector ("Test_StaticFIFIStruct").Handle);
|
rv = FIFIStruct_objc_msgSend (class_ptr, new Selector ("Test_StaticFIFIStruct").Handle);
|
||||||
} else {
|
} else {
|
||||||
FIFIStruct_objc_msgSend_stret (out rv, class_ptr, new Selector ("Test_StaticFIFIStruct").Handle);
|
FIFIStruct_objc_msgSend_stret (out rv, class_ptr, new Selector ("Test_StaticFIFIStruct").Handle);
|
||||||
}
|
}
|
||||||
Assert.That ("[10;20;30;40]" == rv.ToString ());
|
Assert.That ("[10;20;30;40]" == rv.ToString ());
|
||||||
if (IsSim64 || IsArm64) {
|
if (IsSim64 || IsArm64 || IsArmv7k) {
|
||||||
rv = FIFIStruct_objc_msgSend (obj.Handle, new Selector ("Test_FIFIStructProperty").Handle);
|
rv = FIFIStruct_objc_msgSend (obj.Handle, new Selector ("Test_FIFIStructProperty").Handle);
|
||||||
} else {
|
} else {
|
||||||
FIFIStruct_objc_msgSend_stret (out rv, obj.Handle, new Selector ("Test_FIFIStructProperty").Handle);
|
FIFIStruct_objc_msgSend_stret (out rv, obj.Handle, new Selector ("Test_FIFIStructProperty").Handle);
|
||||||
}
|
}
|
||||||
Assert.That ("[100;200;300;400]" == rv.ToString ());
|
Assert.That ("[100;200;300;400]" == rv.ToString ());
|
||||||
if (IsSim64 || IsArm64) {
|
if (IsSim64 || IsArm64 || IsArmv7k) {
|
||||||
rv = FIFIStruct_objc_msgSend (class_ptr, new Selector ("Test_StaticFIFIStructProperty").Handle);
|
rv = FIFIStruct_objc_msgSend (class_ptr, new Selector ("Test_StaticFIFIStructProperty").Handle);
|
||||||
} else {
|
} else {
|
||||||
FIFIStruct_objc_msgSend_stret (out rv, class_ptr, new Selector ("Test_StaticFIFIStructProperty").Handle);
|
FIFIStruct_objc_msgSend_stret (out rv, class_ptr, new Selector ("Test_StaticFIFIStructProperty").Handle);
|
||||||
|
@ -213,7 +222,7 @@ namespace MonoTouchFixtures.ObjCRuntime {
|
||||||
Assert.That ("[1000;2000;3000;4000]" == rv.ToString ());
|
Assert.That ("[1000;2000;3000;4000]" == rv.ToString ());
|
||||||
|
|
||||||
rvd = rvf = 0;
|
rvd = rvf = 0;
|
||||||
if (IsSim64 || IsArm64) {
|
if (IsSim64 || IsArm64 || IsArmv7k) {
|
||||||
rv = FIFIStruct_objc_msgSend_out_float (class_ptr, new Selector ("Test_StaticFIFIStruct_out_Float:").Handle, out rvf);
|
rv = FIFIStruct_objc_msgSend_out_float (class_ptr, new Selector ("Test_StaticFIFIStruct_out_Float:").Handle, out rvf);
|
||||||
} else {
|
} else {
|
||||||
FIFIStruct_objc_msgSend_stret_out_float (out rv, class_ptr, new Selector ("Test_StaticFIFIStruct_out_Float:").Handle, out rvf);
|
FIFIStruct_objc_msgSend_stret_out_float (out rv, class_ptr, new Selector ("Test_StaticFIFIStruct_out_Float:").Handle, out rvf);
|
||||||
|
@ -223,7 +232,7 @@ namespace MonoTouchFixtures.ObjCRuntime {
|
||||||
Assert.That (rvf == 3.15f);
|
Assert.That (rvf == 3.15f);
|
||||||
|
|
||||||
rvd = rvf = 0;
|
rvd = rvf = 0;
|
||||||
if (IsSim64 || IsArm64) {
|
if (IsSim64 || IsArm64 || IsArmv7k) {
|
||||||
rv = FIFIStruct_objc_msgSend_out_double (obj.Handle, new Selector ("Test_FIFIStruct_out_Double:").Handle, out rvd);
|
rv = FIFIStruct_objc_msgSend_out_double (obj.Handle, new Selector ("Test_FIFIStruct_out_Double:").Handle, out rvd);
|
||||||
} else {
|
} else {
|
||||||
FIFIStruct_objc_msgSend_stret_out_double (out rv, obj.Handle, new Selector ("Test_FIFIStruct_out_Double:").Handle, out rvd);
|
FIFIStruct_objc_msgSend_stret_out_double (out rv, obj.Handle, new Selector ("Test_FIFIStruct_out_Double:").Handle, out rvd);
|
||||||
|
@ -242,25 +251,25 @@ namespace MonoTouchFixtures.ObjCRuntime {
|
||||||
double rvd;
|
double rvd;
|
||||||
float rvf;
|
float rvf;
|
||||||
|
|
||||||
if (IsSim64 || IsArm64) {
|
if (IsSim64 || IsArm64 || IsArmv7k) {
|
||||||
rv = IFIFStruct_objc_msgSend (obj.Handle, new Selector ("Test_IFIFStruct").Handle);
|
rv = IFIFStruct_objc_msgSend (obj.Handle, new Selector ("Test_IFIFStruct").Handle);
|
||||||
} else {
|
} else {
|
||||||
IFIFStruct_objc_msgSend_stret (out rv, obj.Handle, new Selector ("Test_IFIFStruct").Handle);
|
IFIFStruct_objc_msgSend_stret (out rv, obj.Handle, new Selector ("Test_IFIFStruct").Handle);
|
||||||
}
|
}
|
||||||
Assert.That ("[1;2;3;4]" == rv.ToString ());
|
Assert.That ("[1;2;3;4]" == rv.ToString ());
|
||||||
if (IsSim64 || IsArm64) {
|
if (IsSim64 || IsArm64 || IsArmv7k) {
|
||||||
rv = IFIFStruct_objc_msgSend (class_ptr, new Selector ("Test_StaticIFIFStruct").Handle);
|
rv = IFIFStruct_objc_msgSend (class_ptr, new Selector ("Test_StaticIFIFStruct").Handle);
|
||||||
} else {
|
} else {
|
||||||
IFIFStruct_objc_msgSend_stret (out rv, class_ptr, new Selector ("Test_StaticIFIFStruct").Handle);
|
IFIFStruct_objc_msgSend_stret (out rv, class_ptr, new Selector ("Test_StaticIFIFStruct").Handle);
|
||||||
}
|
}
|
||||||
Assert.That ("[10;20;30;40]" == rv.ToString ());
|
Assert.That ("[10;20;30;40]" == rv.ToString ());
|
||||||
if (IsSim64 || IsArm64) {
|
if (IsSim64 || IsArm64 || IsArmv7k) {
|
||||||
rv = IFIFStruct_objc_msgSend (obj.Handle, new Selector ("Test_IFIFStructProperty").Handle);
|
rv = IFIFStruct_objc_msgSend (obj.Handle, new Selector ("Test_IFIFStructProperty").Handle);
|
||||||
} else {
|
} else {
|
||||||
IFIFStruct_objc_msgSend_stret (out rv, obj.Handle, new Selector ("Test_IFIFStructProperty").Handle);
|
IFIFStruct_objc_msgSend_stret (out rv, obj.Handle, new Selector ("Test_IFIFStructProperty").Handle);
|
||||||
}
|
}
|
||||||
Assert.That ("[100;200;300;400]" == rv.ToString ());
|
Assert.That ("[100;200;300;400]" == rv.ToString ());
|
||||||
if (IsSim64 || IsArm64) {
|
if (IsSim64 || IsArm64 || IsArmv7k) {
|
||||||
rv = IFIFStruct_objc_msgSend (class_ptr, new Selector ("Test_StaticIFIFStructProperty").Handle);
|
rv = IFIFStruct_objc_msgSend (class_ptr, new Selector ("Test_StaticIFIFStructProperty").Handle);
|
||||||
} else {
|
} else {
|
||||||
IFIFStruct_objc_msgSend_stret (out rv, class_ptr, new Selector ("Test_StaticIFIFStructProperty").Handle);
|
IFIFStruct_objc_msgSend_stret (out rv, class_ptr, new Selector ("Test_StaticIFIFStructProperty").Handle);
|
||||||
|
@ -268,7 +277,7 @@ namespace MonoTouchFixtures.ObjCRuntime {
|
||||||
Assert.That ("[1000;2000;3000;4000]" == rv.ToString ());
|
Assert.That ("[1000;2000;3000;4000]" == rv.ToString ());
|
||||||
|
|
||||||
rvd = rvf = 0;
|
rvd = rvf = 0;
|
||||||
if (IsSim64 || IsArm64) {
|
if (IsSim64 || IsArm64 || IsArmv7k) {
|
||||||
rv = IFIFStruct_objc_msgSend_out_float (class_ptr, new Selector ("Test_StaticIFIFStruct_out_Float:").Handle, out rvf);
|
rv = IFIFStruct_objc_msgSend_out_float (class_ptr, new Selector ("Test_StaticIFIFStruct_out_Float:").Handle, out rvf);
|
||||||
} else {
|
} else {
|
||||||
IFIFStruct_objc_msgSend_stret_out_float (out rv, class_ptr, new Selector ("Test_StaticIFIFStruct_out_Float:").Handle, out rvf);
|
IFIFStruct_objc_msgSend_stret_out_float (out rv, class_ptr, new Selector ("Test_StaticIFIFStruct_out_Float:").Handle, out rvf);
|
||||||
|
@ -278,7 +287,7 @@ namespace MonoTouchFixtures.ObjCRuntime {
|
||||||
Assert.That (rvf == 3.15f);
|
Assert.That (rvf == 3.15f);
|
||||||
|
|
||||||
rvd = rvf = 0;
|
rvd = rvf = 0;
|
||||||
if (IsSim64 || IsArm64) {
|
if (IsSim64 || IsArm64 || IsArmv7k) {
|
||||||
rv = IFIFStruct_objc_msgSend_out_double (obj.Handle, new Selector ("Test_IFIFStruct_out_Double:").Handle, out rvd);
|
rv = IFIFStruct_objc_msgSend_out_double (obj.Handle, new Selector ("Test_IFIFStruct_out_Double:").Handle, out rvd);
|
||||||
} else {
|
} else {
|
||||||
IFIFStruct_objc_msgSend_stret_out_double (out rv, obj.Handle, new Selector ("Test_IFIFStruct_out_Double:").Handle, out rvd);
|
IFIFStruct_objc_msgSend_stret_out_double (out rv, obj.Handle, new Selector ("Test_IFIFStruct_out_Double:").Handle, out rvd);
|
||||||
|
@ -496,21 +505,21 @@ namespace MonoTouchFixtures.ObjCRuntime {
|
||||||
int i;
|
int i;
|
||||||
|
|
||||||
rect2 = new RectangleF (1.2f, 2.3f, 3.4f, 4.5f);
|
rect2 = new RectangleF (1.2f, 2.3f, 3.4f, 4.5f);
|
||||||
if (IsArm64) {
|
if (IsArm64 || IsArmv7k) {
|
||||||
rect = RectangleF_objc_msgSend_IntPtr_IntPtr_RectangleF (obj.Handle, new Selector ("testRectangleF_string_string_RectangleF:b:c:").Handle, new NSString ("a").Handle, new NSString ("b").Handle, rect2);
|
rect = RectangleF_objc_msgSend_IntPtr_IntPtr_RectangleF (obj.Handle, new Selector ("testRectangleF_string_string_RectangleF:b:c:").Handle, new NSString ("a").Handle, new NSString ("b").Handle, rect2);
|
||||||
} else {
|
} else {
|
||||||
RectangleF_objc_msgSend_stret_IntPtr_IntPtr_RectangleF (out rect, obj.Handle, new Selector ("testRectangleF_string_string_RectangleF:b:c:").Handle, new NSString ("a").Handle, new NSString ("b").Handle, rect2);
|
RectangleF_objc_msgSend_stret_IntPtr_IntPtr_RectangleF (out rect, obj.Handle, new Selector ("testRectangleF_string_string_RectangleF:b:c:").Handle, new NSString ("a").Handle, new NSString ("b").Handle, rect2);
|
||||||
}
|
}
|
||||||
Assert.That (rect == new RectangleF (rect2.X * pi, rect2.Y * pi, rect2.Width * pi, rect2.Height * pi), "#testRectangleF_string_string_RectangleF:b:c:");
|
Assert.That (rect == new RectangleF (rect2.X * pi, rect2.Y * pi, rect2.Width * pi, rect2.Height * pi), "#testRectangleF_string_string_RectangleF:b:c:");
|
||||||
|
|
||||||
if (IsArm64) {
|
if (IsArm64 || IsArmv7k) {
|
||||||
rect = Messaging.RectangleF_objc_msgSend (obj.Handle, new Selector ("testRectangleF").Handle);
|
rect = Messaging.RectangleF_objc_msgSend (obj.Handle, new Selector ("testRectangleF").Handle);
|
||||||
} else {
|
} else {
|
||||||
Messaging.RectangleF_objc_msgSend_stret (out rect, obj.Handle, new Selector ("testRectangleF").Handle);
|
Messaging.RectangleF_objc_msgSend_stret (out rect, obj.Handle, new Selector ("testRectangleF").Handle);
|
||||||
}
|
}
|
||||||
Assert.That (rect == new RectangleF (1.2f, 2.3f, 3.4f, 4.5f), "#testRectangleF");
|
Assert.That (rect == new RectangleF (1.2f, 2.3f, 3.4f, 4.5f), "#testRectangleF");
|
||||||
|
|
||||||
if (IsArm64) {
|
if (IsArm64 || IsArmv7k) {
|
||||||
rect = Messaging.RectangleF_objc_msgSend (class_ptr, new Selector ("staticTestRectangleF").Handle);
|
rect = Messaging.RectangleF_objc_msgSend (class_ptr, new Selector ("staticTestRectangleF").Handle);
|
||||||
} else {
|
} else {
|
||||||
Messaging.RectangleF_objc_msgSend_stret (out rect, class_ptr, new Selector ("staticTestRectangleF").Handle);
|
Messaging.RectangleF_objc_msgSend_stret (out rect, class_ptr, new Selector ("staticTestRectangleF").Handle);
|
||||||
|
@ -518,14 +527,14 @@ namespace MonoTouchFixtures.ObjCRuntime {
|
||||||
Assert.That (rect == new RectangleF (1.2f, 2.3f, 3.4f, 4.5f), "#static testRectangleF");
|
Assert.That (rect == new RectangleF (1.2f, 2.3f, 3.4f, 4.5f), "#static testRectangleF");
|
||||||
|
|
||||||
i = 152;
|
i = 152;
|
||||||
if (IsArm64) {
|
if (IsArm64 || IsArmv7k) {
|
||||||
rect = Messaging.RectangleF_objc_msgSend_int (obj.Handle, new Selector ("testRectangleF_int:").Handle, 152);
|
rect = Messaging.RectangleF_objc_msgSend_int (obj.Handle, new Selector ("testRectangleF_int:").Handle, 152);
|
||||||
} else {
|
} else {
|
||||||
Messaging.RectangleF_objc_msgSend_stret_int (out rect, obj.Handle, new Selector ("testRectangleF_int:").Handle, 152);
|
Messaging.RectangleF_objc_msgSend_stret_int (out rect, obj.Handle, new Selector ("testRectangleF_int:").Handle, 152);
|
||||||
}
|
}
|
||||||
Assert.That (rect == new RectangleF (i + .1f, i + .2f, i + .3f, i + .4f), "#ret RectF-int", "#testRectangleF_int:");
|
Assert.That (rect == new RectangleF (i + .1f, i + .2f, i + .3f, i + .4f), "#ret RectF-int", "#testRectangleF_int:");
|
||||||
|
|
||||||
if (IsArm64) {
|
if (IsArm64 || IsArmv7k) {
|
||||||
rect = Messaging.RectangleF_objc_msgSend_IntPtr (obj.Handle, new Selector ("testRectangleF_IntPtr:").Handle, tmp_obj.Handle);
|
rect = Messaging.RectangleF_objc_msgSend_IntPtr (obj.Handle, new Selector ("testRectangleF_IntPtr:").Handle, tmp_obj.Handle);
|
||||||
} else {
|
} else {
|
||||||
Messaging.RectangleF_objc_msgSend_stret_IntPtr (out rect, obj.Handle, new Selector ("testRectangleF_IntPtr:").Handle, tmp_obj.Handle);
|
Messaging.RectangleF_objc_msgSend_stret_IntPtr (out rect, obj.Handle, new Selector ("testRectangleF_IntPtr:").Handle, tmp_obj.Handle);
|
||||||
|
@ -534,7 +543,7 @@ namespace MonoTouchFixtures.ObjCRuntime {
|
||||||
|
|
||||||
#if !__TVOS__
|
#if !__TVOS__
|
||||||
mkregion = new MKCoordinateRegion (new CLLocationCoordinate2D (123.456, 345.678), new MKCoordinateSpan (987.654, 654.321));
|
mkregion = new MKCoordinateRegion (new CLLocationCoordinate2D (123.456, 345.678), new MKCoordinateSpan (987.654, 654.321));
|
||||||
if (IsArm64) {
|
if (IsArm64 || IsArmv7k) {
|
||||||
rect = Messaging.RectangleF_objc_msgSend_MKCoordinateRegion_IntPtr (obj.Handle, new Selector ("testRectangleF_MCCoordinateRegion_IntPtr:str:").Handle, mkregion, tmp_obj.Handle);
|
rect = Messaging.RectangleF_objc_msgSend_MKCoordinateRegion_IntPtr (obj.Handle, new Selector ("testRectangleF_MCCoordinateRegion_IntPtr:str:").Handle, mkregion, tmp_obj.Handle);
|
||||||
} else {
|
} else {
|
||||||
Messaging.RectangleF_objc_msgSend_stret_MKCoordinateRegion_IntPtr (out rect, obj.Handle, new Selector ("testRectangleF_MCCoordinateRegion_IntPtr:str:").Handle, mkregion, tmp_obj.Handle);
|
Messaging.RectangleF_objc_msgSend_stret_MKCoordinateRegion_IntPtr (out rect, obj.Handle, new Selector ("testRectangleF_MCCoordinateRegion_IntPtr:str:").Handle, mkregion, tmp_obj.Handle);
|
||||||
|
@ -542,7 +551,7 @@ namespace MonoTouchFixtures.ObjCRuntime {
|
||||||
Assert.That (rect == new RectangleF (123.456f+pi, 345.678f-pi, 987.654f*pi, 654.321f/pi), "#testRectangleF_MCCoordinateRegion_IntPtr:str:");
|
Assert.That (rect == new RectangleF (123.456f+pi, 345.678f-pi, 987.654f*pi, 654.321f/pi), "#testRectangleF_MCCoordinateRegion_IntPtr:str:");
|
||||||
|
|
||||||
mkmaprect = new MKMapRect (111.1, 222.2, 333.3, 444.4);
|
mkmaprect = new MKMapRect (111.1, 222.2, 333.3, 444.4);
|
||||||
if (IsArm64) {
|
if (IsArm64 || IsArmv7k) {
|
||||||
rect = Messaging.RectangleF_objc_msgSend_MKMapRect (obj.Handle, new Selector ("testRectangleF_MKMapRect:").Handle, mkmaprect);
|
rect = Messaging.RectangleF_objc_msgSend_MKMapRect (obj.Handle, new Selector ("testRectangleF_MKMapRect:").Handle, mkmaprect);
|
||||||
} else {
|
} else {
|
||||||
Messaging.RectangleF_objc_msgSend_stret_MKMapRect (out rect, obj.Handle, new Selector ("testRectangleF_MKMapRect:").Handle, mkmaprect);
|
Messaging.RectangleF_objc_msgSend_stret_MKMapRect (out rect, obj.Handle, new Selector ("testRectangleF_MKMapRect:").Handle, mkmaprect);
|
||||||
|
@ -551,7 +560,7 @@ namespace MonoTouchFixtures.ObjCRuntime {
|
||||||
#endif // !__TVOS__
|
#endif // !__TVOS__
|
||||||
|
|
||||||
rect2 = new RectangleF (9.9f, 8.8f, 7.7f, 6.6f);
|
rect2 = new RectangleF (9.9f, 8.8f, 7.7f, 6.6f);
|
||||||
if (IsArm64) {
|
if (IsArm64 || IsArmv7k) {
|
||||||
rect = Messaging.RectangleF_objc_msgSend_RectangleF (obj.Handle, new Selector ("testRectangleF_RectangleF:").Handle, rect2);
|
rect = Messaging.RectangleF_objc_msgSend_RectangleF (obj.Handle, new Selector ("testRectangleF_RectangleF:").Handle, rect2);
|
||||||
} else {
|
} else {
|
||||||
Messaging.RectangleF_objc_msgSend_stret_RectangleF (out rect, obj.Handle, new Selector ("testRectangleF_RectangleF:").Handle, rect2);
|
Messaging.RectangleF_objc_msgSend_stret_RectangleF (out rect, obj.Handle, new Selector ("testRectangleF_RectangleF:").Handle, rect2);
|
||||||
|
@ -560,7 +569,7 @@ namespace MonoTouchFixtures.ObjCRuntime {
|
||||||
|
|
||||||
rect2 = new RectangleF (5.44f, 4.33f, 3.22f, 2.11f);
|
rect2 = new RectangleF (5.44f, 4.33f, 3.22f, 2.11f);
|
||||||
i = 8;
|
i = 8;
|
||||||
if (IsArm64) {
|
if (IsArm64 || IsArmv7k) {
|
||||||
rect = Messaging.RectangleF_objc_msgSend_RectangleF_int (obj.Handle, new Selector ("testRectangleF_RectangleF_int:i:").Handle, rect2, 8);
|
rect = Messaging.RectangleF_objc_msgSend_RectangleF_int (obj.Handle, new Selector ("testRectangleF_RectangleF_int:i:").Handle, rect2, 8);
|
||||||
} else {
|
} else {
|
||||||
Messaging.RectangleF_objc_msgSend_stret_RectangleF_int (out rect, obj.Handle, new Selector ("testRectangleF_RectangleF_int:i:").Handle, rect2, 8);
|
Messaging.RectangleF_objc_msgSend_stret_RectangleF_int (out rect, obj.Handle, new Selector ("testRectangleF_RectangleF_int:i:").Handle, rect2, 8);
|
||||||
|
@ -568,7 +577,7 @@ namespace MonoTouchFixtures.ObjCRuntime {
|
||||||
AreAlmostEqual (rect, new RectangleF (5.44f*i, 4.33f+i, 3.22f-i, 2.11f/i), "testRectangleF_RectangleF_int:i:");
|
AreAlmostEqual (rect, new RectangleF (5.44f*i, 4.33f+i, 3.22f-i, 2.11f/i), "testRectangleF_RectangleF_int:i:");
|
||||||
|
|
||||||
rect2 = new RectangleF (5.4f, 4.3f, 3.2f, 2.1f);
|
rect2 = new RectangleF (5.4f, 4.3f, 3.2f, 2.1f);
|
||||||
if (IsArm64) {
|
if (IsArm64 || IsArmv7k) {
|
||||||
rect = Messaging.RectangleF_objc_msgSend_RectangleF_IntPtr (obj.Handle, new Selector ("testRectangleF_RectangleF_IntPtr:str:").Handle, rect2, tmp_obj.Handle);
|
rect = Messaging.RectangleF_objc_msgSend_RectangleF_IntPtr (obj.Handle, new Selector ("testRectangleF_RectangleF_IntPtr:str:").Handle, rect2, tmp_obj.Handle);
|
||||||
} else {
|
} else {
|
||||||
Messaging.RectangleF_objc_msgSend_stret_RectangleF_IntPtr (out rect, obj.Handle, new Selector ("testRectangleF_RectangleF_IntPtr:str:").Handle, rect2, tmp_obj.Handle);
|
Messaging.RectangleF_objc_msgSend_stret_RectangleF_IntPtr (out rect, obj.Handle, new Selector ("testRectangleF_RectangleF_IntPtr:str:").Handle, rect2, tmp_obj.Handle);
|
||||||
|
@ -577,7 +586,7 @@ namespace MonoTouchFixtures.ObjCRuntime {
|
||||||
|
|
||||||
rect2 = new RectangleF (1, 2, 3, 4);
|
rect2 = new RectangleF (1, 2, 3, 4);
|
||||||
rect3 = new RectangleF (9, 8, 7, 6);
|
rect3 = new RectangleF (9, 8, 7, 6);
|
||||||
if (IsArm64) {
|
if (IsArm64 || IsArmv7k) {
|
||||||
rect = Messaging.RectangleF_objc_msgSend_RectangleF_RectangleF_float ( obj.Handle, new Selector ("testRectangleF_RectangleF_RectangleF_float:b:c:").Handle, rect2, rect3, (float) pi);
|
rect = Messaging.RectangleF_objc_msgSend_RectangleF_RectangleF_float ( obj.Handle, new Selector ("testRectangleF_RectangleF_RectangleF_float:b:c:").Handle, rect2, rect3, (float) pi);
|
||||||
} else {
|
} else {
|
||||||
Messaging.RectangleF_objc_msgSend_stret_RectangleF_RectangleF_float (out rect, obj.Handle, new Selector ("testRectangleF_RectangleF_RectangleF_float:b:c:").Handle, rect2, rect3, (float) pi);
|
Messaging.RectangleF_objc_msgSend_stret_RectangleF_RectangleF_float (out rect, obj.Handle, new Selector ("testRectangleF_RectangleF_RectangleF_float:b:c:").Handle, rect2, rect3, (float) pi);
|
||||||
|
@ -587,7 +596,7 @@ namespace MonoTouchFixtures.ObjCRuntime {
|
||||||
rect2 = new RectangleF (1, 2, 3, 4);
|
rect2 = new RectangleF (1, 2, 3, 4);
|
||||||
rect3 = new RectangleF (9, 8, 7, 6);
|
rect3 = new RectangleF (9, 8, 7, 6);
|
||||||
rect4 = new RectangleF (10, 20, 30, 40);
|
rect4 = new RectangleF (10, 20, 30, 40);
|
||||||
if (IsArm64) {
|
if (IsArm64 || IsArmv7k) {
|
||||||
rect = Messaging.RectangleF_objc_msgSend_RectangleF_RectangleF_RectangleF (obj.Handle, new Selector ("testRectangleF_RectangleF_RectangleF_RectangleF:b:c:").Handle, rect2, rect3, rect4);
|
rect = Messaging.RectangleF_objc_msgSend_RectangleF_RectangleF_RectangleF (obj.Handle, new Selector ("testRectangleF_RectangleF_RectangleF_RectangleF:b:c:").Handle, rect2, rect3, rect4);
|
||||||
} else {
|
} else {
|
||||||
Messaging.RectangleF_objc_msgSend_stret_RectangleF_RectangleF_RectangleF (out rect, obj.Handle, new Selector ("testRectangleF_RectangleF_RectangleF_RectangleF:b:c:").Handle, rect2, rect3, rect4);
|
Messaging.RectangleF_objc_msgSend_stret_RectangleF_RectangleF_RectangleF (out rect, obj.Handle, new Selector ("testRectangleF_RectangleF_RectangleF_RectangleF:b:c:").Handle, rect2, rect3, rect4);
|
||||||
|
@ -625,14 +634,14 @@ namespace MonoTouchFixtures.ObjCRuntime {
|
||||||
PointF point;
|
PointF point;
|
||||||
SizeF size;
|
SizeF size;
|
||||||
|
|
||||||
if (IsArm32) {
|
if (IsArm32 && !IsArmv7k) {
|
||||||
Messaging.PointF_objc_msgSend_stret (out point, obj.Handle, new Selector ("testPointF").Handle);
|
Messaging.PointF_objc_msgSend_stret (out point, obj.Handle, new Selector ("testPointF").Handle);
|
||||||
} else {
|
} else {
|
||||||
point = Messaging.PointF_objc_msgSend (obj.Handle, new Selector ("testPointF").Handle);
|
point = Messaging.PointF_objc_msgSend (obj.Handle, new Selector ("testPointF").Handle);
|
||||||
}
|
}
|
||||||
Assert.That (point == new PointF (pi*2, pi*20), "#testPointF");
|
Assert.That (point == new PointF (pi*2, pi*20), "#testPointF");
|
||||||
|
|
||||||
if (IsArm32) {
|
if (IsArm32 && !IsArmv7k) {
|
||||||
Messaging.SizeF_objc_msgSend_stret (out size, obj.Handle, new Selector ("testSizeF").Handle);
|
Messaging.SizeF_objc_msgSend_stret (out size, obj.Handle, new Selector ("testSizeF").Handle);
|
||||||
} else {
|
} else {
|
||||||
size = Messaging.SizeF_objc_msgSend (obj.Handle, new Selector ("testSizeF").Handle);
|
size = Messaging.SizeF_objc_msgSend (obj.Handle, new Selector ("testSizeF").Handle);
|
||||||
|
|
|
@ -29,10 +29,9 @@ namespace MonoTouchFixtures.PassKit {
|
||||||
[Test]
|
[Test]
|
||||||
public void Constructor ()
|
public void Constructor ()
|
||||||
{
|
{
|
||||||
if (!TestRuntime.CheckSystemAndSDKVersion (6, 0))
|
TestRuntime.AssertXcodeVersion (4, 5);
|
||||||
Assert.Inconclusive ("PassKit is new in 6.0");
|
|
||||||
|
|
||||||
if (TestRuntime.CheckSystemAndSDKVersion (8, 0)) {
|
if (TestRuntime.CheckXcodeVersion (6, 0)) {
|
||||||
Assert.DoesNotThrow (() => new PKObject ());
|
Assert.DoesNotThrow (() => new PKObject ());
|
||||||
} else {
|
} else {
|
||||||
Assert.Throws<Exception> (() => new PKObject ());
|
Assert.Throws<Exception> (() => new PKObject ());
|
||||||
|
|
|
@ -30,8 +30,7 @@ namespace MonoTouchFixtures.PassKit {
|
||||||
[Test]
|
[Test]
|
||||||
public void Defaults ()
|
public void Defaults ()
|
||||||
{
|
{
|
||||||
if (!TestRuntime.CheckSystemAndSDKVersion (6,0))
|
TestRuntime.AssertXcodeVersion (4, 5);
|
||||||
Assert.Inconclusive ("PassKit is new in 6.0");
|
|
||||||
|
|
||||||
// this is yet another case where Apples plays ping-ping with different versions
|
// this is yet another case where Apples plays ping-ping with different versions
|
||||||
//
|
//
|
||||||
|
@ -64,8 +63,7 @@ namespace MonoTouchFixtures.PassKit {
|
||||||
[Test]
|
[Test]
|
||||||
public void Fields ()
|
public void Fields ()
|
||||||
{
|
{
|
||||||
if (!TestRuntime.CheckSystemAndSDKVersion (6,0))
|
TestRuntime.AssertXcodeVersion (4, 5);
|
||||||
Assert.Inconclusive ("PassKit is new in 6.0");
|
|
||||||
|
|
||||||
Assert.That (PKPassLibraryUserInfoKey.AddedPasses.ToString (), Is.EqualTo ("PKPassLibraryAddedPassesUserInfo"), "AddedPassesUserInfoKey");
|
Assert.That (PKPassLibraryUserInfoKey.AddedPasses.ToString (), Is.EqualTo ("PKPassLibraryAddedPassesUserInfo"), "AddedPassesUserInfoKey");
|
||||||
Assert.That (PKPassLibraryUserInfoKey.RemovedPassInfos.ToString (), Is.EqualTo ("PKPassLibraryRemovedPassInfosUserInfo"), "RemovedPassInfosUserInfoKey");
|
Assert.That (PKPassLibraryUserInfoKey.RemovedPassInfos.ToString (), Is.EqualTo ("PKPassLibraryRemovedPassInfosUserInfo"), "RemovedPassInfosUserInfoKey");
|
||||||
|
|
|
@ -30,8 +30,7 @@ namespace MonoTouchFixtures.PassKit {
|
||||||
[Test]
|
[Test]
|
||||||
public void Defaults ()
|
public void Defaults ()
|
||||||
{
|
{
|
||||||
if (!TestRuntime.CheckSystemAndSDKVersion (6,0))
|
TestRuntime.AssertXcodeVersion (4, 5);
|
||||||
Assert.Inconclusive ("PassKit is new in 6.0");
|
|
||||||
|
|
||||||
using (PKPass pass = new PKPass ()) {
|
using (PKPass pass = new PKPass ()) {
|
||||||
Assert.Null (pass.AuthenticationToken, "AuthenticationToken");
|
Assert.Null (pass.AuthenticationToken, "AuthenticationToken");
|
||||||
|
@ -63,8 +62,7 @@ namespace MonoTouchFixtures.PassKit {
|
||||||
[Test]
|
[Test]
|
||||||
public void BoardingPass ()
|
public void BoardingPass ()
|
||||||
{
|
{
|
||||||
if (!TestRuntime.CheckSystemAndSDKVersion (6,0))
|
TestRuntime.AssertXcodeVersion (4, 5);
|
||||||
Assert.Inconclusive ("PassKit is new in 6.0");
|
|
||||||
|
|
||||||
using (var pass = GetBoardingPass ()) {
|
using (var pass = GetBoardingPass ()) {
|
||||||
Assert.That (pass.AuthenticationToken, Is.EqualTo ("vxwxd7J8AlNNFPS8k0a0FfUFtq0ewzFdc"), "AuthenticationToken");
|
Assert.That (pass.AuthenticationToken, Is.EqualTo ("vxwxd7J8AlNNFPS8k0a0FfUFtq0ewzFdc"), "AuthenticationToken");
|
||||||
|
@ -78,7 +76,7 @@ namespace MonoTouchFixtures.PassKit {
|
||||||
|
|
||||||
Assert.That (pass.OrganizationName, Is.EqualTo ("Skyport Airways"), "OrganizationName");
|
Assert.That (pass.OrganizationName, Is.EqualTo ("Skyport Airways"), "OrganizationName");
|
||||||
Assert.That (pass.PassTypeIdentifier, Is.EqualTo ("pass.com.apple.devpubs.example"), "PassTypeIdentifier");
|
Assert.That (pass.PassTypeIdentifier, Is.EqualTo ("pass.com.apple.devpubs.example"), "PassTypeIdentifier");
|
||||||
if (TestRuntime.CheckSystemAndSDKVersion (7, 0))
|
if (TestRuntime.CheckXcodeVersion (5, 0))
|
||||||
Assert.That (pass.PassUrl.AbsoluteString, Is.EqualTo ("shoebox://card/1UuiGnfwxHgd0G0bIuPYPNpeRX8="), "PassUrl");
|
Assert.That (pass.PassUrl.AbsoluteString, Is.EqualTo ("shoebox://card/1UuiGnfwxHgd0G0bIuPYPNpeRX8="), "PassUrl");
|
||||||
else
|
else
|
||||||
Assert.Null (pass.PassUrl, "PassUrl");
|
Assert.Null (pass.PassUrl, "PassUrl");
|
||||||
|
@ -91,8 +89,7 @@ namespace MonoTouchFixtures.PassKit {
|
||||||
[Test]
|
[Test]
|
||||||
public void Fields ()
|
public void Fields ()
|
||||||
{
|
{
|
||||||
if (!TestRuntime.CheckSystemAndSDKVersion (6,0))
|
TestRuntime.AssertXcodeVersion (4, 5);
|
||||||
Assert.Inconclusive ("PassKit is new in 6.0");
|
|
||||||
|
|
||||||
Assert.That (PKPass.ErrorDomain.ToString (), Is.EqualTo ("PKPassKitErrorDomain"), "ErrorDomain");
|
Assert.That (PKPass.ErrorDomain.ToString (), Is.EqualTo ("PKPassKitErrorDomain"), "ErrorDomain");
|
||||||
}
|
}
|
||||||
|
|
|
@ -51,7 +51,7 @@ namespace MonoTouchFixtures.Security {
|
||||||
Assert.True (code == SecStatusCode.DuplicateItem || code == SecStatusCode.Success);
|
Assert.True (code == SecStatusCode.DuplicateItem || code == SecStatusCode.Success);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!TestRuntime.CheckSystemAndSDKVersion (7,0))
|
if (!TestRuntime.CheckXcodeVersion (5, 0))
|
||||||
Assert.Inconclusive ("QueryAsConcreteType does not work before iOS7");
|
Assert.Inconclusive ("QueryAsConcreteType does not work before iOS7");
|
||||||
|
|
||||||
using (SecRecord rec = new SecRecord (SecKind.Identity)) {
|
using (SecRecord rec = new SecRecord (SecKind.Identity)) {
|
||||||
|
|
|
@ -226,7 +226,7 @@ namespace MonoTouchFixtures.Security {
|
||||||
record.KeySizeInBits = 16384;
|
record.KeySizeInBits = 16384;
|
||||||
Assert.That (SecKey.GenerateKeyPair (record.ToDictionary (), out public_key, out private_key), Is.EqualTo (SecStatusCode.Param), "16384");
|
Assert.That (SecKey.GenerateKeyPair (record.ToDictionary (), out public_key, out private_key), Is.EqualTo (SecStatusCode.Param), "16384");
|
||||||
record.KeySizeInBits = 8192;
|
record.KeySizeInBits = 8192;
|
||||||
if (TestRuntime.CheckiOSSystemVersion (9, 0)) {
|
if (TestRuntime.CheckXcodeVersion (7, 0)) {
|
||||||
// It seems iOS 9 supports 8192, but it takes a long time to generate (~40 seconds on my iPad Air 2), so skip it.
|
// It seems iOS 9 supports 8192, but it takes a long time to generate (~40 seconds on my iPad Air 2), so skip it.
|
||||||
// Assert.That (SecKey.GenerateKeyPair (record.ToDictionary (), out public_key, out private_key), Is.EqualTo (SecStatusCode.Success), "8192");
|
// Assert.That (SecKey.GenerateKeyPair (record.ToDictionary (), out public_key, out private_key), Is.EqualTo (SecStatusCode.Success), "8192");
|
||||||
} else {
|
} else {
|
||||||
|
|
|
@ -51,7 +51,7 @@ namespace MonoTouchFixtures.Security {
|
||||||
Assert.That (policy.Handle, Is.Not.EqualTo (IntPtr.Zero), "Handle");
|
Assert.That (policy.Handle, Is.Not.EqualTo (IntPtr.Zero), "Handle");
|
||||||
Assert.That (CFGetRetainCount (policy.Handle), Is.EqualTo ((nint) 1), "RetainCount");
|
Assert.That (CFGetRetainCount (policy.Handle), Is.EqualTo ((nint) 1), "RetainCount");
|
||||||
|
|
||||||
if (TestRuntime.CheckSystemAndSDKVersion (7,0)) {
|
if (TestRuntime.CheckXcodeVersion (5, 0)) {
|
||||||
using (var properties = policy.GetProperties ()) {
|
using (var properties = policy.GetProperties ()) {
|
||||||
Assert.That (properties.Handle, Is.Not.EqualTo (IntPtr.Zero), "Properties.Handle");
|
Assert.That (properties.Handle, Is.Not.EqualTo (IntPtr.Zero), "Properties.Handle");
|
||||||
Assert.That (CFGetRetainCount (properties.Handle), Is.EqualTo ((nint) 1), "Properties.RetainCount");
|
Assert.That (CFGetRetainCount (properties.Handle), Is.EqualTo ((nint) 1), "Properties.RetainCount");
|
||||||
|
@ -69,7 +69,7 @@ namespace MonoTouchFixtures.Security {
|
||||||
Assert.That (policy.Handle, Is.Not.EqualTo (IntPtr.Zero), "Handle");
|
Assert.That (policy.Handle, Is.Not.EqualTo (IntPtr.Zero), "Handle");
|
||||||
Assert.That (CFGetRetainCount (policy.Handle), Is.EqualTo ((nint) 1), "RetainCount");
|
Assert.That (CFGetRetainCount (policy.Handle), Is.EqualTo ((nint) 1), "RetainCount");
|
||||||
|
|
||||||
if (TestRuntime.CheckSystemAndSDKVersion (7,0)) {
|
if (TestRuntime.CheckXcodeVersion (5, 0)) {
|
||||||
using (var properties = policy.GetProperties ()) {
|
using (var properties = policy.GetProperties ()) {
|
||||||
Assert.That (properties.Handle, Is.Not.EqualTo (IntPtr.Zero), "Properties.Handle");
|
Assert.That (properties.Handle, Is.Not.EqualTo (IntPtr.Zero), "Properties.Handle");
|
||||||
Assert.That (CFGetRetainCount (properties.Handle), Is.EqualTo ((nint) 1), "Properties.RetainCount");
|
Assert.That (CFGetRetainCount (properties.Handle), Is.EqualTo ((nint) 1), "Properties.RetainCount");
|
||||||
|
@ -88,7 +88,7 @@ namespace MonoTouchFixtures.Security {
|
||||||
Assert.That (policy.Handle, Is.Not.EqualTo (IntPtr.Zero), "Handle");
|
Assert.That (policy.Handle, Is.Not.EqualTo (IntPtr.Zero), "Handle");
|
||||||
Assert.That (CFGetRetainCount (policy.Handle), Is.EqualTo ((nint) 1), "RetainCount");
|
Assert.That (CFGetRetainCount (policy.Handle), Is.EqualTo ((nint) 1), "RetainCount");
|
||||||
|
|
||||||
if (TestRuntime.CheckSystemAndSDKVersion (7,0)) {
|
if (TestRuntime.CheckXcodeVersion (5, 0)) {
|
||||||
using (var properties = policy.GetProperties ()) {
|
using (var properties = policy.GetProperties ()) {
|
||||||
Assert.That (properties.Handle, Is.Not.EqualTo (IntPtr.Zero), "Properties.Handle");
|
Assert.That (properties.Handle, Is.Not.EqualTo (IntPtr.Zero), "Properties.Handle");
|
||||||
Assert.That (CFGetRetainCount (properties.Handle), Is.EqualTo ((nint) 1), "Properties.RetainCount");
|
Assert.That (CFGetRetainCount (properties.Handle), Is.EqualTo ((nint) 1), "Properties.RetainCount");
|
||||||
|
@ -107,7 +107,7 @@ namespace MonoTouchFixtures.Security {
|
||||||
Assert.That (policy.Handle, Is.Not.EqualTo (IntPtr.Zero), "Handle");
|
Assert.That (policy.Handle, Is.Not.EqualTo (IntPtr.Zero), "Handle");
|
||||||
Assert.That (CFGetRetainCount (policy.Handle), Is.EqualTo ((nint) 1), "RetainCount");
|
Assert.That (CFGetRetainCount (policy.Handle), Is.EqualTo ((nint) 1), "RetainCount");
|
||||||
|
|
||||||
if (TestRuntime.CheckSystemAndSDKVersion (7,0)) {
|
if (TestRuntime.CheckXcodeVersion (5, 0)) {
|
||||||
using (var properties = policy.GetProperties ()) {
|
using (var properties = policy.GetProperties ()) {
|
||||||
Assert.That (properties.Handle, Is.Not.EqualTo (IntPtr.Zero), "Properties.Handle");
|
Assert.That (properties.Handle, Is.Not.EqualTo (IntPtr.Zero), "Properties.Handle");
|
||||||
Assert.That (CFGetRetainCount (properties.Handle), Is.EqualTo ((nint) 1), "Properties.RetainCount");
|
Assert.That (CFGetRetainCount (properties.Handle), Is.EqualTo ((nint) 1), "Properties.RetainCount");
|
||||||
|
@ -121,8 +121,7 @@ namespace MonoTouchFixtures.Security {
|
||||||
[Test]
|
[Test]
|
||||||
public void RevocationPolicy ()
|
public void RevocationPolicy ()
|
||||||
{
|
{
|
||||||
if (!TestRuntime.CheckSystemAndSDKVersion (7, 0))
|
TestRuntime.AssertXcodeVersion (5, 0);
|
||||||
Assert.Inconclusive ("requires iOS7");
|
|
||||||
|
|
||||||
using (var policy = SecPolicy.CreateRevocationPolicy (SecRevocation.UseAnyAvailableMethod | SecRevocation.RequirePositiveResponse)) {
|
using (var policy = SecPolicy.CreateRevocationPolicy (SecRevocation.UseAnyAvailableMethod | SecRevocation.RequirePositiveResponse)) {
|
||||||
Assert.That (policy.Handle, Is.Not.EqualTo (IntPtr.Zero), "Handle");
|
Assert.That (policy.Handle, Is.Not.EqualTo (IntPtr.Zero), "Handle");
|
||||||
|
@ -149,8 +148,7 @@ namespace MonoTouchFixtures.Security {
|
||||||
[Test]
|
[Test]
|
||||||
public void CreateWellKnownPolicies ()
|
public void CreateWellKnownPolicies ()
|
||||||
{
|
{
|
||||||
if (!TestRuntime.CheckSystemAndSDKVersion (7, 0))
|
TestRuntime.AssertXcodeVersion (5, 0);
|
||||||
Assert.Inconclusive ("requires iOS7");
|
|
||||||
|
|
||||||
CreatePolicy (SecPolicyIdentifier.AppleX509Basic);
|
CreatePolicy (SecPolicyIdentifier.AppleX509Basic);
|
||||||
CreatePolicy (SecPolicyIdentifier.AppleSSL);
|
CreatePolicy (SecPolicyIdentifier.AppleSSL);
|
||||||
|
@ -169,8 +167,7 @@ namespace MonoTouchFixtures.Security {
|
||||||
[Test]
|
[Test]
|
||||||
public void CreateUnknownPolicy ()
|
public void CreateUnknownPolicy ()
|
||||||
{
|
{
|
||||||
if (!TestRuntime.CheckSystemAndSDKVersion (7, 0))
|
TestRuntime.AssertXcodeVersion (5, 0);
|
||||||
Assert.Inconclusive ("requires iOS7");
|
|
||||||
|
|
||||||
using (var oid = new NSString ("1.2.3.4")) {
|
using (var oid = new NSString ("1.2.3.4")) {
|
||||||
Assert.Throws<ArgumentException> (delegate {
|
Assert.Throws<ArgumentException> (delegate {
|
||||||
|
|
|
@ -29,7 +29,7 @@ namespace MonoTouchFixtures.Security {
|
||||||
|
|
||||||
// prior to iOS7 you had to deal without the class
|
// prior to iOS7 you had to deal without the class
|
||||||
using (var dict = rec.ToDictionary ()) {
|
using (var dict = rec.ToDictionary ()) {
|
||||||
if (TestRuntime.CheckSystemAndSDKVersion (7,0))
|
if (TestRuntime.CheckXcodeVersion (5, 0))
|
||||||
Assert.That (dict ["class"].ToString (), Is.EqualTo ("idnt"), "idnt");
|
Assert.That (dict ["class"].ToString (), Is.EqualTo ("idnt"), "idnt");
|
||||||
else
|
else
|
||||||
Assert.Null (dict ["class"], "idnt");
|
Assert.Null (dict ["class"], "idnt");
|
||||||
|
@ -73,7 +73,7 @@ namespace MonoTouchFixtures.Security {
|
||||||
Assert.AreSame (rec.MatchIssuers [0], data, "MatchIssuers [0]");
|
Assert.AreSame (rec.MatchIssuers [0], data, "MatchIssuers [0]");
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!TestRuntime.CheckiOSSystemVersion (9,0))
|
if (!TestRuntime.CheckXcodeVersion (7, 0))
|
||||||
return;
|
return;
|
||||||
Assert.That (rec.AuthenticationUI, Is.EqualTo (SecAuthenticationUI.NotSet), "AuthenticationUI-get");
|
Assert.That (rec.AuthenticationUI, Is.EqualTo (SecAuthenticationUI.NotSet), "AuthenticationUI-get");
|
||||||
rec.AuthenticationUI = SecAuthenticationUI.Allow;
|
rec.AuthenticationUI = SecAuthenticationUI.Allow;
|
||||||
|
|
|
@ -92,7 +92,7 @@ namespace MonoTouchFixtures.Security {
|
||||||
[Test]
|
[Test]
|
||||||
public void DatagramDefaults ()
|
public void DatagramDefaults ()
|
||||||
{
|
{
|
||||||
nint dsize = TestRuntime.CheckSystemAndSDKVersion (8, 0) ? 1327 : 1387;
|
nint dsize = TestRuntime.CheckXcodeVersion (6, 0) ? 1327 : 1387;
|
||||||
using (var ssl = new SslContext (SslProtocolSide.Client, SslConnectionType.Datagram)) {
|
using (var ssl = new SslContext (SslProtocolSide.Client, SslConnectionType.Datagram)) {
|
||||||
Assert.That (ssl.BufferedReadSize, Is.EqualTo ((nint) 0), "BufferedReadSize");
|
Assert.That (ssl.BufferedReadSize, Is.EqualTo ((nint) 0), "BufferedReadSize");
|
||||||
Assert.Null (ssl.Connection, "Connection");
|
Assert.Null (ssl.Connection, "Connection");
|
||||||
|
@ -153,6 +153,8 @@ namespace MonoTouchFixtures.Security {
|
||||||
Assert.That (ssl_client_ciphers, Is.EqualTo (ssl_server_ciphers), "same");
|
Assert.That (ssl_client_ciphers, Is.EqualTo (ssl_server_ciphers), "same");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#if !__WATCHOS__
|
||||||
|
// This test uses sockets (TcpClient), which doesn't work on watchOS.
|
||||||
[Test]
|
[Test]
|
||||||
public void Tls12 ()
|
public void Tls12 ()
|
||||||
{
|
{
|
||||||
|
@ -197,5 +199,6 @@ namespace MonoTouchFixtures.Security {
|
||||||
Assert.That (s, Is.StringStarting ("HTTP/1.0 302 Found").Or.StringStarting ("HTTP/1.0 200 OK"), "response");
|
Assert.That (s, Is.StringStarting ("HTTP/1.0 302 Found").Or.StringStarting ("HTTP/1.0 200 OK"), "response");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
#endif // !__WATCHOS__
|
||||||
}
|
}
|
||||||
}
|
}
|
|
@ -75,7 +75,7 @@ namespace MonoTouchFixtures.Security {
|
||||||
// the system was able to construct the chain based on the single certificate
|
// the system was able to construct the chain based on the single certificate
|
||||||
Assert.That (Evaluate (trust, true), Is.EqualTo (SecTrustResult.RecoverableTrustFailure), "Evaluate");
|
Assert.That (Evaluate (trust, true), Is.EqualTo (SecTrustResult.RecoverableTrustFailure), "Evaluate");
|
||||||
|
|
||||||
if (TestRuntime.CheckSystemAndSDKVersion (7, 0)) {
|
if (TestRuntime.CheckXcodeVersion (5, 0)) {
|
||||||
Assert.True (trust.NetworkFetchAllowed, "NetworkFetchAllowed-1");
|
Assert.True (trust.NetworkFetchAllowed, "NetworkFetchAllowed-1");
|
||||||
trust.NetworkFetchAllowed = false;
|
trust.NetworkFetchAllowed = false;
|
||||||
Assert.False (trust.NetworkFetchAllowed, "NetworkFetchAllowed-2");
|
Assert.False (trust.NetworkFetchAllowed, "NetworkFetchAllowed-2");
|
||||||
|
@ -100,7 +100,7 @@ namespace MonoTouchFixtures.Security {
|
||||||
trust.SetVerifyDate (new DateTime (635108745218945450, DateTimeKind.Utc));
|
trust.SetVerifyDate (new DateTime (635108745218945450, DateTimeKind.Utc));
|
||||||
Assert.That (Evaluate (trust, true), Is.EqualTo (SecTrustResult.RecoverableTrustFailure), "Evaluate");
|
Assert.That (Evaluate (trust, true), Is.EqualTo (SecTrustResult.RecoverableTrustFailure), "Evaluate");
|
||||||
|
|
||||||
if (TestRuntime.CheckSystemAndSDKVersion (7, 0)) {
|
if (TestRuntime.CheckXcodeVersion (5, 0)) {
|
||||||
Assert.That (trust.GetTrustResult (), Is.EqualTo (SecTrustResult.RecoverableTrustFailure), "GetTrustResult");
|
Assert.That (trust.GetTrustResult (), Is.EqualTo (SecTrustResult.RecoverableTrustFailure), "GetTrustResult");
|
||||||
|
|
||||||
using (var a = NSArray.FromNSObjects (policy))
|
using (var a = NSArray.FromNSObjects (policy))
|
||||||
|
@ -127,7 +127,7 @@ namespace MonoTouchFixtures.Security {
|
||||||
trust.SetVerifyDate (new DateTime (635108745218945450, DateTimeKind.Utc));
|
trust.SetVerifyDate (new DateTime (635108745218945450, DateTimeKind.Utc));
|
||||||
Assert.That (Evaluate (trust, true), Is.EqualTo (SecTrustResult.RecoverableTrustFailure), "Evaluate");
|
Assert.That (Evaluate (trust, true), Is.EqualTo (SecTrustResult.RecoverableTrustFailure), "Evaluate");
|
||||||
|
|
||||||
if (TestRuntime.CheckSystemAndSDKVersion (7, 0)) {
|
if (TestRuntime.CheckXcodeVersion (5, 0)) {
|
||||||
using (var rev = SecPolicy.CreateRevocationPolicy (SecRevocation.UseAnyAvailableMethod)) {
|
using (var rev = SecPolicy.CreateRevocationPolicy (SecRevocation.UseAnyAvailableMethod)) {
|
||||||
List<SecPolicy> list = new List<SecPolicy> () { policy, rev };
|
List<SecPolicy> list = new List<SecPolicy> () { policy, rev };
|
||||||
trust.SetPolicies (list);
|
trust.SetPolicies (list);
|
||||||
|
@ -150,7 +150,7 @@ namespace MonoTouchFixtures.Security {
|
||||||
// a host name is not meaningful for client certificates
|
// a host name is not meaningful for client certificates
|
||||||
Assert.That (Evaluate (trust, true), Is.EqualTo (SecTrustResult.RecoverableTrustFailure), "Evaluate");
|
Assert.That (Evaluate (trust, true), Is.EqualTo (SecTrustResult.RecoverableTrustFailure), "Evaluate");
|
||||||
|
|
||||||
if (TestRuntime.CheckSystemAndSDKVersion (7, 0)) {
|
if (TestRuntime.CheckXcodeVersion (5, 0)) {
|
||||||
// by default there's no *custom* anchors
|
// by default there's no *custom* anchors
|
||||||
Assert.Null (trust.GetCustomAnchorCertificates (), "GetCustomAnchorCertificates");
|
Assert.Null (trust.GetCustomAnchorCertificates (), "GetCustomAnchorCertificates");
|
||||||
|
|
||||||
|
@ -176,7 +176,7 @@ namespace MonoTouchFixtures.Security {
|
||||||
SecTrustResult result = SecTrustResult.RecoverableTrustFailure;
|
SecTrustResult result = SecTrustResult.RecoverableTrustFailure;
|
||||||
Assert.That (Evaluate (trust, result == SecTrustResult.RecoverableTrustFailure), Is.EqualTo (result), "Evaluate");
|
Assert.That (Evaluate (trust, result == SecTrustResult.RecoverableTrustFailure), Is.EqualTo (result), "Evaluate");
|
||||||
|
|
||||||
if (TestRuntime.CheckSystemAndSDKVersion (7, 0)) {
|
if (TestRuntime.CheckXcodeVersion (5, 0)) {
|
||||||
// call GetPolicies without a SetPolicy / SetPolicies
|
// call GetPolicies without a SetPolicy / SetPolicies
|
||||||
var policies = trust.GetPolicies ();
|
var policies = trust.GetPolicies ();
|
||||||
Assert.That (policies.Length, Is.EqualTo (1), "Policies.Length");
|
Assert.That (policies.Length, Is.EqualTo (1), "Policies.Length");
|
||||||
|
@ -201,7 +201,7 @@ namespace MonoTouchFixtures.Security {
|
||||||
trust.SetVerifyDate (new DateTime (635108745218945450, DateTimeKind.Utc));
|
trust.SetVerifyDate (new DateTime (635108745218945450, DateTimeKind.Utc));
|
||||||
// iOS9 is not fully happy with the basic constraints: `SecTrustEvaluate [root AnchorTrusted BasicContraints]`
|
// iOS9 is not fully happy with the basic constraints: `SecTrustEvaluate [root AnchorTrusted BasicContraints]`
|
||||||
// so it returns RecoverableTrustFailure and that affects the Count of trust later (it does not add to what we provided)
|
// so it returns RecoverableTrustFailure and that affects the Count of trust later (it does not add to what we provided)
|
||||||
var ios9 = TestRuntime.CheckiOSSystemVersion (9,0);
|
var ios9 = TestRuntime.CheckXcodeVersion (7, 0);
|
||||||
var result = Evaluate (trust, ios9);
|
var result = Evaluate (trust, ios9);
|
||||||
Assert.That (result, Is.EqualTo (ios9 ? SecTrustResult.RecoverableTrustFailure : SecTrustResult.Unspecified), "Evaluate");
|
Assert.That (result, Is.EqualTo (ios9 ? SecTrustResult.RecoverableTrustFailure : SecTrustResult.Unspecified), "Evaluate");
|
||||||
// Evalute must be called prior to Count (Apple documentation)
|
// Evalute must be called prior to Count (Apple documentation)
|
||||||
|
@ -226,10 +226,12 @@ namespace MonoTouchFixtures.Security {
|
||||||
trust.SetVerifyDate (new DateTime (635108745218945450, DateTimeKind.Utc));
|
trust.SetVerifyDate (new DateTime (635108745218945450, DateTimeKind.Utc));
|
||||||
|
|
||||||
SecTrustResult trust_result = SecTrustResult.Unspecified;
|
SecTrustResult trust_result = SecTrustResult.Unspecified;
|
||||||
if (TestRuntime.CheckiOSSystemVersion (10, 0))
|
var ios9 = TestRuntime.CheckXcodeVersion (7, 0);
|
||||||
|
var ios10 = TestRuntime.CheckXcodeVersion (8, 0);
|
||||||
|
if (ios10)
|
||||||
trust_result = SecTrustResult.FatalTrustFailure;
|
trust_result = SecTrustResult.FatalTrustFailure;
|
||||||
// iOS9 is not fully happy with the basic constraints: `SecTrustEvaluate [root AnchorTrusted BasicContraints]`
|
// iOS9 is not fully happy with the basic constraints: `SecTrustEvaluate [root AnchorTrusted BasicContraints]`
|
||||||
else if (TestRuntime.CheckiOSSystemVersion (9, 0))
|
else if (ios9)
|
||||||
trust_result = SecTrustResult.RecoverableTrustFailure;
|
trust_result = SecTrustResult.RecoverableTrustFailure;
|
||||||
var result = Evaluate (trust, true);
|
var result = Evaluate (trust, true);
|
||||||
Assert.That (result, Is.EqualTo (trust_result), "Evaluate");
|
Assert.That (result, Is.EqualTo (trust_result), "Evaluate");
|
||||||
|
@ -251,7 +253,7 @@ namespace MonoTouchFixtures.Security {
|
||||||
Assert.That (sc3.SubjectSummary, Is.EqualTo ("Class 3 Public Primary Certification Authority"), "SubjectSummary(sc3)");
|
Assert.That (sc3.SubjectSummary, Is.EqualTo ("Class 3 Public Primary Certification Authority"), "SubjectSummary(sc3)");
|
||||||
}
|
}
|
||||||
|
|
||||||
if (TestRuntime.CheckSystemAndSDKVersion (7, 0)) {
|
if (TestRuntime.CheckXcodeVersion (5, 0)) {
|
||||||
Assert.That (trust.GetTrustResult (), Is.EqualTo (trust_result), "GetTrustResult");
|
Assert.That (trust.GetTrustResult (), Is.EqualTo (trust_result), "GetTrustResult");
|
||||||
|
|
||||||
trust.SetAnchorCertificates (certs);
|
trust.SetAnchorCertificates (certs);
|
||||||
|
@ -274,9 +276,15 @@ namespace MonoTouchFixtures.Security {
|
||||||
Assert.That (CFGetRetainCount (trust.Handle), Is.EqualTo ((nint) 1), "RetainCount(trust)");
|
Assert.That (CFGetRetainCount (trust.Handle), Is.EqualTo ((nint) 1), "RetainCount(trust)");
|
||||||
Assert.That (CFGetRetainCount (policy.Handle), Is.EqualTo ((nint) 2), "RetainCount(policy)");
|
Assert.That (CFGetRetainCount (policy.Handle), Is.EqualTo ((nint) 2), "RetainCount(policy)");
|
||||||
// the system was able to construct the chain based on the single certificate
|
// the system was able to construct the chain based on the single certificate
|
||||||
|
#if __WATCHOS__
|
||||||
|
Assert.That (Evaluate (trust), Is.EqualTo (SecTrustResult.RecoverableTrustFailure), "Evaluate");
|
||||||
|
// Evalute must be called prior to Count (Apple documentation)
|
||||||
|
Assert.That (trust.Count, Is.EqualTo (1), "Count");
|
||||||
|
#else
|
||||||
Assert.That (Evaluate (trust), Is.EqualTo (SecTrustResult.Unspecified), "Evaluate");
|
Assert.That (Evaluate (trust), Is.EqualTo (SecTrustResult.Unspecified), "Evaluate");
|
||||||
// Evalute must be called prior to Count (Apple documentation)
|
// Evalute must be called prior to Count (Apple documentation)
|
||||||
Assert.That (trust.Count, Is.EqualTo (3), "Count");
|
Assert.That (trust.Count, Is.EqualTo (3), "Count");
|
||||||
|
#endif
|
||||||
|
|
||||||
using (NSData data = trust.GetExceptions ()) {
|
using (NSData data = trust.GetExceptions ()) {
|
||||||
Assert.That (CFGetRetainCount (data.Handle), Is.EqualTo ((nint) 1), "RetainCount(data)");
|
Assert.That (CFGetRetainCount (data.Handle), Is.EqualTo ((nint) 1), "RetainCount(data)");
|
||||||
|
|
|
@ -38,8 +38,7 @@ namespace MonoTouchFixtures.UIKit {
|
||||||
[Test]
|
[Test]
|
||||||
public void TestDescriptors ()
|
public void TestDescriptors ()
|
||||||
{
|
{
|
||||||
if (!TestRuntime.CheckSystemAndSDKVersion (7, 0))
|
TestRuntime.AssertXcodeVersion (5, 0);
|
||||||
Assert.Ignore ("requires iOS7+");
|
|
||||||
|
|
||||||
var font = UIFont.BoldSystemFontOfSize (80);
|
var font = UIFont.BoldSystemFontOfSize (80);
|
||||||
var descriptor = font.FontDescriptor;
|
var descriptor = font.FontDescriptor;
|
||||||
|
@ -103,7 +102,7 @@ namespace MonoTouchFixtures.UIKit {
|
||||||
f2 = f2.WithSize (12);
|
f2 = f2.WithSize (12);
|
||||||
SemiFactory_25511 (f1, f2, "WithSize");
|
SemiFactory_25511 (f1, f2, "WithSize");
|
||||||
|
|
||||||
if (!TestRuntime.CheckSystemAndSDKVersion (7, 0))
|
if (!TestRuntime.CheckXcodeVersion (5, 0))
|
||||||
return;
|
return;
|
||||||
|
|
||||||
using (var name = new NSString ("UICTFontTextStyleBody")) {
|
using (var name = new NSString ("UICTFontTextStyleBody")) {
|
||||||
|
@ -121,8 +120,7 @@ namespace MonoTouchFixtures.UIKit {
|
||||||
[Test]
|
[Test]
|
||||||
public void Properties ()
|
public void Properties ()
|
||||||
{
|
{
|
||||||
if (!TestRuntime.CheckSystemAndSDKVersion (7, 0))
|
TestRuntime.AssertXcodeVersion (5, 0);
|
||||||
Assert.Ignore ("requires iOS7+");
|
|
||||||
|
|
||||||
var f1 = UIFont.PreferredBody;
|
var f1 = UIFont.PreferredBody;
|
||||||
// the same instance will be returned (from an iOS cache)
|
// the same instance will be returned (from an iOS cache)
|
||||||
|
@ -155,7 +153,7 @@ namespace MonoTouchFixtures.UIKit {
|
||||||
public void NullFonts ()
|
public void NullFonts ()
|
||||||
{
|
{
|
||||||
var invalidFontName = new NSString ("Invalid Font Name");
|
var invalidFontName = new NSString ("Invalid Font Name");
|
||||||
if (TestRuntime.CheckiOSSystemVersion (7, 0)) {
|
if (TestRuntime.CheckXcodeVersion (5, 0)) {
|
||||||
Assert.IsNotNull (UIFont.GetPreferredFontForTextStyle (invalidFontName), "GetPreferredFontForTextStyle");
|
Assert.IsNotNull (UIFont.GetPreferredFontForTextStyle (invalidFontName), "GetPreferredFontForTextStyle");
|
||||||
Assert.IsNotNull (UIFont.FromDescriptor (new UIFontDescriptor (), -2), "FromDescriptor (,)");
|
Assert.IsNotNull (UIFont.FromDescriptor (new UIFontDescriptor (), -2), "FromDescriptor (,)");
|
||||||
}
|
}
|
||||||
|
@ -164,7 +162,7 @@ namespace MonoTouchFixtures.UIKit {
|
||||||
|
|
||||||
Assert.IsNotNull (UIFont.SystemFontOfSize (-3), "SystemFontOfSize()");
|
Assert.IsNotNull (UIFont.SystemFontOfSize (-3), "SystemFontOfSize()");
|
||||||
|
|
||||||
if (TestRuntime.CheckiOSSystemVersion (8, 2)) {
|
if (TestRuntime.CheckXcodeVersion (6, 2)) {
|
||||||
Assert.IsNotNull (UIFont.SystemFontOfSize (0, UIFontWeight.Regular), "SystemFontOfSize (nfloat, UIFontWeight)");
|
Assert.IsNotNull (UIFont.SystemFontOfSize (0, UIFontWeight.Regular), "SystemFontOfSize (nfloat, UIFontWeight)");
|
||||||
Assert.IsNotNull (UIFont.SystemFontOfSize (0, (nfloat) 0), "SystemFontOfSize (nfloat, nfloat)");
|
Assert.IsNotNull (UIFont.SystemFontOfSize (0, (nfloat) 0), "SystemFontOfSize (nfloat, nfloat)");
|
||||||
}
|
}
|
||||||
|
|
|
@ -38,8 +38,7 @@ namespace MonoTouchFixtures.UIKit {
|
||||||
[Test]
|
[Test]
|
||||||
public void RetainCount ()
|
public void RetainCount ()
|
||||||
{
|
{
|
||||||
if (!TestRuntime.CheckSystemAndSDKVersion (6,0))
|
TestRuntime.AssertXcodeVersion (4, 5);
|
||||||
Assert.Inconclusive ("Requires iOS 6+");
|
|
||||||
|
|
||||||
var sa = new UIStringAttributes ();
|
var sa = new UIStringAttributes ();
|
||||||
|
|
||||||
|
@ -86,8 +85,7 @@ namespace MonoTouchFixtures.UIKit {
|
||||||
[Test]
|
[Test]
|
||||||
public void RetainCount_7 ()
|
public void RetainCount_7 ()
|
||||||
{
|
{
|
||||||
if (!TestRuntime.CheckSystemAndSDKVersion (7,0))
|
TestRuntime.AssertXcodeVersion (5, 0);
|
||||||
Assert.Inconclusive ("Requires iOS 7+");
|
|
||||||
|
|
||||||
var sa = new UIStringAttributes ();
|
var sa = new UIStringAttributes ();
|
||||||
sa.Expansion = 0.0f;
|
sa.Expansion = 0.0f;
|
||||||
|
|
|
@ -533,6 +533,9 @@
|
||||||
<Compile Include="Foundation\NSExpressionTest.cs" />
|
<Compile Include="Foundation\NSExpressionTest.cs" />
|
||||||
<Compile Include="CoreGraphics\RectTest.cs" />
|
<Compile Include="CoreGraphics\RectTest.cs" />
|
||||||
<Compile Include="Messages\MSMessageTest.cs" />
|
<Compile Include="Messages\MSMessageTest.cs" />
|
||||||
|
<Compile Include="..\common\TestRuntime.cs">
|
||||||
|
<Link>TestRuntime.cs</Link>
|
||||||
|
</Compile>
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<Import Project="$(MSBuildExtensionsPath)\Xamarin\iOS\Xamarin.MonoTouch.CSharp.targets" />
|
<Import Project="$(MSBuildExtensionsPath)\Xamarin\iOS\Xamarin.MonoTouch.CSharp.targets" />
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
|
|
|
@ -3,7 +3,7 @@ Microsoft Visual Studio Solution File, Format Version 11.00
|
||||||
# Visual Studio 2010
|
# Visual Studio 2010
|
||||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "monotouch-test", "monotouch-test\monotouch-test.csproj", "{AC6D070F-2ED4-4701-B701-81915B931D1D}"
|
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "monotouch-test", "monotouch-test\monotouch-test.csproj", "{AC6D070F-2ED4-4701-B701-81915B931D1D}"
|
||||||
EndProject
|
EndProject
|
||||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "dont link", "linker-ios\dont link\dont link.csproj", "{208744BD-504E-47D7-9A98-1CF02454A6DA}"
|
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "introspection-ios", "introspection\iOS\introspection-ios.csproj", "{208744BD-504E-47D7-9A98-1CF02454A6DA}"
|
||||||
EndProject
|
EndProject
|
||||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "link sdk", "linker-ios\link sdk\link sdk.csproj", "{C47F8F72-A7CA-4149-AA7D-BC4814803EF3}"
|
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "link sdk", "linker-ios\link sdk\link sdk.csproj", "{C47F8F72-A7CA-4149-AA7D-BC4814803EF3}"
|
||||||
EndProject
|
EndProject
|
||||||
|
@ -63,6 +63,8 @@ Project("{f2a71f9b-5d33-465a-a702-920d77279786}") = "fsharplibrary", "fsharplibr
|
||||||
EndProject
|
EndProject
|
||||||
Project("{f2a71f9b-5d33-465a-a702-920d77279786}") = "fsharp", "fsharp\fsharp.fsproj", "{7862FE5A-530A-4651-825F-C80836B0A3A1}"
|
Project("{f2a71f9b-5d33-465a-a702-920d77279786}") = "fsharp", "fsharp\fsharp.fsproj", "{7862FE5A-530A-4651-825F-C80836B0A3A1}"
|
||||||
EndProject
|
EndProject
|
||||||
|
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "dont link", "linker-ios\dont link\dont link.csproj", "{839212D5-C25B-4284-AA96-59C3872B8184}"
|
||||||
|
EndProject
|
||||||
Global
|
Global
|
||||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||||
Debug|iPhoneSimulator = Debug|iPhoneSimulator
|
Debug|iPhoneSimulator = Debug|iPhoneSimulator
|
||||||
|
@ -70,6 +72,7 @@ Global
|
||||||
Debug|iPhone = Debug|iPhone
|
Debug|iPhone = Debug|iPhone
|
||||||
Release|iPhone = Release|iPhone
|
Release|iPhone = Release|iPhone
|
||||||
Debug|Any CPU = Debug|Any CPU
|
Debug|Any CPU = Debug|Any CPU
|
||||||
|
DebugStaticRegistrar|iPhone = DebugStaticRegistrar|iPhone
|
||||||
EndGlobalSection
|
EndGlobalSection
|
||||||
GlobalSection(ProjectConfigurationPlatforms) = postSolution
|
GlobalSection(ProjectConfigurationPlatforms) = postSolution
|
||||||
{1ADF4F27-7610-4501-A62E-1157273AED7E}.Debug|Any CPU.ActiveCfg = Debug|iPhoneSimulator
|
{1ADF4F27-7610-4501-A62E-1157273AED7E}.Debug|Any CPU.ActiveCfg = Debug|iPhoneSimulator
|
||||||
|
@ -82,6 +85,8 @@ Global
|
||||||
{1ADF4F27-7610-4501-A62E-1157273AED7E}.Release|iPhone.Build.0 = Release|iPhone
|
{1ADF4F27-7610-4501-A62E-1157273AED7E}.Release|iPhone.Build.0 = Release|iPhone
|
||||||
{1ADF4F27-7610-4501-A62E-1157273AED7E}.Release|iPhoneSimulator.ActiveCfg = Release|iPhoneSimulator
|
{1ADF4F27-7610-4501-A62E-1157273AED7E}.Release|iPhoneSimulator.ActiveCfg = Release|iPhoneSimulator
|
||||||
{1ADF4F27-7610-4501-A62E-1157273AED7E}.Release|iPhoneSimulator.Build.0 = Release|iPhoneSimulator
|
{1ADF4F27-7610-4501-A62E-1157273AED7E}.Release|iPhoneSimulator.Build.0 = Release|iPhoneSimulator
|
||||||
|
{1ADF4F27-7610-4501-A62E-1157273AED7E}.DebugStaticRegistrar|iPhone.ActiveCfg = Debug|iPhone
|
||||||
|
{1ADF4F27-7610-4501-A62E-1157273AED7E}.DebugStaticRegistrar|iPhone.Build.0 = Debug|iPhone
|
||||||
{208744BD-504E-47D7-9A98-1CF02454A6DA}.Debug|Any CPU.ActiveCfg = Debug|iPhoneSimulator
|
{208744BD-504E-47D7-9A98-1CF02454A6DA}.Debug|Any CPU.ActiveCfg = Debug|iPhoneSimulator
|
||||||
{208744BD-504E-47D7-9A98-1CF02454A6DA}.Debug|iPhone.ActiveCfg = Debug|iPhone
|
{208744BD-504E-47D7-9A98-1CF02454A6DA}.Debug|iPhone.ActiveCfg = Debug|iPhone
|
||||||
{208744BD-504E-47D7-9A98-1CF02454A6DA}.Debug|iPhone.Build.0 = Debug|iPhone
|
{208744BD-504E-47D7-9A98-1CF02454A6DA}.Debug|iPhone.Build.0 = Debug|iPhone
|
||||||
|
@ -92,6 +97,8 @@ Global
|
||||||
{208744BD-504E-47D7-9A98-1CF02454A6DA}.Release|iPhoneSimulator.ActiveCfg = Release|iPhoneSimulator
|
{208744BD-504E-47D7-9A98-1CF02454A6DA}.Release|iPhoneSimulator.ActiveCfg = Release|iPhoneSimulator
|
||||||
{208744BD-504E-47D7-9A98-1CF02454A6DA}.Release|iPhoneSimulator.Build.0 = Release|iPhoneSimulator
|
{208744BD-504E-47D7-9A98-1CF02454A6DA}.Release|iPhoneSimulator.Build.0 = Release|iPhoneSimulator
|
||||||
{208744BD-504E-47D7-9A98-1CF02454A6DA}.Debug|Any CPU.Build.0 = Debug|iPhoneSimulator
|
{208744BD-504E-47D7-9A98-1CF02454A6DA}.Debug|Any CPU.Build.0 = Debug|iPhoneSimulator
|
||||||
|
{208744BD-504E-47D7-9A98-1CF02454A6DA}.DebugStaticRegistrar|iPhone.ActiveCfg = DebugStaticRegistrar|iPhone
|
||||||
|
{208744BD-504E-47D7-9A98-1CF02454A6DA}.DebugStaticRegistrar|iPhone.Build.0 = DebugStaticRegistrar|iPhone
|
||||||
{2CF294C6-91F1-407B-8A0C-AFACC7C1BDE8}.Debug|Any CPU.ActiveCfg = Debug|iPhoneSimulator
|
{2CF294C6-91F1-407B-8A0C-AFACC7C1BDE8}.Debug|Any CPU.ActiveCfg = Debug|iPhoneSimulator
|
||||||
{2CF294C6-91F1-407B-8A0C-AFACC7C1BDE8}.Debug|Any CPU.Build.0 = Debug|iPhoneSimulator
|
{2CF294C6-91F1-407B-8A0C-AFACC7C1BDE8}.Debug|Any CPU.Build.0 = Debug|iPhoneSimulator
|
||||||
{2CF294C6-91F1-407B-8A0C-AFACC7C1BDE8}.Debug|iPhone.ActiveCfg = Debug|iPhone
|
{2CF294C6-91F1-407B-8A0C-AFACC7C1BDE8}.Debug|iPhone.ActiveCfg = Debug|iPhone
|
||||||
|
@ -102,6 +109,8 @@ Global
|
||||||
{2CF294C6-91F1-407B-8A0C-AFACC7C1BDE8}.Release|iPhone.Build.0 = Release|iPhone
|
{2CF294C6-91F1-407B-8A0C-AFACC7C1BDE8}.Release|iPhone.Build.0 = Release|iPhone
|
||||||
{2CF294C6-91F1-407B-8A0C-AFACC7C1BDE8}.Release|iPhoneSimulator.ActiveCfg = Release|iPhoneSimulator
|
{2CF294C6-91F1-407B-8A0C-AFACC7C1BDE8}.Release|iPhoneSimulator.ActiveCfg = Release|iPhoneSimulator
|
||||||
{2CF294C6-91F1-407B-8A0C-AFACC7C1BDE8}.Release|iPhoneSimulator.Build.0 = Release|iPhoneSimulator
|
{2CF294C6-91F1-407B-8A0C-AFACC7C1BDE8}.Release|iPhoneSimulator.Build.0 = Release|iPhoneSimulator
|
||||||
|
{2CF294C6-91F1-407B-8A0C-AFACC7C1BDE8}.DebugStaticRegistrar|iPhone.ActiveCfg = Debug|iPhone
|
||||||
|
{2CF294C6-91F1-407B-8A0C-AFACC7C1BDE8}.DebugStaticRegistrar|iPhone.Build.0 = Debug|iPhone
|
||||||
{2ECCE3D0-AAD1-46B9-B190-B567249DCF9C}.Debug|Any CPU.ActiveCfg = Debug|iPhoneSimulator
|
{2ECCE3D0-AAD1-46B9-B190-B567249DCF9C}.Debug|Any CPU.ActiveCfg = Debug|iPhoneSimulator
|
||||||
{2ECCE3D0-AAD1-46B9-B190-B567249DCF9C}.Debug|Any CPU.Build.0 = Debug|iPhoneSimulator
|
{2ECCE3D0-AAD1-46B9-B190-B567249DCF9C}.Debug|Any CPU.Build.0 = Debug|iPhoneSimulator
|
||||||
{2ECCE3D0-AAD1-46B9-B190-B567249DCF9C}.Debug|iPhone.ActiveCfg = Debug|iPhone
|
{2ECCE3D0-AAD1-46B9-B190-B567249DCF9C}.Debug|iPhone.ActiveCfg = Debug|iPhone
|
||||||
|
@ -112,6 +121,8 @@ Global
|
||||||
{2ECCE3D0-AAD1-46B9-B190-B567249DCF9C}.Release|iPhone.Build.0 = Release|iPhone
|
{2ECCE3D0-AAD1-46B9-B190-B567249DCF9C}.Release|iPhone.Build.0 = Release|iPhone
|
||||||
{2ECCE3D0-AAD1-46B9-B190-B567249DCF9C}.Release|iPhoneSimulator.ActiveCfg = Release|iPhoneSimulator
|
{2ECCE3D0-AAD1-46B9-B190-B567249DCF9C}.Release|iPhoneSimulator.ActiveCfg = Release|iPhoneSimulator
|
||||||
{2ECCE3D0-AAD1-46B9-B190-B567249DCF9C}.Release|iPhoneSimulator.Build.0 = Release|iPhoneSimulator
|
{2ECCE3D0-AAD1-46B9-B190-B567249DCF9C}.Release|iPhoneSimulator.Build.0 = Release|iPhoneSimulator
|
||||||
|
{2ECCE3D0-AAD1-46B9-B190-B567249DCF9C}.DebugStaticRegistrar|iPhone.ActiveCfg = Release|iPhone
|
||||||
|
{2ECCE3D0-AAD1-46B9-B190-B567249DCF9C}.DebugStaticRegistrar|iPhone.Build.0 = Release|iPhone
|
||||||
{34CB1751-E445-4E32-BFA7-03E6831C11EE}.Debug|Any CPU.ActiveCfg = Debug|iPhoneSimulator
|
{34CB1751-E445-4E32-BFA7-03E6831C11EE}.Debug|Any CPU.ActiveCfg = Debug|iPhoneSimulator
|
||||||
{34CB1751-E445-4E32-BFA7-03E6831C11EE}.Debug|Any CPU.Build.0 = Debug|iPhoneSimulator
|
{34CB1751-E445-4E32-BFA7-03E6831C11EE}.Debug|Any CPU.Build.0 = Debug|iPhoneSimulator
|
||||||
{34CB1751-E445-4E32-BFA7-03E6831C11EE}.Debug|iPhone.ActiveCfg = Debug|iPhone
|
{34CB1751-E445-4E32-BFA7-03E6831C11EE}.Debug|iPhone.ActiveCfg = Debug|iPhone
|
||||||
|
@ -122,6 +133,8 @@ Global
|
||||||
{34CB1751-E445-4E32-BFA7-03E6831C11EE}.Release|iPhone.Build.0 = Release|iPhone
|
{34CB1751-E445-4E32-BFA7-03E6831C11EE}.Release|iPhone.Build.0 = Release|iPhone
|
||||||
{34CB1751-E445-4E32-BFA7-03E6831C11EE}.Release|iPhoneSimulator.ActiveCfg = Release|iPhoneSimulator
|
{34CB1751-E445-4E32-BFA7-03E6831C11EE}.Release|iPhoneSimulator.ActiveCfg = Release|iPhoneSimulator
|
||||||
{34CB1751-E445-4E32-BFA7-03E6831C11EE}.Release|iPhoneSimulator.Build.0 = Release|iPhoneSimulator
|
{34CB1751-E445-4E32-BFA7-03E6831C11EE}.Release|iPhoneSimulator.Build.0 = Release|iPhoneSimulator
|
||||||
|
{34CB1751-E445-4E32-BFA7-03E6831C11EE}.DebugStaticRegistrar|iPhone.ActiveCfg = Debug|iPhone
|
||||||
|
{34CB1751-E445-4E32-BFA7-03E6831C11EE}.DebugStaticRegistrar|iPhone.Build.0 = Debug|iPhone
|
||||||
{370CC763-EDC3-41DA-A21A-D4C82CABEFE4}.Debug|Any CPU.ActiveCfg = Debug|iPhoneSimulator
|
{370CC763-EDC3-41DA-A21A-D4C82CABEFE4}.Debug|Any CPU.ActiveCfg = Debug|iPhoneSimulator
|
||||||
{370CC763-EDC3-41DA-A21A-D4C82CABEFE4}.Debug|Any CPU.Build.0 = Debug|iPhoneSimulator
|
{370CC763-EDC3-41DA-A21A-D4C82CABEFE4}.Debug|Any CPU.Build.0 = Debug|iPhoneSimulator
|
||||||
{370CC763-EDC3-41DA-A21A-D4C82CABEFE4}.Debug|iPhone.ActiveCfg = Debug|iPhone
|
{370CC763-EDC3-41DA-A21A-D4C82CABEFE4}.Debug|iPhone.ActiveCfg = Debug|iPhone
|
||||||
|
@ -132,6 +145,8 @@ Global
|
||||||
{370CC763-EDC3-41DA-A21A-D4C82CABEFE4}.Release|iPhone.Build.0 = Release|iPhone
|
{370CC763-EDC3-41DA-A21A-D4C82CABEFE4}.Release|iPhone.Build.0 = Release|iPhone
|
||||||
{370CC763-EDC3-41DA-A21A-D4C82CABEFE4}.Release|iPhoneSimulator.ActiveCfg = Release|iPhoneSimulator
|
{370CC763-EDC3-41DA-A21A-D4C82CABEFE4}.Release|iPhoneSimulator.ActiveCfg = Release|iPhoneSimulator
|
||||||
{370CC763-EDC3-41DA-A21A-D4C82CABEFE4}.Release|iPhoneSimulator.Build.0 = Release|iPhoneSimulator
|
{370CC763-EDC3-41DA-A21A-D4C82CABEFE4}.Release|iPhoneSimulator.Build.0 = Release|iPhoneSimulator
|
||||||
|
{370CC763-EDC3-41DA-A21A-D4C82CABEFE4}.DebugStaticRegistrar|iPhone.ActiveCfg = Debug|iPhone
|
||||||
|
{370CC763-EDC3-41DA-A21A-D4C82CABEFE4}.DebugStaticRegistrar|iPhone.Build.0 = Debug|iPhone
|
||||||
{3DF294C6-91F1-407B-8A0C-AFACC7C1BDE8}.Debug|Any CPU.ActiveCfg = Debug|iPhoneSimulator
|
{3DF294C6-91F1-407B-8A0C-AFACC7C1BDE8}.Debug|Any CPU.ActiveCfg = Debug|iPhoneSimulator
|
||||||
{3DF294C6-91F1-407B-8A0C-AFACC7C1BDE8}.Debug|Any CPU.Build.0 = Debug|iPhoneSimulator
|
{3DF294C6-91F1-407B-8A0C-AFACC7C1BDE8}.Debug|Any CPU.Build.0 = Debug|iPhoneSimulator
|
||||||
{3DF294C6-91F1-407B-8A0C-AFACC7C1BDE8}.Debug|iPhone.ActiveCfg = Debug|iPhone
|
{3DF294C6-91F1-407B-8A0C-AFACC7C1BDE8}.Debug|iPhone.ActiveCfg = Debug|iPhone
|
||||||
|
@ -142,6 +157,8 @@ Global
|
||||||
{3DF294C6-91F1-407B-8A0C-AFACC7C1BDE8}.Release|iPhone.Build.0 = Release|iPhone
|
{3DF294C6-91F1-407B-8A0C-AFACC7C1BDE8}.Release|iPhone.Build.0 = Release|iPhone
|
||||||
{3DF294C6-91F1-407B-8A0C-AFACC7C1BDE8}.Release|iPhoneSimulator.ActiveCfg = Release|iPhoneSimulator
|
{3DF294C6-91F1-407B-8A0C-AFACC7C1BDE8}.Release|iPhoneSimulator.ActiveCfg = Release|iPhoneSimulator
|
||||||
{3DF294C6-91F1-407B-8A0C-AFACC7C1BDE8}.Release|iPhoneSimulator.Build.0 = Release|iPhoneSimulator
|
{3DF294C6-91F1-407B-8A0C-AFACC7C1BDE8}.Release|iPhoneSimulator.Build.0 = Release|iPhoneSimulator
|
||||||
|
{3DF294C6-91F1-407B-8A0C-AFACC7C1BDE8}.DebugStaticRegistrar|iPhone.ActiveCfg = Debug|iPhone
|
||||||
|
{3DF294C6-91F1-407B-8A0C-AFACC7C1BDE8}.DebugStaticRegistrar|iPhone.Build.0 = Debug|iPhone
|
||||||
{4EF294C6-91F1-407B-8A0C-AFACC7C1BDE8}.Debug|Any CPU.ActiveCfg = Debug|iPhoneSimulator
|
{4EF294C6-91F1-407B-8A0C-AFACC7C1BDE8}.Debug|Any CPU.ActiveCfg = Debug|iPhoneSimulator
|
||||||
{4EF294C6-91F1-407B-8A0C-AFACC7C1BDE8}.Debug|Any CPU.Build.0 = Debug|iPhoneSimulator
|
{4EF294C6-91F1-407B-8A0C-AFACC7C1BDE8}.Debug|Any CPU.Build.0 = Debug|iPhoneSimulator
|
||||||
{4EF294C6-91F1-407B-8A0C-AFACC7C1BDE8}.Debug|iPhone.ActiveCfg = Debug|iPhone
|
{4EF294C6-91F1-407B-8A0C-AFACC7C1BDE8}.Debug|iPhone.ActiveCfg = Debug|iPhone
|
||||||
|
@ -152,6 +169,8 @@ Global
|
||||||
{4EF294C6-91F1-407B-8A0C-AFACC7C1BDE8}.Release|iPhone.Build.0 = Release|iPhone
|
{4EF294C6-91F1-407B-8A0C-AFACC7C1BDE8}.Release|iPhone.Build.0 = Release|iPhone
|
||||||
{4EF294C6-91F1-407B-8A0C-AFACC7C1BDE8}.Release|iPhoneSimulator.ActiveCfg = Release|iPhoneSimulator
|
{4EF294C6-91F1-407B-8A0C-AFACC7C1BDE8}.Release|iPhoneSimulator.ActiveCfg = Release|iPhoneSimulator
|
||||||
{4EF294C6-91F1-407B-8A0C-AFACC7C1BDE8}.Release|iPhoneSimulator.Build.0 = Release|iPhoneSimulator
|
{4EF294C6-91F1-407B-8A0C-AFACC7C1BDE8}.Release|iPhoneSimulator.Build.0 = Release|iPhoneSimulator
|
||||||
|
{4EF294C6-91F1-407B-8A0C-AFACC7C1BDE8}.DebugStaticRegistrar|iPhone.ActiveCfg = Debug|iPhone
|
||||||
|
{4EF294C6-91F1-407B-8A0C-AFACC7C1BDE8}.DebugStaticRegistrar|iPhone.Build.0 = Debug|iPhone
|
||||||
{5023D584-1A32-4917-90C5-A641C800230C}.Debug|Any CPU.ActiveCfg = Debug|iPhoneSimulator
|
{5023D584-1A32-4917-90C5-A641C800230C}.Debug|Any CPU.ActiveCfg = Debug|iPhoneSimulator
|
||||||
{5023D584-1A32-4917-90C5-A641C800230C}.Debug|Any CPU.Build.0 = Debug|iPhoneSimulator
|
{5023D584-1A32-4917-90C5-A641C800230C}.Debug|Any CPU.Build.0 = Debug|iPhoneSimulator
|
||||||
{5023D584-1A32-4917-90C5-A641C800230C}.Debug|iPhone.ActiveCfg = Debug|iPhone
|
{5023D584-1A32-4917-90C5-A641C800230C}.Debug|iPhone.ActiveCfg = Debug|iPhone
|
||||||
|
@ -162,6 +181,8 @@ Global
|
||||||
{5023D584-1A32-4917-90C5-A641C800230C}.Release|iPhone.Build.0 = Release|iPhone
|
{5023D584-1A32-4917-90C5-A641C800230C}.Release|iPhone.Build.0 = Release|iPhone
|
||||||
{5023D584-1A32-4917-90C5-A641C800230C}.Release|iPhoneSimulator.ActiveCfg = Release|iPhoneSimulator
|
{5023D584-1A32-4917-90C5-A641C800230C}.Release|iPhoneSimulator.ActiveCfg = Release|iPhoneSimulator
|
||||||
{5023D584-1A32-4917-90C5-A641C800230C}.Release|iPhoneSimulator.Build.0 = Release|iPhoneSimulator
|
{5023D584-1A32-4917-90C5-A641C800230C}.Release|iPhoneSimulator.Build.0 = Release|iPhoneSimulator
|
||||||
|
{5023D584-1A32-4917-90C5-A641C800230C}.DebugStaticRegistrar|iPhone.ActiveCfg = Debug|iPhone
|
||||||
|
{5023D584-1A32-4917-90C5-A641C800230C}.DebugStaticRegistrar|iPhone.Build.0 = Debug|iPhone
|
||||||
{5BDBB8B4-5D6B-43E8-9664-C4D5CA3C9B11}.Debug|Any CPU.ActiveCfg = Debug|iPhoneSimulator
|
{5BDBB8B4-5D6B-43E8-9664-C4D5CA3C9B11}.Debug|Any CPU.ActiveCfg = Debug|iPhoneSimulator
|
||||||
{5BDBB8B4-5D6B-43E8-9664-C4D5CA3C9B11}.Debug|Any CPU.Build.0 = Debug|iPhoneSimulator
|
{5BDBB8B4-5D6B-43E8-9664-C4D5CA3C9B11}.Debug|Any CPU.Build.0 = Debug|iPhoneSimulator
|
||||||
{5BDBB8B4-5D6B-43E8-9664-C4D5CA3C9B11}.Debug|iPhone.ActiveCfg = Debug|iPhone
|
{5BDBB8B4-5D6B-43E8-9664-C4D5CA3C9B11}.Debug|iPhone.ActiveCfg = Debug|iPhone
|
||||||
|
@ -172,6 +193,8 @@ Global
|
||||||
{5BDBB8B4-5D6B-43E8-9664-C4D5CA3C9B11}.Release|iPhone.Build.0 = Release|iPhone
|
{5BDBB8B4-5D6B-43E8-9664-C4D5CA3C9B11}.Release|iPhone.Build.0 = Release|iPhone
|
||||||
{5BDBB8B4-5D6B-43E8-9664-C4D5CA3C9B11}.Release|iPhoneSimulator.ActiveCfg = Release|iPhoneSimulator
|
{5BDBB8B4-5D6B-43E8-9664-C4D5CA3C9B11}.Release|iPhoneSimulator.ActiveCfg = Release|iPhoneSimulator
|
||||||
{5BDBB8B4-5D6B-43E8-9664-C4D5CA3C9B11}.Release|iPhoneSimulator.Build.0 = Release|iPhoneSimulator
|
{5BDBB8B4-5D6B-43E8-9664-C4D5CA3C9B11}.Release|iPhoneSimulator.Build.0 = Release|iPhoneSimulator
|
||||||
|
{5BDBB8B4-5D6B-43E8-9664-C4D5CA3C9B11}.DebugStaticRegistrar|iPhone.ActiveCfg = Debug|iPhone
|
||||||
|
{5BDBB8B4-5D6B-43E8-9664-C4D5CA3C9B11}.DebugStaticRegistrar|iPhone.Build.0 = Debug|iPhone
|
||||||
{5FF294C6-91F1-407B-8A0C-AFACC7C1BDE8}.Debug|Any CPU.ActiveCfg = Debug|iPhoneSimulator
|
{5FF294C6-91F1-407B-8A0C-AFACC7C1BDE8}.Debug|Any CPU.ActiveCfg = Debug|iPhoneSimulator
|
||||||
{5FF294C6-91F1-407B-8A0C-AFACC7C1BDE8}.Debug|Any CPU.Build.0 = Debug|iPhoneSimulator
|
{5FF294C6-91F1-407B-8A0C-AFACC7C1BDE8}.Debug|Any CPU.Build.0 = Debug|iPhoneSimulator
|
||||||
{5FF294C6-91F1-407B-8A0C-AFACC7C1BDE8}.Debug|iPhone.ActiveCfg = Debug|iPhone
|
{5FF294C6-91F1-407B-8A0C-AFACC7C1BDE8}.Debug|iPhone.ActiveCfg = Debug|iPhone
|
||||||
|
@ -182,6 +205,8 @@ Global
|
||||||
{5FF294C6-91F1-407B-8A0C-AFACC7C1BDE8}.Release|iPhone.Build.0 = Release|iPhone
|
{5FF294C6-91F1-407B-8A0C-AFACC7C1BDE8}.Release|iPhone.Build.0 = Release|iPhone
|
||||||
{5FF294C6-91F1-407B-8A0C-AFACC7C1BDE8}.Release|iPhoneSimulator.ActiveCfg = Release|iPhoneSimulator
|
{5FF294C6-91F1-407B-8A0C-AFACC7C1BDE8}.Release|iPhoneSimulator.ActiveCfg = Release|iPhoneSimulator
|
||||||
{5FF294C6-91F1-407B-8A0C-AFACC7C1BDE8}.Release|iPhoneSimulator.Build.0 = Release|iPhoneSimulator
|
{5FF294C6-91F1-407B-8A0C-AFACC7C1BDE8}.Release|iPhoneSimulator.Build.0 = Release|iPhoneSimulator
|
||||||
|
{5FF294C6-91F1-407B-8A0C-AFACC7C1BDE8}.DebugStaticRegistrar|iPhone.ActiveCfg = Debug|iPhone
|
||||||
|
{5FF294C6-91F1-407B-8A0C-AFACC7C1BDE8}.DebugStaticRegistrar|iPhone.Build.0 = Debug|iPhone
|
||||||
{676F527D-3352-42EA-9DE2-181C45003568}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
{676F527D-3352-42EA-9DE2-181C45003568}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||||
{676F527D-3352-42EA-9DE2-181C45003568}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
{676F527D-3352-42EA-9DE2-181C45003568}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||||
{676F527D-3352-42EA-9DE2-181C45003568}.Debug|iPhone.ActiveCfg = Debug|Any CPU
|
{676F527D-3352-42EA-9DE2-181C45003568}.Debug|iPhone.ActiveCfg = Debug|Any CPU
|
||||||
|
@ -192,6 +217,8 @@ Global
|
||||||
{676F527D-3352-42EA-9DE2-181C45003568}.Release|iPhone.Build.0 = Release|Any CPU
|
{676F527D-3352-42EA-9DE2-181C45003568}.Release|iPhone.Build.0 = Release|Any CPU
|
||||||
{676F527D-3352-42EA-9DE2-181C45003568}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU
|
{676F527D-3352-42EA-9DE2-181C45003568}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU
|
||||||
{676F527D-3352-42EA-9DE2-181C45003568}.Release|iPhoneSimulator.Build.0 = Release|Any CPU
|
{676F527D-3352-42EA-9DE2-181C45003568}.Release|iPhoneSimulator.Build.0 = Release|Any CPU
|
||||||
|
{676F527D-3352-42EA-9DE2-181C45003568}.DebugStaticRegistrar|iPhone.ActiveCfg = Debug|Any CPU
|
||||||
|
{676F527D-3352-42EA-9DE2-181C45003568}.DebugStaticRegistrar|iPhone.Build.0 = Debug|Any CPU
|
||||||
{93268FFB-571C-4402-8899-027A7778D2C0}.Debug|Any CPU.ActiveCfg = Debug|iPhoneSimulator
|
{93268FFB-571C-4402-8899-027A7778D2C0}.Debug|Any CPU.ActiveCfg = Debug|iPhoneSimulator
|
||||||
{93268FFB-571C-4402-8899-027A7778D2C0}.Debug|Any CPU.Build.0 = Debug|iPhoneSimulator
|
{93268FFB-571C-4402-8899-027A7778D2C0}.Debug|Any CPU.Build.0 = Debug|iPhoneSimulator
|
||||||
{93268FFB-571C-4402-8899-027A7778D2C0}.Debug|iPhone.ActiveCfg = Debug|iPhone
|
{93268FFB-571C-4402-8899-027A7778D2C0}.Debug|iPhone.ActiveCfg = Debug|iPhone
|
||||||
|
@ -202,6 +229,8 @@ Global
|
||||||
{93268FFB-571C-4402-8899-027A7778D2C0}.Release|iPhone.Build.0 = Release|iPhone
|
{93268FFB-571C-4402-8899-027A7778D2C0}.Release|iPhone.Build.0 = Release|iPhone
|
||||||
{93268FFB-571C-4402-8899-027A7778D2C0}.Release|iPhoneSimulator.ActiveCfg = Release|iPhoneSimulator
|
{93268FFB-571C-4402-8899-027A7778D2C0}.Release|iPhoneSimulator.ActiveCfg = Release|iPhoneSimulator
|
||||||
{93268FFB-571C-4402-8899-027A7778D2C0}.Release|iPhoneSimulator.Build.0 = Release|iPhoneSimulator
|
{93268FFB-571C-4402-8899-027A7778D2C0}.Release|iPhoneSimulator.Build.0 = Release|iPhoneSimulator
|
||||||
|
{93268FFB-571C-4402-8899-027A7778D2C0}.DebugStaticRegistrar|iPhone.ActiveCfg = Debug|iPhone
|
||||||
|
{93268FFB-571C-4402-8899-027A7778D2C0}.DebugStaticRegistrar|iPhone.Build.0 = Debug|iPhone
|
||||||
{9A1177F5-16E6-45DE-AA69-DC9924EC39B8}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
{9A1177F5-16E6-45DE-AA69-DC9924EC39B8}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||||
{9A1177F5-16E6-45DE-AA69-DC9924EC39B8}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
{9A1177F5-16E6-45DE-AA69-DC9924EC39B8}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||||
{9A1177F5-16E6-45DE-AA69-DC9924EC39B8}.Debug|iPhone.ActiveCfg = Debug|Any CPU
|
{9A1177F5-16E6-45DE-AA69-DC9924EC39B8}.Debug|iPhone.ActiveCfg = Debug|Any CPU
|
||||||
|
@ -212,6 +241,8 @@ Global
|
||||||
{9A1177F5-16E6-45DE-AA69-DC9924EC39B8}.Release|iPhoneSimulator.Build.0 = Debug|Any CPU
|
{9A1177F5-16E6-45DE-AA69-DC9924EC39B8}.Release|iPhoneSimulator.Build.0 = Debug|Any CPU
|
||||||
{9A1177F5-16E6-45DE-AA69-DC9924EC39B8}.Debug|iPhone.Build.0 = Debug|Any CPU
|
{9A1177F5-16E6-45DE-AA69-DC9924EC39B8}.Debug|iPhone.Build.0 = Debug|Any CPU
|
||||||
{9A1177F5-16E6-45DE-AA69-DC9924EC39B8}.Release|iPhone.Build.0 = Debug|Any CPU
|
{9A1177F5-16E6-45DE-AA69-DC9924EC39B8}.Release|iPhone.Build.0 = Debug|Any CPU
|
||||||
|
{9A1177F5-16E6-45DE-AA69-DC9924EC39B8}.DebugStaticRegistrar|iPhone.ActiveCfg = Debug|Any CPU
|
||||||
|
{9A1177F5-16E6-45DE-AA69-DC9924EC39B8}.DebugStaticRegistrar|iPhone.Build.0 = Debug|Any CPU
|
||||||
{A12ED440-8270-4701-A35D-0C3C9E0AA735}.Debug|Any CPU.ActiveCfg = Debug|iPhoneSimulator
|
{A12ED440-8270-4701-A35D-0C3C9E0AA735}.Debug|Any CPU.ActiveCfg = Debug|iPhoneSimulator
|
||||||
{A12ED440-8270-4701-A35D-0C3C9E0AA735}.Debug|Any CPU.Build.0 = Debug|iPhoneSimulator
|
{A12ED440-8270-4701-A35D-0C3C9E0AA735}.Debug|Any CPU.Build.0 = Debug|iPhoneSimulator
|
||||||
{A12ED440-8270-4701-A35D-0C3C9E0AA735}.Debug|iPhone.ActiveCfg = Debug|iPhone
|
{A12ED440-8270-4701-A35D-0C3C9E0AA735}.Debug|iPhone.ActiveCfg = Debug|iPhone
|
||||||
|
@ -222,6 +253,8 @@ Global
|
||||||
{A12ED440-8270-4701-A35D-0C3C9E0AA735}.Release|iPhone.Build.0 = Release|iPhone
|
{A12ED440-8270-4701-A35D-0C3C9E0AA735}.Release|iPhone.Build.0 = Release|iPhone
|
||||||
{A12ED440-8270-4701-A35D-0C3C9E0AA735}.Release|iPhoneSimulator.ActiveCfg = Release|iPhoneSimulator
|
{A12ED440-8270-4701-A35D-0C3C9E0AA735}.Release|iPhoneSimulator.ActiveCfg = Release|iPhoneSimulator
|
||||||
{A12ED440-8270-4701-A35D-0C3C9E0AA735}.Release|iPhoneSimulator.Build.0 = Release|iPhoneSimulator
|
{A12ED440-8270-4701-A35D-0C3C9E0AA735}.Release|iPhoneSimulator.Build.0 = Release|iPhoneSimulator
|
||||||
|
{A12ED440-8270-4701-A35D-0C3C9E0AA735}.DebugStaticRegistrar|iPhone.ActiveCfg = Debug|iPhone
|
||||||
|
{A12ED440-8270-4701-A35D-0C3C9E0AA735}.DebugStaticRegistrar|iPhone.Build.0 = Debug|iPhone
|
||||||
{AC6D070F-2ED4-4701-B701-81915B931D1D}.Debug|Any CPU.ActiveCfg = Debug|iPhoneSimulator
|
{AC6D070F-2ED4-4701-B701-81915B931D1D}.Debug|Any CPU.ActiveCfg = Debug|iPhoneSimulator
|
||||||
{AC6D070F-2ED4-4701-B701-81915B931D1D}.Debug|iPhone.ActiveCfg = Debug|iPhone
|
{AC6D070F-2ED4-4701-B701-81915B931D1D}.Debug|iPhone.ActiveCfg = Debug|iPhone
|
||||||
{AC6D070F-2ED4-4701-B701-81915B931D1D}.Debug|iPhone.Build.0 = Debug|iPhone
|
{AC6D070F-2ED4-4701-B701-81915B931D1D}.Debug|iPhone.Build.0 = Debug|iPhone
|
||||||
|
@ -232,6 +265,8 @@ Global
|
||||||
{AC6D070F-2ED4-4701-B701-81915B931D1D}.Release|iPhoneSimulator.ActiveCfg = Release|iPhoneSimulator
|
{AC6D070F-2ED4-4701-B701-81915B931D1D}.Release|iPhoneSimulator.ActiveCfg = Release|iPhoneSimulator
|
||||||
{AC6D070F-2ED4-4701-B701-81915B931D1D}.Release|iPhoneSimulator.Build.0 = Release|iPhoneSimulator
|
{AC6D070F-2ED4-4701-B701-81915B931D1D}.Release|iPhoneSimulator.Build.0 = Release|iPhoneSimulator
|
||||||
{AC6D070F-2ED4-4701-B701-81915B931D1D}.Debug|Any CPU.Build.0 = Debug|iPhoneSimulator
|
{AC6D070F-2ED4-4701-B701-81915B931D1D}.Debug|Any CPU.Build.0 = Debug|iPhoneSimulator
|
||||||
|
{AC6D070F-2ED4-4701-B701-81915B931D1D}.DebugStaticRegistrar|iPhone.ActiveCfg = Debug|iPhone
|
||||||
|
{AC6D070F-2ED4-4701-B701-81915B931D1D}.DebugStaticRegistrar|iPhone.Build.0 = Debug|iPhone
|
||||||
{B86D100D-895B-4510-A5BB-E08F11E82C3C}.Debug|Any CPU.ActiveCfg = Debug|iPhoneSimulator
|
{B86D100D-895B-4510-A5BB-E08F11E82C3C}.Debug|Any CPU.ActiveCfg = Debug|iPhoneSimulator
|
||||||
{B86D100D-895B-4510-A5BB-E08F11E82C3C}.Debug|Any CPU.Build.0 = Debug|iPhoneSimulator
|
{B86D100D-895B-4510-A5BB-E08F11E82C3C}.Debug|Any CPU.Build.0 = Debug|iPhoneSimulator
|
||||||
{B86D100D-895B-4510-A5BB-E08F11E82C3C}.Debug|iPhone.ActiveCfg = Debug|iPhone
|
{B86D100D-895B-4510-A5BB-E08F11E82C3C}.Debug|iPhone.ActiveCfg = Debug|iPhone
|
||||||
|
@ -242,6 +277,8 @@ Global
|
||||||
{B86D100D-895B-4510-A5BB-E08F11E82C3C}.Release|iPhone.Build.0 = Release|iPhone
|
{B86D100D-895B-4510-A5BB-E08F11E82C3C}.Release|iPhone.Build.0 = Release|iPhone
|
||||||
{B86D100D-895B-4510-A5BB-E08F11E82C3C}.Release|iPhoneSimulator.ActiveCfg = Release|iPhoneSimulator
|
{B86D100D-895B-4510-A5BB-E08F11E82C3C}.Release|iPhoneSimulator.ActiveCfg = Release|iPhoneSimulator
|
||||||
{B86D100D-895B-4510-A5BB-E08F11E82C3C}.Release|iPhoneSimulator.Build.0 = Release|iPhoneSimulator
|
{B86D100D-895B-4510-A5BB-E08F11E82C3C}.Release|iPhoneSimulator.Build.0 = Release|iPhoneSimulator
|
||||||
|
{B86D100D-895B-4510-A5BB-E08F11E82C3C}.DebugStaticRegistrar|iPhone.ActiveCfg = Debug|iPhone
|
||||||
|
{B86D100D-895B-4510-A5BB-E08F11E82C3C}.DebugStaticRegistrar|iPhone.Build.0 = Debug|iPhone
|
||||||
{BEF0140A-A6A6-4074-B55F-03856A6B5862}.Debug|Any CPU.ActiveCfg = Debug|iPhoneSimulator
|
{BEF0140A-A6A6-4074-B55F-03856A6B5862}.Debug|Any CPU.ActiveCfg = Debug|iPhoneSimulator
|
||||||
{BEF0140A-A6A6-4074-B55F-03856A6B5862}.Debug|Any CPU.Build.0 = Debug|iPhoneSimulator
|
{BEF0140A-A6A6-4074-B55F-03856A6B5862}.Debug|Any CPU.Build.0 = Debug|iPhoneSimulator
|
||||||
{BEF0140A-A6A6-4074-B55F-03856A6B5862}.Debug|iPhone.ActiveCfg = Debug|iPhone
|
{BEF0140A-A6A6-4074-B55F-03856A6B5862}.Debug|iPhone.ActiveCfg = Debug|iPhone
|
||||||
|
@ -252,6 +289,8 @@ Global
|
||||||
{BEF0140A-A6A6-4074-B55F-03856A6B5862}.Release|iPhone.Build.0 = Release|iPhone
|
{BEF0140A-A6A6-4074-B55F-03856A6B5862}.Release|iPhone.Build.0 = Release|iPhone
|
||||||
{BEF0140A-A6A6-4074-B55F-03856A6B5862}.Release|iPhoneSimulator.ActiveCfg = Release|iPhoneSimulator
|
{BEF0140A-A6A6-4074-B55F-03856A6B5862}.Release|iPhoneSimulator.ActiveCfg = Release|iPhoneSimulator
|
||||||
{BEF0140A-A6A6-4074-B55F-03856A6B5862}.Release|iPhoneSimulator.Build.0 = Release|iPhoneSimulator
|
{BEF0140A-A6A6-4074-B55F-03856A6B5862}.Release|iPhoneSimulator.Build.0 = Release|iPhoneSimulator
|
||||||
|
{BEF0140A-A6A6-4074-B55F-03856A6B5862}.DebugStaticRegistrar|iPhone.ActiveCfg = Debug|iPhone
|
||||||
|
{BEF0140A-A6A6-4074-B55F-03856A6B5862}.DebugStaticRegistrar|iPhone.Build.0 = Debug|iPhone
|
||||||
{C47F8F72-A7CA-4149-AA7D-BC4814803EF3}.Debug|Any CPU.ActiveCfg = Debug|iPhoneSimulator
|
{C47F8F72-A7CA-4149-AA7D-BC4814803EF3}.Debug|Any CPU.ActiveCfg = Debug|iPhoneSimulator
|
||||||
{C47F8F72-A7CA-4149-AA7D-BC4814803EF3}.Debug|iPhone.ActiveCfg = Debug|iPhone
|
{C47F8F72-A7CA-4149-AA7D-BC4814803EF3}.Debug|iPhone.ActiveCfg = Debug|iPhone
|
||||||
{C47F8F72-A7CA-4149-AA7D-BC4814803EF3}.Debug|iPhone.Build.0 = Debug|iPhone
|
{C47F8F72-A7CA-4149-AA7D-BC4814803EF3}.Debug|iPhone.Build.0 = Debug|iPhone
|
||||||
|
@ -262,6 +301,8 @@ Global
|
||||||
{C47F8F72-A7CA-4149-AA7D-BC4814803EF3}.Release|iPhoneSimulator.ActiveCfg = Release|iPhoneSimulator
|
{C47F8F72-A7CA-4149-AA7D-BC4814803EF3}.Release|iPhoneSimulator.ActiveCfg = Release|iPhoneSimulator
|
||||||
{C47F8F72-A7CA-4149-AA7D-BC4814803EF3}.Release|iPhoneSimulator.Build.0 = Release|iPhoneSimulator
|
{C47F8F72-A7CA-4149-AA7D-BC4814803EF3}.Release|iPhoneSimulator.Build.0 = Release|iPhoneSimulator
|
||||||
{C47F8F72-A7CA-4149-AA7D-BC4814803EF3}.Debug|Any CPU.Build.0 = Debug|iPhoneSimulator
|
{C47F8F72-A7CA-4149-AA7D-BC4814803EF3}.Debug|Any CPU.Build.0 = Debug|iPhoneSimulator
|
||||||
|
{C47F8F72-A7CA-4149-AA7D-BC4814803EF3}.DebugStaticRegistrar|iPhone.ActiveCfg = Debug|iPhone
|
||||||
|
{C47F8F72-A7CA-4149-AA7D-BC4814803EF3}.DebugStaticRegistrar|iPhone.Build.0 = Debug|iPhone
|
||||||
{D6667423-EDD8-4B50-9D98-1AC5D8A8A4EA}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
{D6667423-EDD8-4B50-9D98-1AC5D8A8A4EA}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||||
{D6667423-EDD8-4B50-9D98-1AC5D8A8A4EA}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
{D6667423-EDD8-4B50-9D98-1AC5D8A8A4EA}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||||
{D6667423-EDD8-4B50-9D98-1AC5D8A8A4EA}.Debug|iPhone.ActiveCfg = Debug|Any CPU
|
{D6667423-EDD8-4B50-9D98-1AC5D8A8A4EA}.Debug|iPhone.ActiveCfg = Debug|Any CPU
|
||||||
|
@ -272,6 +313,8 @@ Global
|
||||||
{D6667423-EDD8-4B50-9D98-1AC5D8A8A4EA}.Release|iPhone.Build.0 = Release|Any CPU
|
{D6667423-EDD8-4B50-9D98-1AC5D8A8A4EA}.Release|iPhone.Build.0 = Release|Any CPU
|
||||||
{D6667423-EDD8-4B50-9D98-1AC5D8A8A4EA}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU
|
{D6667423-EDD8-4B50-9D98-1AC5D8A8A4EA}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU
|
||||||
{D6667423-EDD8-4B50-9D98-1AC5D8A8A4EA}.Release|iPhoneSimulator.Build.0 = Release|Any CPU
|
{D6667423-EDD8-4B50-9D98-1AC5D8A8A4EA}.Release|iPhoneSimulator.Build.0 = Release|Any CPU
|
||||||
|
{D6667423-EDD8-4B50-9D98-1AC5D8A8A4EA}.DebugStaticRegistrar|iPhone.ActiveCfg = Debug|Any CPU
|
||||||
|
{D6667423-EDD8-4B50-9D98-1AC5D8A8A4EA}.DebugStaticRegistrar|iPhone.Build.0 = Debug|Any CPU
|
||||||
{D7212E3D-CD1B-4E58-A11D-C7B7898168AA}.Debug|Any CPU.ActiveCfg = Debug|iPhoneSimulator
|
{D7212E3D-CD1B-4E58-A11D-C7B7898168AA}.Debug|Any CPU.ActiveCfg = Debug|iPhoneSimulator
|
||||||
{D7212E3D-CD1B-4E58-A11D-C7B7898168AA}.Debug|Any CPU.Build.0 = Debug|iPhoneSimulator
|
{D7212E3D-CD1B-4E58-A11D-C7B7898168AA}.Debug|Any CPU.Build.0 = Debug|iPhoneSimulator
|
||||||
{D7212E3D-CD1B-4E58-A11D-C7B7898168AA}.Debug|iPhone.ActiveCfg = Debug|iPhone
|
{D7212E3D-CD1B-4E58-A11D-C7B7898168AA}.Debug|iPhone.ActiveCfg = Debug|iPhone
|
||||||
|
@ -282,6 +325,8 @@ Global
|
||||||
{D7212E3D-CD1B-4E58-A11D-C7B7898168AA}.Release|iPhone.Build.0 = Release|iPhone
|
{D7212E3D-CD1B-4E58-A11D-C7B7898168AA}.Release|iPhone.Build.0 = Release|iPhone
|
||||||
{D7212E3D-CD1B-4E58-A11D-C7B7898168AA}.Release|iPhoneSimulator.ActiveCfg = Release|iPhoneSimulator
|
{D7212E3D-CD1B-4E58-A11D-C7B7898168AA}.Release|iPhoneSimulator.ActiveCfg = Release|iPhoneSimulator
|
||||||
{D7212E3D-CD1B-4E58-A11D-C7B7898168AA}.Release|iPhoneSimulator.Build.0 = Release|iPhoneSimulator
|
{D7212E3D-CD1B-4E58-A11D-C7B7898168AA}.Release|iPhoneSimulator.Build.0 = Release|iPhoneSimulator
|
||||||
|
{D7212E3D-CD1B-4E58-A11D-C7B7898168AA}.DebugStaticRegistrar|iPhone.ActiveCfg = Debug|iPhone
|
||||||
|
{D7212E3D-CD1B-4E58-A11D-C7B7898168AA}.DebugStaticRegistrar|iPhone.Build.0 = Debug|iPhone
|
||||||
{DA061019-04C3-4221-AF04-63F2BFB5DA42}.Debug|Any CPU.ActiveCfg = Debug|iPhoneSimulator
|
{DA061019-04C3-4221-AF04-63F2BFB5DA42}.Debug|Any CPU.ActiveCfg = Debug|iPhoneSimulator
|
||||||
{DA061019-04C3-4221-AF04-63F2BFB5DA42}.Debug|Any CPU.Build.0 = Debug|iPhoneSimulator
|
{DA061019-04C3-4221-AF04-63F2BFB5DA42}.Debug|Any CPU.Build.0 = Debug|iPhoneSimulator
|
||||||
{DA061019-04C3-4221-AF04-63F2BFB5DA42}.Debug|iPhone.ActiveCfg = Debug|iPhone
|
{DA061019-04C3-4221-AF04-63F2BFB5DA42}.Debug|iPhone.ActiveCfg = Debug|iPhone
|
||||||
|
@ -292,6 +337,8 @@ Global
|
||||||
{DA061019-04C3-4221-AF04-63F2BFB5DA42}.Release|iPhone.Build.0 = Release|iPhone
|
{DA061019-04C3-4221-AF04-63F2BFB5DA42}.Release|iPhone.Build.0 = Release|iPhone
|
||||||
{DA061019-04C3-4221-AF04-63F2BFB5DA42}.Release|iPhoneSimulator.ActiveCfg = Release|iPhoneSimulator
|
{DA061019-04C3-4221-AF04-63F2BFB5DA42}.Release|iPhoneSimulator.ActiveCfg = Release|iPhoneSimulator
|
||||||
{DA061019-04C3-4221-AF04-63F2BFB5DA42}.Release|iPhoneSimulator.Build.0 = Release|iPhoneSimulator
|
{DA061019-04C3-4221-AF04-63F2BFB5DA42}.Release|iPhoneSimulator.Build.0 = Release|iPhoneSimulator
|
||||||
|
{DA061019-04C3-4221-AF04-63F2BFB5DA42}.DebugStaticRegistrar|iPhone.ActiveCfg = Debug|iPhone
|
||||||
|
{DA061019-04C3-4221-AF04-63F2BFB5DA42}.DebugStaticRegistrar|iPhone.Build.0 = Debug|iPhone
|
||||||
{DB354193-B05D-471B-BEB8-F6C74DA4C93A}.Debug|Any CPU.ActiveCfg = Debug|iPhoneSimulator
|
{DB354193-B05D-471B-BEB8-F6C74DA4C93A}.Debug|Any CPU.ActiveCfg = Debug|iPhoneSimulator
|
||||||
{DB354193-B05D-471B-BEB8-F6C74DA4C93A}.Debug|Any CPU.Build.0 = Debug|iPhoneSimulator
|
{DB354193-B05D-471B-BEB8-F6C74DA4C93A}.Debug|Any CPU.Build.0 = Debug|iPhoneSimulator
|
||||||
{DB354193-B05D-471B-BEB8-F6C74DA4C93A}.Debug|iPhone.ActiveCfg = Debug|iPhone
|
{DB354193-B05D-471B-BEB8-F6C74DA4C93A}.Debug|iPhone.ActiveCfg = Debug|iPhone
|
||||||
|
@ -302,6 +349,8 @@ Global
|
||||||
{DB354193-B05D-471B-BEB8-F6C74DA4C93A}.Release|iPhone.Build.0 = Release|iPhone
|
{DB354193-B05D-471B-BEB8-F6C74DA4C93A}.Release|iPhone.Build.0 = Release|iPhone
|
||||||
{DB354193-B05D-471B-BEB8-F6C74DA4C93A}.Release|iPhoneSimulator.ActiveCfg = Release|iPhoneSimulator
|
{DB354193-B05D-471B-BEB8-F6C74DA4C93A}.Release|iPhoneSimulator.ActiveCfg = Release|iPhoneSimulator
|
||||||
{DB354193-B05D-471B-BEB8-F6C74DA4C93A}.Release|iPhoneSimulator.Build.0 = Release|iPhoneSimulator
|
{DB354193-B05D-471B-BEB8-F6C74DA4C93A}.Release|iPhoneSimulator.Build.0 = Release|iPhoneSimulator
|
||||||
|
{DB354193-B05D-471B-BEB8-F6C74DA4C93A}.DebugStaticRegistrar|iPhone.ActiveCfg = Debug|iPhone
|
||||||
|
{DB354193-B05D-471B-BEB8-F6C74DA4C93A}.DebugStaticRegistrar|iPhone.Build.0 = Debug|iPhone
|
||||||
{E1F334C3-8F77-46C9-A28B-A8E9BAEA9FE5}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
{E1F334C3-8F77-46C9-A28B-A8E9BAEA9FE5}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||||
{E1F334C3-8F77-46C9-A28B-A8E9BAEA9FE5}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
{E1F334C3-8F77-46C9-A28B-A8E9BAEA9FE5}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||||
{E1F334C3-8F77-46C9-A28B-A8E9BAEA9FE5}.Debug|iPhone.ActiveCfg = Debug|Any CPU
|
{E1F334C3-8F77-46C9-A28B-A8E9BAEA9FE5}.Debug|iPhone.ActiveCfg = Debug|Any CPU
|
||||||
|
@ -312,6 +361,8 @@ Global
|
||||||
{E1F334C3-8F77-46C9-A28B-A8E9BAEA9FE5}.Release|iPhone.Build.0 = Release|Any CPU
|
{E1F334C3-8F77-46C9-A28B-A8E9BAEA9FE5}.Release|iPhone.Build.0 = Release|Any CPU
|
||||||
{E1F334C3-8F77-46C9-A28B-A8E9BAEA9FE5}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU
|
{E1F334C3-8F77-46C9-A28B-A8E9BAEA9FE5}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU
|
||||||
{E1F334C3-8F77-46C9-A28B-A8E9BAEA9FE5}.Release|iPhoneSimulator.Build.0 = Release|Any CPU
|
{E1F334C3-8F77-46C9-A28B-A8E9BAEA9FE5}.Release|iPhoneSimulator.Build.0 = Release|Any CPU
|
||||||
|
{E1F334C3-8F77-46C9-A28B-A8E9BAEA9FE5}.DebugStaticRegistrar|iPhone.ActiveCfg = Debug|Any CPU
|
||||||
|
{E1F334C3-8F77-46C9-A28B-A8E9BAEA9FE5}.DebugStaticRegistrar|iPhone.Build.0 = Debug|Any CPU
|
||||||
{E1F53F80-8399-499B-8017-C414B9CD263B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
{E1F53F80-8399-499B-8017-C414B9CD263B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||||
{E1F53F80-8399-499B-8017-C414B9CD263B}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
{E1F53F80-8399-499B-8017-C414B9CD263B}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||||
{E1F53F80-8399-499B-8017-C414B9CD263B}.Debug|iPhone.ActiveCfg = Debug|Any CPU
|
{E1F53F80-8399-499B-8017-C414B9CD263B}.Debug|iPhone.ActiveCfg = Debug|Any CPU
|
||||||
|
@ -322,6 +373,8 @@ Global
|
||||||
{E1F53F80-8399-499B-8017-C414B9CD263B}.Release|iPhone.Build.0 = Release|Any CPU
|
{E1F53F80-8399-499B-8017-C414B9CD263B}.Release|iPhone.Build.0 = Release|Any CPU
|
||||||
{E1F53F80-8399-499B-8017-C414B9CD263B}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU
|
{E1F53F80-8399-499B-8017-C414B9CD263B}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU
|
||||||
{E1F53F80-8399-499B-8017-C414B9CD263B}.Release|iPhoneSimulator.Build.0 = Release|Any CPU
|
{E1F53F80-8399-499B-8017-C414B9CD263B}.Release|iPhoneSimulator.Build.0 = Release|Any CPU
|
||||||
|
{E1F53F80-8399-499B-8017-C414B9CD263B}.DebugStaticRegistrar|iPhone.ActiveCfg = Debug|Any CPU
|
||||||
|
{E1F53F80-8399-499B-8017-C414B9CD263B}.DebugStaticRegistrar|iPhone.Build.0 = Debug|Any CPU
|
||||||
{E40B0B77-3467-4891-9117-7AF8F248E306}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
{E40B0B77-3467-4891-9117-7AF8F248E306}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||||
{E40B0B77-3467-4891-9117-7AF8F248E306}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
{E40B0B77-3467-4891-9117-7AF8F248E306}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||||
{E40B0B77-3467-4891-9117-7AF8F248E306}.Debug|iPhone.ActiveCfg = Debug|Any CPU
|
{E40B0B77-3467-4891-9117-7AF8F248E306}.Debug|iPhone.ActiveCfg = Debug|Any CPU
|
||||||
|
@ -332,6 +385,8 @@ Global
|
||||||
{E40B0B77-3467-4891-9117-7AF8F248E306}.Release|iPhone.Build.0 = Release|Any CPU
|
{E40B0B77-3467-4891-9117-7AF8F248E306}.Release|iPhone.Build.0 = Release|Any CPU
|
||||||
{E40B0B77-3467-4891-9117-7AF8F248E306}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU
|
{E40B0B77-3467-4891-9117-7AF8F248E306}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU
|
||||||
{E40B0B77-3467-4891-9117-7AF8F248E306}.Release|iPhoneSimulator.Build.0 = Release|Any CPU
|
{E40B0B77-3467-4891-9117-7AF8F248E306}.Release|iPhoneSimulator.Build.0 = Release|Any CPU
|
||||||
|
{E40B0B77-3467-4891-9117-7AF8F248E306}.DebugStaticRegistrar|iPhone.ActiveCfg = Debug|Any CPU
|
||||||
|
{E40B0B77-3467-4891-9117-7AF8F248E306}.DebugStaticRegistrar|iPhone.Build.0 = Debug|Any CPU
|
||||||
{EEE20F63-4282-450A-8584-93F640929D13}.Debug|Any CPU.ActiveCfg = Debug|iPhoneSimulator
|
{EEE20F63-4282-450A-8584-93F640929D13}.Debug|Any CPU.ActiveCfg = Debug|iPhoneSimulator
|
||||||
{EEE20F63-4282-450A-8584-93F640929D13}.Debug|Any CPU.Build.0 = Debug|iPhoneSimulator
|
{EEE20F63-4282-450A-8584-93F640929D13}.Debug|Any CPU.Build.0 = Debug|iPhoneSimulator
|
||||||
{EEE20F63-4282-450A-8584-93F640929D13}.Debug|iPhone.ActiveCfg = Debug|iPhone
|
{EEE20F63-4282-450A-8584-93F640929D13}.Debug|iPhone.ActiveCfg = Debug|iPhone
|
||||||
|
@ -342,6 +397,8 @@ Global
|
||||||
{EEE20F63-4282-450A-8584-93F640929D13}.Release|iPhone.Build.0 = Release|iPhone
|
{EEE20F63-4282-450A-8584-93F640929D13}.Release|iPhone.Build.0 = Release|iPhone
|
||||||
{EEE20F63-4282-450A-8584-93F640929D13}.Release|iPhoneSimulator.ActiveCfg = Release|iPhoneSimulator
|
{EEE20F63-4282-450A-8584-93F640929D13}.Release|iPhoneSimulator.ActiveCfg = Release|iPhoneSimulator
|
||||||
{EEE20F63-4282-450A-8584-93F640929D13}.Release|iPhoneSimulator.Build.0 = Release|iPhoneSimulator
|
{EEE20F63-4282-450A-8584-93F640929D13}.Release|iPhoneSimulator.Build.0 = Release|iPhoneSimulator
|
||||||
|
{EEE20F63-4282-450A-8584-93F640929D13}.DebugStaticRegistrar|iPhone.ActiveCfg = Debug|iPhone
|
||||||
|
{EEE20F63-4282-450A-8584-93F640929D13}.DebugStaticRegistrar|iPhone.Build.0 = Debug|iPhone
|
||||||
{FBC970AA-8234-4905-B559-BD3F32A63C04}.Debug|Any CPU.ActiveCfg = Debug|iPhoneSimulator
|
{FBC970AA-8234-4905-B559-BD3F32A63C04}.Debug|Any CPU.ActiveCfg = Debug|iPhoneSimulator
|
||||||
{FBC970AA-8234-4905-B559-BD3F32A63C04}.Debug|Any CPU.Build.0 = Debug|iPhoneSimulator
|
{FBC970AA-8234-4905-B559-BD3F32A63C04}.Debug|Any CPU.Build.0 = Debug|iPhoneSimulator
|
||||||
{FBC970AA-8234-4905-B559-BD3F32A63C04}.Debug|iPhone.ActiveCfg = Debug|iPhone
|
{FBC970AA-8234-4905-B559-BD3F32A63C04}.Debug|iPhone.ActiveCfg = Debug|iPhone
|
||||||
|
@ -352,6 +409,8 @@ Global
|
||||||
{FBC970AA-8234-4905-B559-BD3F32A63C04}.Release|iPhone.Build.0 = Release|iPhone
|
{FBC970AA-8234-4905-B559-BD3F32A63C04}.Release|iPhone.Build.0 = Release|iPhone
|
||||||
{FBC970AA-8234-4905-B559-BD3F32A63C04}.Release|iPhoneSimulator.ActiveCfg = Release|iPhoneSimulator
|
{FBC970AA-8234-4905-B559-BD3F32A63C04}.Release|iPhoneSimulator.ActiveCfg = Release|iPhoneSimulator
|
||||||
{FBC970AA-8234-4905-B559-BD3F32A63C04}.Release|iPhoneSimulator.Build.0 = Release|iPhoneSimulator
|
{FBC970AA-8234-4905-B559-BD3F32A63C04}.Release|iPhoneSimulator.Build.0 = Release|iPhoneSimulator
|
||||||
|
{FBC970AA-8234-4905-B559-BD3F32A63C04}.DebugStaticRegistrar|iPhone.ActiveCfg = Debug|iPhone
|
||||||
|
{FBC970AA-8234-4905-B559-BD3F32A63C04}.DebugStaticRegistrar|iPhone.Build.0 = Debug|iPhone
|
||||||
{FE6EDEE9-ADF6-4F42-BCF2-B68C0A44EC3D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
{FE6EDEE9-ADF6-4F42-BCF2-B68C0A44EC3D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||||
{FE6EDEE9-ADF6-4F42-BCF2-B68C0A44EC3D}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
{FE6EDEE9-ADF6-4F42-BCF2-B68C0A44EC3D}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||||
{FE6EDEE9-ADF6-4F42-BCF2-B68C0A44EC3D}.Debug|iPhone.ActiveCfg = Debug|Any CPU
|
{FE6EDEE9-ADF6-4F42-BCF2-B68C0A44EC3D}.Debug|iPhone.ActiveCfg = Debug|Any CPU
|
||||||
|
@ -362,6 +421,8 @@ Global
|
||||||
{FE6EDEE9-ADF6-4F42-BCF2-B68C0A44EC3D}.Release|iPhone.Build.0 = Release|Any CPU
|
{FE6EDEE9-ADF6-4F42-BCF2-B68C0A44EC3D}.Release|iPhone.Build.0 = Release|Any CPU
|
||||||
{FE6EDEE9-ADF6-4F42-BCF2-B68C0A44EC3D}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU
|
{FE6EDEE9-ADF6-4F42-BCF2-B68C0A44EC3D}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU
|
||||||
{FE6EDEE9-ADF6-4F42-BCF2-B68C0A44EC3D}.Release|iPhoneSimulator.Build.0 = Release|Any CPU
|
{FE6EDEE9-ADF6-4F42-BCF2-B68C0A44EC3D}.Release|iPhoneSimulator.Build.0 = Release|Any CPU
|
||||||
|
{FE6EDEE9-ADF6-4F42-BCF2-B68C0A44EC3D}.DebugStaticRegistrar|iPhone.ActiveCfg = Debug|Any CPU
|
||||||
|
{FE6EDEE9-ADF6-4F42-BCF2-B68C0A44EC3D}.DebugStaticRegistrar|iPhone.Build.0 = Debug|Any CPU
|
||||||
{C7212169-BA46-413B-91CD-A32C52AD5E0D}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU
|
{C7212169-BA46-413B-91CD-A32C52AD5E0D}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU
|
||||||
{C7212169-BA46-413B-91CD-A32C52AD5E0D}.Debug|iPhoneSimulator.Build.0 = Debug|Any CPU
|
{C7212169-BA46-413B-91CD-A32C52AD5E0D}.Debug|iPhoneSimulator.Build.0 = Debug|Any CPU
|
||||||
{C7212169-BA46-413B-91CD-A32C52AD5E0D}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU
|
{C7212169-BA46-413B-91CD-A32C52AD5E0D}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU
|
||||||
|
@ -372,6 +433,8 @@ Global
|
||||||
{C7212169-BA46-413B-91CD-A32C52AD5E0D}.Release|iPhone.Build.0 = Release|Any CPU
|
{C7212169-BA46-413B-91CD-A32C52AD5E0D}.Release|iPhone.Build.0 = Release|Any CPU
|
||||||
{C7212169-BA46-413B-91CD-A32C52AD5E0D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
{C7212169-BA46-413B-91CD-A32C52AD5E0D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||||
{C7212169-BA46-413B-91CD-A32C52AD5E0D}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
{C7212169-BA46-413B-91CD-A32C52AD5E0D}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||||
|
{C7212169-BA46-413B-91CD-A32C52AD5E0D}.DebugStaticRegistrar|iPhone.ActiveCfg = Debug|Any CPU
|
||||||
|
{C7212169-BA46-413B-91CD-A32C52AD5E0D}.DebugStaticRegistrar|iPhone.Build.0 = Debug|Any CPU
|
||||||
{7862FE5A-530A-4651-825F-C80836B0A3A1}.Debug|iPhoneSimulator.ActiveCfg = Debug|iPhoneSimulator
|
{7862FE5A-530A-4651-825F-C80836B0A3A1}.Debug|iPhoneSimulator.ActiveCfg = Debug|iPhoneSimulator
|
||||||
{7862FE5A-530A-4651-825F-C80836B0A3A1}.Debug|iPhoneSimulator.Build.0 = Debug|iPhoneSimulator
|
{7862FE5A-530A-4651-825F-C80836B0A3A1}.Debug|iPhoneSimulator.Build.0 = Debug|iPhoneSimulator
|
||||||
{7862FE5A-530A-4651-825F-C80836B0A3A1}.Release|iPhoneSimulator.ActiveCfg = Release|iPhoneSimulator
|
{7862FE5A-530A-4651-825F-C80836B0A3A1}.Release|iPhoneSimulator.ActiveCfg = Release|iPhoneSimulator
|
||||||
|
@ -382,5 +445,19 @@ Global
|
||||||
{7862FE5A-530A-4651-825F-C80836B0A3A1}.Release|iPhone.Build.0 = Release|iPhone
|
{7862FE5A-530A-4651-825F-C80836B0A3A1}.Release|iPhone.Build.0 = Release|iPhone
|
||||||
{7862FE5A-530A-4651-825F-C80836B0A3A1}.Debug|Any CPU.ActiveCfg = Debug|iPhoneSimulator
|
{7862FE5A-530A-4651-825F-C80836B0A3A1}.Debug|Any CPU.ActiveCfg = Debug|iPhoneSimulator
|
||||||
{7862FE5A-530A-4651-825F-C80836B0A3A1}.Debug|Any CPU.Build.0 = Debug|iPhoneSimulator
|
{7862FE5A-530A-4651-825F-C80836B0A3A1}.Debug|Any CPU.Build.0 = Debug|iPhoneSimulator
|
||||||
|
{7862FE5A-530A-4651-825F-C80836B0A3A1}.DebugStaticRegistrar|iPhone.ActiveCfg = Release|iPhone
|
||||||
|
{7862FE5A-530A-4651-825F-C80836B0A3A1}.DebugStaticRegistrar|iPhone.Build.0 = Release|iPhone
|
||||||
|
{839212D5-C25B-4284-AA96-59C3872B8184}.Debug|iPhoneSimulator.ActiveCfg = Debug|iPhoneSimulator
|
||||||
|
{839212D5-C25B-4284-AA96-59C3872B8184}.Debug|iPhoneSimulator.Build.0 = Debug|iPhoneSimulator
|
||||||
|
{839212D5-C25B-4284-AA96-59C3872B8184}.Release|iPhoneSimulator.ActiveCfg = Release|iPhoneSimulator
|
||||||
|
{839212D5-C25B-4284-AA96-59C3872B8184}.Release|iPhoneSimulator.Build.0 = Release|iPhoneSimulator
|
||||||
|
{839212D5-C25B-4284-AA96-59C3872B8184}.Debug|iPhone.ActiveCfg = Debug|iPhone
|
||||||
|
{839212D5-C25B-4284-AA96-59C3872B8184}.Debug|iPhone.Build.0 = Debug|iPhone
|
||||||
|
{839212D5-C25B-4284-AA96-59C3872B8184}.Release|iPhone.ActiveCfg = Release|iPhone
|
||||||
|
{839212D5-C25B-4284-AA96-59C3872B8184}.Release|iPhone.Build.0 = Release|iPhone
|
||||||
|
{839212D5-C25B-4284-AA96-59C3872B8184}.Debug|Any CPU.ActiveCfg = Debug|iPhoneSimulator
|
||||||
|
{839212D5-C25B-4284-AA96-59C3872B8184}.Debug|Any CPU.Build.0 = Debug|iPhoneSimulator
|
||||||
|
{839212D5-C25B-4284-AA96-59C3872B8184}.DebugStaticRegistrar|iPhone.ActiveCfg = DebugStaticRegistrar|iPhone
|
||||||
|
{839212D5-C25B-4284-AA96-59C3872B8184}.DebugStaticRegistrar|iPhone.Build.0 = DebugStaticRegistrar|iPhone
|
||||||
EndGlobalSection
|
EndGlobalSection
|
||||||
EndGlobal
|
EndGlobal
|
||||||
|
|
|
@ -15,6 +15,7 @@ namespace monotouchtestWatchKitExtension
|
||||||
public partial class InterfaceController : WKInterfaceController
|
public partial class InterfaceController : WKInterfaceController
|
||||||
{
|
{
|
||||||
WatchOSRunner runner;
|
WatchOSRunner runner;
|
||||||
|
bool running;
|
||||||
|
|
||||||
[Action ("runTests:")]
|
[Action ("runTests:")]
|
||||||
partial void RunTests (NSObject obj);
|
partial void RunTests (NSObject obj);
|
||||||
|
@ -37,6 +38,18 @@ namespace monotouchtestWatchKitExtension
|
||||||
[Outlet ("cmdRun")]
|
[Outlet ("cmdRun")]
|
||||||
WatchKit.WKInterfaceButton cmdRun { get; set; }
|
WatchKit.WKInterfaceButton cmdRun { get; set; }
|
||||||
|
|
||||||
|
static InterfaceController ()
|
||||||
|
{
|
||||||
|
ObjCRuntime.Runtime.MarshalManagedException += (object sender, ObjCRuntime.MarshalManagedExceptionEventArgs args) =>
|
||||||
|
{
|
||||||
|
Console.WriteLine ("Managed exception: {0}", args.Exception);
|
||||||
|
};
|
||||||
|
ObjCRuntime.Runtime.MarshalObjectiveCException += (object sender, ObjCRuntime.MarshalObjectiveCExceptionEventArgs args) =>
|
||||||
|
{
|
||||||
|
Console.WriteLine ("Objective-C exception: {0}", args.Exception);
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
public InterfaceController (IntPtr handle) : base (handle)
|
public InterfaceController (IntPtr handle) : base (handle)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
@ -70,12 +83,20 @@ namespace monotouchtestWatchKitExtension
|
||||||
|
|
||||||
void RunTests ()
|
void RunTests ()
|
||||||
{
|
{
|
||||||
|
if (running) {
|
||||||
|
Console.WriteLine ("Already running");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
running = true;
|
||||||
cmdRun.SetEnabled (false);
|
cmdRun.SetEnabled (false);
|
||||||
lblStatus.SetText ("Running");
|
lblStatus.SetText ("Running");
|
||||||
BeginInvokeOnMainThread (() => {
|
BeginInvokeOnMainThread (() => {
|
||||||
runner.Run ();
|
runner.Run ();
|
||||||
|
|
||||||
|
cmdRun.SetEnabled (true);
|
||||||
|
lblStatus.SetText ("Done");
|
||||||
BeginInvokeOnMainThread (RenderResults);
|
BeginInvokeOnMainThread (RenderResults);
|
||||||
|
running = false;
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -24,7 +24,7 @@ namespace xharness
|
||||||
csproj.FindAndReplace ("%WATCHAPP_PATH%", Path.GetFullPath (Harness.WatchOSAppTemplate).Replace ('/', '\\') + "\\");
|
csproj.FindAndReplace ("%WATCHAPP_PATH%", Path.GetFullPath (Harness.WatchOSAppTemplate).Replace ('/', '\\') + "\\");
|
||||||
csproj.FindAndReplace ("%WATCHEXTENSION_CSPROJ%", Path.GetFileName (WatchOSExtensionProjectPath));
|
csproj.FindAndReplace ("%WATCHEXTENSION_CSPROJ%", Path.GetFileName (WatchOSExtensionProjectPath));
|
||||||
csproj.SetProjectReferenceValue (Path.GetFileName (WatchOSExtensionProjectPath), "Project", WatchOSExtensionGuid);
|
csproj.SetProjectReferenceValue (Path.GetFileName (WatchOSExtensionProjectPath), "Project", WatchOSExtensionGuid);
|
||||||
csproj.SetProjectReferenceValue (Path.GetFileName (WatchOSExtensionProjectPath), "Name", Name + "-watchos-extension");
|
csproj.SetProjectReferenceValue (Path.GetFileName (WatchOSExtensionProjectPath), "Name", Path.GetFileNameWithoutExtension (WatchOSExtensionProjectPath));
|
||||||
WatchOSAppGuid = "{" + Harness.NewStableGuid ().ToString ().ToUpper () + "}";
|
WatchOSAppGuid = "{" + Harness.NewStableGuid ().ToString ().ToUpper () + "}";
|
||||||
csproj.SetProjectGuid (WatchOSAppGuid);
|
csproj.SetProjectGuid (WatchOSAppGuid);
|
||||||
Harness.Save (csproj, WatchOSAppProjectPath);
|
Harness.Save (csproj, WatchOSAppProjectPath);
|
||||||
|
@ -45,7 +45,7 @@ namespace xharness
|
||||||
|
|
||||||
csproj.FindAndReplace ("%CONTAINER_PATH%", Path.GetFullPath (Harness.WatchOSContainerTemplate).Replace ('/', '\\') + "\\");
|
csproj.FindAndReplace ("%CONTAINER_PATH%", Path.GetFullPath (Harness.WatchOSContainerTemplate).Replace ('/', '\\') + "\\");
|
||||||
csproj.FindAndReplace ("%WATCHAPP_CSPROJ%", Path.GetFileName (WatchOSAppProjectPath));
|
csproj.FindAndReplace ("%WATCHAPP_CSPROJ%", Path.GetFileName (WatchOSAppProjectPath));
|
||||||
csproj.SetProjectReferenceValue (Path.GetFileName (WatchOSAppProjectPath), "Name", Name + "-watchos-app");
|
csproj.SetProjectReferenceValue (Path.GetFileName (WatchOSAppProjectPath), "Name", Path.GetFileNameWithoutExtension (WatchOSAppProjectPath));
|
||||||
WatchOSGuid = "{" + Harness.NewStableGuid ().ToString ().ToUpper () + "}";
|
WatchOSGuid = "{" + Harness.NewStableGuid ().ToString ().ToUpper () + "}";
|
||||||
csproj.SetProjectGuid (WatchOSGuid);
|
csproj.SetProjectGuid (WatchOSGuid);
|
||||||
Harness.Save (csproj, WatchOSProjectPath);
|
Harness.Save (csproj, WatchOSProjectPath);
|
||||||
|
|
Загрузка…
Ссылка в новой задаче