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
2 changes: 2 additions & 0 deletions dotnet/targets/Xamarin.Shared.Sdk.targets
Original file line number Diff line number Diff line change
Expand Up @@ -1658,6 +1658,8 @@
However, we'll automatically detect that we need to link with BrowserEngineKit if an app isn't trimmed, so let's just remove BrowserEngineKit
here, with an escape hatch if an app really needs it (which would be rather rare). Ref: https://github.com/dotnet/macios/issues/21324 -->
<_NativeExecutableFrameworks Remove="BrowserEngineKit" Condition="'$(LinkWithBrowserEngineKit)' != 'true'" />
<!-- Treat BrowserEngineCore like BrowserEngineKit -->
<_NativeExecutableFrameworks Remove="BrowserEngineCore" Condition="'$(LinkWithBrowserEngineCore)' != 'true'" />

<!-- Mono requires zlib, iconv, icucore, and the "Compression framework" -->
<_MainLinkerFlags Include="-lz" />
Expand Down
25 changes: 25 additions & 0 deletions src/browserenginecore.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
// Copyright (c) Microsoft Corporation.
// Licensed under the MIT License.

using AVFoundation;
using Foundation;
using ObjCRuntime;

namespace BrowserEngineCore {
[NoMacCatalyst, NoTV, NoMac, iOS (26, 0)]
[BaseType (typeof (NSObject))]
[DisableDefaultCtor]
interface BEAudioSession {
[Export ("initWithAudioSession:")]
NativeHandle Constructor (AVAudioSession audioSession);

[NullAllowed, Export ("availableOutputs")]
AVAudioSessionPortDescription [] AvailableOutputs { get; }

[Export ("setPreferredOutput:error:")]
bool SetPreferredOutput ([NullAllowed] AVAudioSessionPortDescription outPort, [NullAllowed] out NSError outError);

[NullAllowed, Export ("preferredOutput")]
AVAudioSessionPortDescription PreferredOutput { get; }
}
}
3 changes: 3 additions & 0 deletions src/build/dotnet/generator-frameworks.g.cs
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,7 @@ partial class Frameworks {
"AVRouting",
"BackgroundAssets",
"BackgroundTasks",
"BrowserEngineCore",
"BrowserEngineKit",
"BusinessChat",
"CallKit",
Expand Down Expand Up @@ -546,6 +547,7 @@ partial class Frameworks {
bool? _AVRouting;
bool? _BackgroundAssets;
bool? _BackgroundTasks;
bool? _BrowserEngineCore;
bool? _BrowserEngineKit;
bool? _BusinessChat;
bool? _CallKit;
Expand Down Expand Up @@ -718,6 +720,7 @@ partial class Frameworks {
public bool HaveAVRouting { get { if (!_AVRouting.HasValue) _AVRouting = GetValue ("AVRouting"); return _AVRouting.Value; } }
public bool HaveBackgroundAssets { get { if (!_BackgroundAssets.HasValue) _BackgroundAssets = GetValue ("BackgroundAssets"); return _BackgroundAssets.Value; } }
public bool HaveBackgroundTasks { get { if (!_BackgroundTasks.HasValue) _BackgroundTasks = GetValue ("BackgroundTasks"); return _BackgroundTasks.Value; } }
public bool HaveBrowserEngineCore { get { if (!_BrowserEngineCore.HasValue) _BrowserEngineCore = GetValue ("BrowserEngineCore"); return _BrowserEngineCore.Value; } }
public bool HaveBrowserEngineKit { get { if (!_BrowserEngineKit.HasValue) _BrowserEngineKit = GetValue ("BrowserEngineKit"); return _BrowserEngineKit.Value; } }
public bool HaveBusinessChat { get { if (!_BusinessChat.HasValue) _BusinessChat = GetValue ("BusinessChat"); return _BusinessChat.Value; } }
public bool HaveCallKit { get { if (!_CallKit.HasValue) _CallKit = GetValue ("CallKit"); return _CallKit.Value; } }
Expand Down
1 change: 1 addition & 0 deletions src/frameworks.sources
Original file line number Diff line number Diff line change
Expand Up @@ -2099,6 +2099,7 @@ IOS_FRAMEWORKS = \
AutomaticAssessmentConfiguration \
BackgroundAssets \
BackgroundTasks \
BrowserEngineCore \
BrowserEngineKit \
BusinessChat \
CallKit \
Expand Down
1 change: 0 additions & 1 deletion tests/xtro-sharpie/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -61,7 +61,6 @@ COMMON_IGNORED_FRAMEWORKS = \
$(SWIFT_FRAMEWORKS) \
_CoreNFC_UIKit \
AssetsLibrary \
BrowserEngineCore \
BrowserKit \
FactoryOTALogger \
FactoryOTANetworkUtils \
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,3 @@
!missing-pinvoke! be_memory_inline_jit_restrict_with_witness_supported is not bound
!missing-pinvoke! be_kevent is not bound
!missing-pinvoke! be_kevent64 is not bound
!missing-selector! BEAudioSession::availableOutputs not bound
!missing-selector! BEAudioSession::initWithAudioSession: not bound
!missing-selector! BEAudioSession::preferredOutput not bound
!missing-selector! BEAudioSession::setPreferredOutput:error: not bound
!missing-type! BEAudioSession not bound
2 changes: 2 additions & 0 deletions tools/common/Frameworks.cs
Original file line number Diff line number Diff line change
Expand Up @@ -470,6 +470,7 @@ public static Frameworks CreateiOSFrameworks (bool is_simulator_build)
{ "Cinematic", "Cinematic", new Version (17, 0), NotAvailableInSimulator },
{ "Symbols", "Symbols", 17, 0 },
{ "SensitiveContentAnalysis", "SensitiveContentAnalysis", 17, 0 },
{ "BrowserEngineCore", "BrowserEngineCore", 17, 4},
{ "BrowserEngineKit", "BrowserEngineKit", 17, 4},

{ "AccessorySetupKit", "AccessorySetupKit", 18, 0 },
Expand Down Expand Up @@ -659,6 +660,7 @@ public static Frameworks GetMacCatalystFrameworks ()
case "AddressBookUI":
case "ARKit":
case "AssetsLibrary":
case "BrowserEngineCore":
case "CarPlay":
case "WatchConnectivity":
f.Unavailable = true;
Expand Down
Loading