Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
26 changes: 13 additions & 13 deletions Make.config
Original file line number Diff line number Diff line change
Expand Up @@ -146,8 +146,8 @@ NUGET_RELEASE_BRANCH=release/11.0.1xx
##
## Note that the prerelease identifier should be as short as possible, because otherwise
## the resulting package name can become too long for MSIs.
NUGET_HARDCODED_PRERELEASE_IDENTIFIER=net11-rc.2
NUGET_HARDCODED_PRERELEASE_BRANCH=release/11.0.1xx-rc.2
NUGET_HARDCODED_PRERELEASE_IDENTIFIER=xcode27.1-net11.0
NUGET_HARDCODED_PRERELEASE_BRANCH=xcode27.1-net11.0

# compute the alphanumeric version of branch names
NUGET_RELEASE_BRANCH_ALPHANUMERIC:=$(shell export LANG=C; printf "%s" "$(NUGET_RELEASE_BRANCH)" | tr -c '[a-zA-Z0-9-]' '-')
Expand Down Expand Up @@ -209,7 +209,7 @@ MACCATALYST_NUGET_VERSION_FULL=$(MACCATALYST_NUGET_VERSION_NO_METADATA)$(NUGET_B
-include $(TOP)/configure.inc

# Xcode version should have both a major and a minor version (even if the minor version is 0)
XCODE_VERSION=27.0
XCODE_VERSION=27.1
# CI provisions Xcode from an immutable Azure Artifacts Universal Package instead of
# Provisionator. The same feed and package names exist in every supported Azure DevOps
# organization; only the organization and project differ, and
Expand All @@ -221,11 +221,11 @@ XCODE_VERSION=27.0
# which has no access to the internal feeds.
XCODE_PACKAGE_FEED=macios-tools-internal
XCODE_PACKAGE_NAME=xcode-apple-silicon
XCODE_PACKAGE_VERSION=27.0.0
XCODE_BUILD_VERSION=27A266a
XCODE_URL=https://bosstoragemirror.blob.core.windows.net/internal-files/xcodes/Xcode_27.xip
XCODE_PACKAGE_VERSION=27.1.0-rc.1
XCODE_BUILD_VERSION=27A9275
XCODE_URL=https://bosstoragemirror.blob.core.windows.net/internal-files/xcodes/Xcode_27.1_Release_Candidate.xip
ifndef NO_XCODE
XCODE_DEVELOPER_ROOT?=/Applications/Xcode_27.0.0.app/Contents/Developer
XCODE_DEVELOPER_ROOT?=/Applications/Xcode_27.1.0-rc.1.app/Contents/Developer
ifneq (OK,$(shell test -d $(abspath $(XCODE_DEVELOPER_ROOT)) && echo OK))
NO_XCODE=1
$(warning The required Xcode ($(XCODE_VERSION)) is not installed in $(XCODE_DEVELOPER_ROOT) - this directory does not exist. Any parts of the build that require Xcode will be disabled.)
Expand Down Expand Up @@ -297,10 +297,10 @@ MAX_TVOS_DEPLOYMENT_TARGET=$(TVOS_SDK_VERSION)

# Decide which OS version we should run the simulator tests in.
# Note that this may not necessarily match the SDK version, if there are OS releases with no API changes, then there wouldn't necessarily be a corresponding SDK version.
# If the errors below trigger, update the hardcoded Xcode version check (currently 26.3) to use the current Xcode version, and assign the corresponding max simulator versions.
ifeq ($(XCODE_VERSION),26.3)
MAX_IOS_SIMULATOR_VERSION=26.3
MAX_TVOS_SIMULATOR_VERSION=26.2
# If the errors below trigger, update the hardcoded Xcode version check (currently 26.6) to use the current Xcode version, and assign the corresponding max simulator versions.
ifeq ($(XCODE_VERSION),27.1)
MAX_IOS_SIMULATOR_VERSION=27.1
MAX_TVOS_SIMULATOR_VERSION=27.0
else ifneq ($(XCODE_VERSION),$(IOS_SDK_VERSION))
$(error Check if a max iOS simulator is different than the current SDK version (this happens when there's a new iOS release, with no API changes so no new SDK))
else ifneq ($(XCODE_VERSION),$(TVOS_SDK_VERSION))
Expand All @@ -317,8 +317,8 @@ DOTNET_MIN_MACCATALYST_SDK_VERSION=17.0
DOTNET_MIN_MACOS_SDK_VERSION=14.0

# The min simulator version available in the Xcode we're using
MIN_IOS_SIMULATOR_VERSION=16.0
MIN_TVOS_SIMULATOR_VERSION=16.0
MIN_IOS_SIMULATOR_VERSION=17.0
MIN_TVOS_SIMULATOR_VERSION=17.0
# These are the simulator package ids for the versions above
EXTRA_SIMULATORS=iOS:MIN_IOS_SIMULATOR_VERSION tvOS:MIN_TVOS_SIMULATOR_VERSION

Expand Down
4 changes: 2 additions & 2 deletions Make.versions
Original file line number Diff line number Diff line change
Expand Up @@ -21,14 +21,14 @@
# IMPORTANT: There must be *no* managed API differences unless the two first
# numbers (major.minor) changes.

IOS_NUGET_OS_VERSION=27.0
IOS_NUGET_OS_VERSION=27.1
TVOS_NUGET_OS_VERSION=27.0
MACOS_NUGET_OS_VERSION=27.0
MACCATALYST_NUGET_OS_VERSION=27.0

# The following are the OS versions we first supported with the current .NET version.
# These versions must *not* change with minor .NET updates, only major .NET releases.
IOS_TARGET_PLATFORM_VERSION_LIBRARY=27.0
IOS_TARGET_PLATFORM_VERSION_LIBRARY=27.1
TVOS_TARGET_PLATFORM_VERSION_LIBRARY=27.0
MACOS_TARGET_PLATFORM_VERSION_LIBRARY=27.0
MACCATALYST_TARGET_PLATFORM_VERSION_LIBRARY=27.0
Expand Down
2 changes: 2 additions & 0 deletions builds/Versions-iOS.plist.in
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,7 @@
<string>26.4</string>
<string>26.5</string>
<string>27.0</string>
<string>27.1</string>
</array>
</dict>
<key>SupportedTargetPlatformVersions</key>
Expand Down Expand Up @@ -90,6 +91,7 @@
<string>26.4</string>
<string>26.5</string>
<string>27.0</string>
<string>27.1</string>
</array>
</dict>
<key>RecommendedXcodeVersion</key>
Expand Down
66 changes: 66 additions & 0 deletions src/UIKit/UIEnums.cs
Original file line number Diff line number Diff line change
Expand Up @@ -3820,6 +3820,10 @@ public enum UIWindowSceneSessionRole {
[TV (26, 0), iOS (26, 0), MacCatalyst (26, 0)]
[Field ("UIWindowSceneSessionRoleAssistiveAccessApplication")]
AssistiveAccessApplication,

[NoTV, NoMacCatalyst, iOS (27, 1)]
[Field ("UIWindowSceneSessionRoleCameraCaptureAccessory")]
CameraCaptureAccessory,
}

[MacCatalyst (13, 1)]
Expand Down Expand Up @@ -4932,6 +4936,68 @@ public enum UITextAttachmentViewProviderReusePolicy : ulong {
EditingInlineParagraphs = 1uL << 1,
}

[NoTV, NoMacCatalyst, iOS (27, 1)]
[Native]
public enum UIArrangementViewControllerViewPlacement : long {
None = 0,
Primary = 1,
Secondary = 2,
}

[NoTV, NoMacCatalyst, iOS (27, 1)]
[Native]
public enum UIBarButtonItemAxisBehavior : long {
Automatic = 0,
[NoTV]
HorizontalOnly = 1,
[NoTV]
VerticalPreferred = 2,
}

[NoTV, NoMacCatalyst, iOS (27, 1)]
[Native]
public enum UIHingeStatus : long {
Unknown = 0,
Closed = 1,
PartiallyOpen = 2,
FullyOpen = 3,
}

[NoTV, NoMacCatalyst, iOS (27, 1)]
[Native]
public enum UIVerticalBarBehavior : long {
Automatic = 0,
Disabled = 1,
}

[NoTV, NoMacCatalyst, iOS (27, 1)]
[Native]
public enum UIVerticalBarCompressionBehavior : long {
Automatic = 0,
[NoTV]
PrefersBarItems = 1,
[NoTV]
PrefersTabBar = 2,
}

[NoTV, NoMacCatalyst, iOS (27, 1)]
[Native]
public enum UIVerticalBarEdge : long {
Unspecified = 0,
[NoTV]
Leading = 1,
[NoTV]
Trailing = 2,
}

[Flags]
[NoTV, NoMacCatalyst, iOS (27, 1)]
[Native]
public enum UIViewReservedRegionQueryOptions : ulong {
None = 0,
IncludeInactive = 1uL << 0,
}

// NSInteger -> NSTextTable.h
[MacCatalyst (13, 1)]
[Native]
Expand Down
10 changes: 10 additions & 0 deletions src/avfoundation.cs
Original file line number Diff line number Diff line change
Expand Up @@ -18320,6 +18320,16 @@ enum AVCaptureDeviceType {
[NoTV, NoMacCatalyst, NoiOS]
[Field ("AVCaptureDeviceTypeDeskViewCamera")]
DeskViewCamera,

/// <summary>A built-in outer ultra-wide camera discoverable through a device discovery session.</summary>
[NoTV, NoMac, NoMacCatalyst, iOS (27, 1)]
[Field ("AVCaptureDeviceTypeBuiltInOuterUltraWideCamera")]
BuiltInOuterUltraWideCamera,

/// <summary>A built-in inner ultra-wide camera discoverable through a device discovery session.</summary>
[NoTV, NoMac, NoMacCatalyst, iOS (27, 1)]
[Field ("AVCaptureDeviceTypeBuiltInInnerUltraWideCamera")]
BuiltInInnerUltraWideCamera,
}

[TV (17, 0)] // matches API that uses it.
Expand Down
56 changes: 56 additions & 0 deletions src/avkit.cs
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,8 @@
// avkit.cs: Definitions for AVKit.cs
//
// Copyright 2014-2015 Xamarin Inc
using System.Collections.Generic;

using CoreGraphics;
using CoreImage;
using CoreMedia;
Expand Down Expand Up @@ -1702,4 +1704,58 @@ interface AVPlaybackUserInterfaceControllable :
AVPlaybackUserInterfaceVolumeControllable,
AVPlaybackUserInterfaceMetadataProviding {
}

[NoTV, NoMac, NoMacCatalyst, iOS (27, 1)]
[BaseType (typeof (NSObject))]
[DisableDefaultCtor]
interface AVCaptureDeviceDescriptor {
[BindAs (typeof (AVCaptureDeviceType))]
[Export ("deviceType")]
NSString DeviceType { get; }

[Export ("mediaTypes", ArgumentSemantic.Copy)]
NSSet<NSString> WeakMediaTypes { get; }

[Wrap ("WeakMediaTypes.ToHashSet (v => AVMediaTypesExtensions.GetValue (v))")]
HashSet<AVMediaTypes> MediaTypes { get; }

[Export ("position")]
AVCaptureDevicePosition Position { get; }

[Export ("uniqueID")]
string UniqueId { get; }

[Export ("localizedName")]
string LocalizedName { get; }
}

[NoTV, NoMac, NoMacCatalyst, iOS (27, 1)]
[BaseType (typeof (NSObject))]
[DisableDefaultCtor]
interface AVCaptureDeviceDirectionMap {
[Export ("forwardFacingDeviceDescriptors", ArgumentSemantic.Copy)]
AVCaptureDeviceDescriptor [] ForwardFacingDeviceDescriptors { get; }

[Export ("backwardFacingDeviceDescriptors", ArgumentSemantic.Copy)]
AVCaptureDeviceDescriptor [] BackwardFacingDeviceDescriptors { get; }
}

[NoTV, NoMac, NoMacCatalyst, iOS (27, 1)]
delegate void AVCaptureDeviceDirectionCoordinatorChangeHandler (AVCaptureDeviceDirectionMap deviceDirections);

[NoTV, NoMac, NoMacCatalyst, iOS (27, 1)]
[BaseType (typeof (NSObject))]
[DisableDefaultCtor]
interface AVCaptureDeviceDirectionCoordinator {
/// <summary>Creates a coordinator that tracks device directions relative to a view.</summary>
/// <param name="view">The view used to determine camera direction.</param>
/// <param name="deviceTypes">The device types to observe.</param>
/// <param name="changeHandler">An optional callback for direction changes, delivered on the main queue.</param>
/// <remarks>Create this coordinator on the main thread.</remarks>
[Export ("initWithView:deviceTypes:changeHandler:")]
NativeHandle Constructor (UIView view, [BindAs (typeof (AVCaptureDeviceType []))] NSString [] deviceTypes, [NullAllowed] AVCaptureDeviceDirectionCoordinatorChangeHandler changeHandler);

[Export ("deviceDirections")]
AVCaptureDeviceDirectionMap DeviceDirections { get; }
}
}
Loading
Loading