{"id":5288,"date":"2026-10-19T16:12:04","date_gmt":"2026-10-19T16:12:04","guid":{"rendered":"https:\/\/rssfeedtelegrambot.bnaya.co.il\/index.php\/2026\/10\/19\/get-your-net-maui-app-ready-for-xcode-27\/"},"modified":"2026-10-19T16:12:04","modified_gmt":"2026-10-19T16:12:04","slug":"get-your-net-maui-app-ready-for-xcode-27","status":"publish","type":"post","link":"https:\/\/rssfeedtelegrambot.bnaya.co.il\/index.php\/2026\/10\/19\/get-your-net-maui-app-ready-for-xcode-27\/","title":{"rendered":"Get Your .NET MAUI App Ready for Xcode 27"},"content":{"rendered":"<p>Your existing .NET MAUI app builds with Xcode 27, installs on an iPhone running iOS 27, shows its splash screen, and then disappears. Not exactly the grand entrance you were hoping for.<\/p>\n<p>That symptom can have many causes. But if the only thing that changed is that you\u2019re now building with Xcode 27 and running the app on iOS 27, and you see the device log message below, your .NET MAUI app needs a few changes:<\/p>\n<pre><code class=\"language-text\">UIScene life cycle is required for apps built with this SDK.<\/code><\/pre>\n<p>UIKit\u2019s scene lifecycle manages each instance of an app\u2019s user interface, including its windows and transitions between foreground and background states. It works alongside the application lifecycle, which manages the app process as a whole. Apple introduced this model with iOS 13, and .NET MAUI already supports it.<\/p>\n<p>This is an Xcode 27 compatibility requirement, not a broken .NET MAUI lifecycle. Existing .NET MAUI projects might still use only the older application lifecycle because updating .NET MAUI or its workloads doesn\u2019t rewrite their platform files. It\u2019s not specific to the iPhone Duo. Every iOS app built with Xcode 27, on any form factor, needs to adopt this pattern. An existing binary built with an older SDK doesn\u2019t suddenly need this migration just because someone updates their phone.<\/p>\n<p>For a straightforward app, the change is small: a scene delegate and an <code>Info.plist<\/code> entry. The part that deserves your attention is everything you\u2019ve added over the years, such as authentication callbacks, deep links, and App Actions.<\/p>\n<p>That\u2019s where the <code>maui-xcode27-migration<\/code> agent skill comes in. It guides your coding agent through the project checks, the migration, and the verification. You still review the changes, and the manual steps below explain what it\u2019s doing.<\/p>\n<h2>Let an AI agent handle the migration<\/h2>\n<p>The <a href=\"https:\/\/github.com\/dotnet\/maui-labs\">.NET MAUI CLI<\/a> can install agent skills into your development environment. A skill is a set of instructions and supporting resources for the agent. It\u2019s not another runtime dependency in your app.<\/p>\n<p>The Xcode 27 migration skill requires <strong>Microsoft.Maui.Cli 0.1.0-preview.13.26512.5 or later<\/strong>. Install that preview release:<\/p>\n<pre><code class=\"language-console\">dotnet tool install --global Microsoft.Maui.Cli --version 0.1.0-preview.13.26512.5<\/code><\/pre>\n<p>If you already have it installed, update it instead:<\/p>\n<pre><code class=\"language-console\">dotnet tool update --global Microsoft.Maui.Cli --version 0.1.0-preview.13.26512.5<\/code><\/pre>\n\n<div class=\"alert alert-info\">\n<p class=\"alert-divider\"><i class=\"fabric-icon fabric-icon--Info\"><\/i><strong>Preview tooling<\/strong><\/p>\n<p>The .NET MAUI CLI and this skill are experimental and are not covered by the Microsoft Support Policy. The CLI downloads the skill from the public <code>dotnet\/maui-labs<\/code> catalog, so catalog discovery and installation require network access.<\/p><\/div>\n<p>From your app\u2019s repository, check that the CLI can find the skill and install it for GitHub Copilot CLI:<\/p>\n<pre><code class=\"language-console\">maui ai list skill\nmaui ai add skill maui-xcode27-migration --env CopilotCli --yes<\/code><\/pre>\n<p>If you use another AI provider, check <code>maui ai add skill --help<\/code> and change the <code>--env<\/code> option accordingly. Run the command from the app repository you want to change, because the skill is installed for that project.<\/p>\n<p>Restart or reload your agent session so it picks up the new skill, then ask:<\/p>\n<pre><code class=\"language-text\">Prepare this .NET MAUI app for Xcode 27. Inspect the project\nand toolchain first, preserve custom lifecycle behavior, and validate\nthe migration. Ask before changing the SDK or dropping support for\nolder OS versions.<\/code><\/pre>\n<p>You don\u2019t need to name the skill in your request. A compatible agent should pick <code>maui-xcode27-migration<\/code> from the installed skills based on the task. If you want to remove any doubt, feel free to name it explicitly.<\/p>\n<p>The CLI installs the skill, and your coding agent does the migration. There\u2019s no <code>maui migrate<\/code> command in this workflow, and installing the skill on its own doesn\u2019t touch your app.<\/p>\n<p>Prefer to manage the skill directly with GitHub Copilot CLI? Follow the official <a href=\"https:\/\/docs.github.com\/copilot\/how-tos\/copilot-cli\/customize-copilot\/plugins-finding-installing\">GitHub Copilot plugin installation documentation<\/a>, then add the <code>maui-labs<\/code> marketplace and install the <code>dotnet-maui<\/code> plugin:<\/p>\n<pre><code class=\"language-console\">copilot plugin marketplace add dotnet\/maui-labs\ncopilot plugin install dotnet-maui@dotnet-maui-labs<\/code><\/pre>\n<p>You can also find the <a href=\"https:\/\/github.com\/dotnet\/maui-labs\/tree\/main\/plugins\/dotnet-maui\/skills\/maui-xcode27-migration\">migration skill directly in the <code>dotnet\/maui-labs<\/code> repository<\/a>. Pick one installation method so you don\u2019t end up with duplicate copies.<\/p>\n<h2>What the skill checks<\/h2>\n<p>Before editing anything, the skill should work out which project, .NET SDK, .NET MAUI packages, Apple workloads, and Xcode version you\u2019re actually using. A <code>global.json<\/code>, shared package versions, or an existing custom scene delegate can all change the right approach.<\/p>\n<p>The migration covers:<\/p>\n<ul>\n<li><strong>Compatible versions.<\/strong> Match the Apple workload to Xcode, update the required .NET MAUI packages, and check deployment targets without silently dropping older OS support.<\/li>\n<li><strong>Scene configuration.<\/strong> Add or reconcile the delegate and manifest for the iOS and Mac Catalyst targets, including configuration-specific plist files. Preserve existing scene customizations, launch-screen settings, and multi-window behavior.<\/li>\n<li><strong>Custom behavior.<\/strong> Review app-delegate overrides as well as lifecycle registrations, authentication, warm and cold links, notification taps, startup work that needs a window, and App Actions.<\/li>\n<li><strong>Verification.<\/strong> Run a read-only lifecycle audit, review the diff, build the affected targets, and test launch and the behaviors the migration can change. Report anything that could not be exercised.<\/li>\n<\/ul>\n<p>Commit or otherwise save your current work before starting, and go through the resulting diff before accepting it. A successful build doesn\u2019t prove that an authentication redirect or a Home screen shortcut still works.<\/p>\n<p>If you\u2019d rather do things by hand, the instructions are below.<\/p>\n<h2>Before you start: check your app and toolchain<\/h2>\n<p>Scene lifecycle support was available before Xcode 27, so your app might already use it. If you already have a <code>MauiUISceneDelegate<\/code> and matching scene manifest, good news: you can skip the migration steps below. You should still check the toolchain versions and test your app on iOS 27.<\/p>\n<p>At the time of writing, the released .NET 10 iOS and Mac Catalyst workloads <strong>27.0.10722 require Xcode 27.0<\/strong>. Installing a newer Xcode doesn\u2019t automatically make it compatible with that workload. Check the <a href=\"https:\/\/github.com\/dotnet\/macios\/releases\/tag\/dotnet-10.0.1xx-xcode27.0-10722\">.NET for iOS and Mac Catalyst release notes<\/a> and use the matching versions rather than disabling the SDK\u2019s Xcode check.<\/p>\n\n<div class=\"alert alert-info\">\n<p class=\"alert-divider\"><i class=\"fabric-icon fabric-icon--Info\"><\/i><strong>Check your setup<\/strong><\/p>\n<p>Run <code>maui doctor<\/code> for a quick check of your active .NET SDK, .NET MAUI workload, selected Xcode, and Apple SDK compatibility. It also checks supporting components such as the Xcode license, command-line tools, and installed iOS runtimes.<\/p><\/div>\n<p>For a .NET 10 app, update your .NET MAUI packages to <strong>10.0.110 or higher<\/strong> before enabling scenes. The two-file launch fix can work with an older .NET MAUI version because <code>MauiUISceneDelegate<\/code> already exists there. However, 10.0.110 also includes the scene-side App Actions dispatch and relevant <code>WebAuthenticator<\/code> forwarding. Treat the package update as part of the migration, otherwise you might fix the launch and silently break those integrations.<\/p>\n<p>Template projects often get <code>$(MauiVersion)<\/code> from the installed workload. To pin the minimum version explicitly, add this to your <code>.csproj<\/code>:<\/p>\n<pre><code class=\"language-xml\">&lt;PropertyGroup&gt;\n  &lt;MauiVersion&gt;10.0.110&lt;\/MauiVersion&gt;\n&lt;\/PropertyGroup&gt;<\/code><\/pre>\n<p>If you already manage this version elsewhere, update that value instead. Don\u2019t downgrade a newer compatible version.<\/p>\n<p>Apps created with the .NET MAUI 10.0.110 templates already have the scene configuration. Existing projects aren\u2019t retrofitted by a package or workload update, so you\u2019ll need to do that part yourself.<\/p>\n<h2>Add the scene delegate<\/h2>\n<p>In your existing app, create <code>Platforms\/iOS\/SceneDelegate.cs<\/code> and paste in this code. If the file already exists, check its base class and registration instead of adding a second delegate:<\/p>\n<pre><code class=\"language-csharp\">using Foundation;\nusing Microsoft.Maui;\n\nnamespace MyMauiApp;\n\n[Register(\"SceneDelegate\")]\npublic class SceneDelegate : MauiUISceneDelegate\n{\n}<\/code><\/pre>\n<p>Replace <code>MyMauiApp<\/code> with your app\u2019s namespace. For this default setup, keep the class public and the registration name as <code>SceneDelegate<\/code>. If your app already has a custom registered scene delegate, preserve its behavior and use its registered name consistently in the manifest instead of adding a competing delegate.<\/p>\n<p>Yes, that\u2019s the whole class. .NET MAUI does the actual window setup for you. Leave your existing <code>AppDelegate : MauiUIApplicationDelegate<\/code> exactly where it is too. The scene delegate works alongside it, not instead of it.<\/p>\n<h2>Add the scene manifest<\/h2>\n<p>Open <code>Platforms\/iOS\/Info.plist<\/code> as XML and add the following inside the root <code>&lt;dict&gt;<\/code>. If you already have a <code>UIApplicationSceneManifest<\/code>, update its existing scene configuration instead of adding a duplicate key:<\/p>\n<pre><code class=\"language-xml\">&lt;key&gt;UIApplicationSceneManifest&lt;\/key&gt;\n&lt;dict&gt;\n  &lt;key&gt;UIApplicationSupportsMultipleScenes&lt;\/key&gt;\n  &lt;false\/&gt;\n  &lt;key&gt;UISceneConfigurations&lt;\/key&gt;\n  &lt;dict&gt;\n    &lt;key&gt;UIWindowSceneSessionRoleApplication&lt;\/key&gt;\n    &lt;array&gt;\n      &lt;dict&gt;\n        &lt;key&gt;UISceneConfigurationName&lt;\/key&gt;\n        &lt;string&gt;__MAUI_DEFAULT_SCENE_CONFIGURATION__&lt;\/string&gt;\n        &lt;key&gt;UISceneDelegateClassName&lt;\/key&gt;\n        &lt;string&gt;SceneDelegate&lt;\/string&gt;\n      &lt;\/dict&gt;\n    &lt;\/array&gt;\n  &lt;\/dict&gt;\n&lt;\/dict&gt;<\/code><\/pre>\n<p>Three details matter here:<\/p>\n<ul>\n<li>Keep <code>__MAUI_DEFAULT_SCENE_CONFIGURATION__<\/code> exactly as shown. That\u2019s the name .NET MAUI expects.<\/li>\n<li>Match the delegate name in the plist with the C# registration: <code>SceneDelegate<\/code> and <code>[Register(\"SceneDelegate\")]<\/code> in this example.<\/li>\n<li>Leave <code>UIApplicationSupportsMultipleScenes<\/code> set to <code>false<\/code> unless your app really supports multiple windows.<\/li>\n<\/ul>\n<p>You don\u2019t need a <code>UISceneStoryboardFile<\/code>. .NET MAUI creates the window in code, and your existing splash screen configuration stays as it is.<\/p>\n<p>If you have custom scene configuration names or override <code>GetConfiguration<\/code> or <code>WillConnect<\/code>, review them together rather than replacing the manifest wholesale. The default <code>MauiUISceneDelegate<\/code> window-creation path expects <code>__MAUI_DEFAULT_SCENE_CONFIGURATION__<\/code>; a different name needs an existing custom implementation that handles window creation.<\/p>\n<p>Some apps select a different plist for Debug, Release, customer, or environment builds. Add or reconcile the manifest in every plist that can produce a shipping app. If you only update the default file, one configuration can still crash right after the splash screen. Preserve the existing <code>MauiSplashScreen<\/code> or <code>UILaunchStoryboardName<\/code> setup while editing these files.<\/p>\n<p>That\u2019s the iOS scene configuration done. If you don\u2019t target Mac Catalyst, skip ahead to the minimum OS versions.<\/p>\n<h2>Do the same for Mac Catalyst<\/h2>\n<p>If your project also targets Mac Catalyst, make the same two changes there:<\/p>\n<ol>\n<li>Add <code>Platforms\/MacCatalyst\/SceneDelegate.cs<\/code>.<\/li>\n<li>Add the same <code>UIApplicationSceneManifest<\/code> section to <code>Platforms\/MacCatalyst\/Info.plist<\/code>.<\/li>\n<\/ol>\n<h2>Check your minimum OS versions<\/h2>\n<p>The .NET for iOS and .NET for Mac Catalyst 27 SDKs also raise the minimum supported versions: iOS needs at least <code>15.0<\/code>, and Mac Catalyst needs at least <code>17.0<\/code> (macOS 14 Sonoma). In your app\u2019s <code>.csproj<\/code>, update the existing <code>SupportedOSPlatformVersion<\/code> entries if yours are lower:<\/p>\n<pre><code class=\"language-xml\">&lt;SupportedOSPlatformVersion Condition=\"$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'ios'\"&gt;15.0&lt;\/SupportedOSPlatformVersion&gt;\n&lt;SupportedOSPlatformVersion Condition=\"$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'maccatalyst'\"&gt;17.0&lt;\/SupportedOSPlatformVersion&gt;<\/code><\/pre>\n<p>These entries belong inside a <code>&lt;PropertyGroup&gt;<\/code>. Replace the existing values instead of adding duplicates, because a later definition can override your change. Keep each version directly between its XML tags, without leading or trailing whitespace.<\/p>\n<p>Keep a higher deployment target if your app already requires one. If you must retain support for iOS versions below 15 or macOS 12 and 13, moving to these SDKs requires a support-policy decision. Stay on a compatible 26.x SDK while you decide, rather than silently dropping those users. This SDK minimum is separate from scene adoption; see the <a href=\"https:\/\/github.com\/dotnet\/maui\/blob\/main\/src\/Templates\/README.md#mac-catalyst-deployment-target\">.NET MAUI template deployment-target guidance<\/a>.<\/p>\n<h2>Check any custom app behavior<\/h2>\n<p>With scenes enabled, UIKit no longer calls the <code>AppDelegate<\/code> activation, backgrounding, URL, and user-activity callbacks. That goes for both <code>ConfigureLifecycleEvents<\/code> registrations and methods you override in <code>AppDelegate<\/code>, such as <code>OpenUrl<\/code> or <code>ContinueUserActivity<\/code>. Move that logic to the corresponding scene events:<\/p>\n<table>\n<thead>\n<tr>\n<th>Existing event<\/th>\n<th>Scene event<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td><code>OnActivated<\/code><\/td>\n<td><code>SceneOnActivated<\/code><\/td>\n<\/tr>\n<tr>\n<td><code>OnResignActivation<\/code><\/td>\n<td><code>SceneOnResignActivation<\/code><\/td>\n<\/tr>\n<tr>\n<td><code>DidEnterBackground<\/code><\/td>\n<td><code>SceneDidEnterBackground<\/code><\/td>\n<\/tr>\n<tr>\n<td><code>WillEnterForeground<\/code><\/td>\n<td><code>SceneWillEnterForeground<\/code><\/td>\n<\/tr>\n<tr>\n<td><code>OpenUrl<\/code><\/td>\n<td><code>SceneOpenUrl<\/code><\/td>\n<\/tr>\n<tr>\n<td><code>ContinueUserActivity<\/code><\/td>\n<td><code>SceneContinueUserActivity<\/code><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>The callback arguments differ, so move the logic instead of just renaming the registration. If you instead override methods in your <code>SceneDelegate<\/code>, call the corresponding <code>base<\/code> implementation. The framework\u2019s window setup, lifecycle events, and authentication forwarding depend on that behavior.<\/p>\n<p>For custom deep links, also handle <code>SceneWillConnect<\/code>: URLs and user activities that launch the app arrive in its <code>UISceneConnectionOptions<\/code>. That callback runs before .NET MAUI creates the window, so defer navigation until the window is ready.<\/p>\n<p>If your app opens content from a notification tap, inspect <code>connectionOptions.NotificationResponse<\/code> as another cold-start input. Preserve that route separately from ordinary push registration and <code>DidReceiveRemoteNotification<\/code>, which remain application-level callbacks.<\/p>\n<p>A regular launch may have no URL or user-activity payload. Guard against absent <code>UrlContexts<\/code> and <code>UserActivities<\/code> before enumerating them, even when the binding\u2019s nullability annotation suggests a value will be there.<\/p>\n<p><code>FinishedLaunching<\/code> still runs, but the standard .NET MAUI scene path creates the window later through the scene delegate. <code>AppDelegate.Window<\/code> stays <code>null<\/code>. Code that accesses it after <code>base.FinishedLaunching<\/code> needs to use the appropriate scene window when it is ready instead. The cross-platform <code>Window<\/code> lifecycle events keep working; do not duplicate that forwarding.<\/p>\n<p>.NET MAUI 10.0.110 handles scene-based App Actions and forwards the relevant URL and user-activity callbacks to <code>WebAuthenticator<\/code>. That authentication handling is not general app deep-link navigation and does not replay cold-start links for you. Test authentication and your own links with the app both running and fully closed.<\/p>\n<p>If you use App Actions, make sure every custom <code>PerformActionForShortcutItem<\/code> handler calls its completion callback <strong>exactly once<\/strong>. Pass <code>true<\/code> when the action was handled and <code>false<\/code> when it was not. A handler can respond asynchronously after returning, but returning alone does not acknowledge the action.<\/p>\n<p>Even a handler that only writes a log message needs to respond. As an example, add <code>using Microsoft.Maui.LifecycleEvents;<\/code> to <code>MauiProgram.cs<\/code>, then register this observer inside <code>CreateMauiApp<\/code>, before <code>return builder.Build();<\/code>:<\/p>\n<pre><code class=\"language-csharp\">builder.ConfigureLifecycleEvents(events =&gt;\n{\n#if IOS || MACCATALYST\n    events.AddiOS(ios =&gt; ios\n        .PerformActionForShortcutItem((application, shortcutItem, completion) =&gt;\n        {\n            Console.WriteLine($\"App Action received: {shortcutItem.Type}\");\n            completion(false);\n        }));\n#endif\n});<\/code><\/pre>\n<p>The default .NET MAUI builder already forwards App Actions to Essentials. You don\u2019t need this logging observer unless you want it, and you shouldn\u2019t add another <code>Platform.PerformActionForShortcutItem<\/code> registration. If your <code>AppDelegate<\/code> overrides <code>PerformActionForShortcutItem<\/code>, that override is no longer called with scenes enabled. Move its custom logic into a registration like the one above, completion callback included.<\/p>\n<h2>Rebuild and try it<\/h2>\n<p>Restore and build the iOS target:<\/p>\n<pre><code class=\"language-console\">dotnet restore -p:TargetFramework=net10.0-ios\ndotnet build -f net10.0-ios --no-restore<\/code><\/pre>\n<p>If the simulator still seems to have an old version of your app, uninstall it, delete the app project\u2019s <code>bin<\/code> and <code>obj<\/code> folders, and run those two commands again.<\/p>\n<p>Launch both Debug and Release builds on a regular iPhone or iPad simulator running iOS 27 with the matching workload and Xcode. A successful build or launch on iOS 26 doesn\u2019t prove that the app will launch on iOS 27 when built with Xcode 27. Check a cold launch, background and foreground transitions, your authentication flow, links and notification taps with the app both running and closed, and App Actions. If you target Mac Catalyst, build and exercise that target too.<\/p>\n<p>You don\u2019t need an iPhone Duo simulator to verify this migration. Device-specific layouts and the Xcode 27.1 tooling are a separate topic that we\u2019ll cover in a follow-up post soon.<\/p>\n<p>The post <a href=\"https:\/\/devblogs.microsoft.com\/dotnet\/migrate-dotnet-maui-apps-uikit-scene-lifecycle\/\">Get Your .NET MAUI App Ready for Xcode 27<\/a> appeared first on <a href=\"https:\/\/devblogs.microsoft.com\/dotnet\">.NET Blog<\/a>.<\/p>","protected":false},"excerpt":{"rendered":"<p>Your existing .NET MAUI app builds with Xcode 27, installs on an iPhone running iOS 27, shows its splash screen, [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":94,"comment_status":"","ping_status":"","sticky":false,"template":"","format":"standard","meta":{"site-sidebar-layout":"default","site-content-layout":"","ast-site-content-layout":"default","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"","footer-sml-layout":"","ast-disable-related-posts":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"default","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"footnotes":""},"categories":[7],"tags":[],"class_list":["post-5288","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-dotnet"],"_links":{"self":[{"href":"https:\/\/rssfeedtelegrambot.bnaya.co.il\/index.php\/wp-json\/wp\/v2\/posts\/5288","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/rssfeedtelegrambot.bnaya.co.il\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/rssfeedtelegrambot.bnaya.co.il\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/rssfeedtelegrambot.bnaya.co.il\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/rssfeedtelegrambot.bnaya.co.il\/index.php\/wp-json\/wp\/v2\/comments?post=5288"}],"version-history":[{"count":0,"href":"https:\/\/rssfeedtelegrambot.bnaya.co.il\/index.php\/wp-json\/wp\/v2\/posts\/5288\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/rssfeedtelegrambot.bnaya.co.il\/index.php\/wp-json\/wp\/v2\/media\/94"}],"wp:attachment":[{"href":"https:\/\/rssfeedtelegrambot.bnaya.co.il\/index.php\/wp-json\/wp\/v2\/media?parent=5288"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/rssfeedtelegrambot.bnaya.co.il\/index.php\/wp-json\/wp\/v2\/categories?post=5288"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/rssfeedtelegrambot.bnaya.co.il\/index.php\/wp-json\/wp\/v2\/tags?post=5288"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}