1(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[8165],{8893:function(e,s,n){(window.__NEXT_P=window.__NEXT_P||[]).push(["/posts/ios_share_extension",function(){return n(9839)}])},5772:function(e,s,n){"use strict";let o=e=>{let{src:s,width:n}=e;return s};s.Z=o},8177:function(e,s,n){"use strict";var o=n(5893),t=n(1857),i=n.n(t);let r=new Date().getFullYear();s.Z={footer:(0,o.jsxs)("small",{style:{display:"block",marginTop:"8rem"},className:"jsx-7c359fde634f3543",children:[(0,o.jsx)("time",{className:"jsx-7c359fde634f3543",children:r})," \xa9 åå·ã¢ããª.",(0,o.jsx)("a",{href:"/feed.xml",className:"jsx-7c359fde634f3543",children:"RSS"}),(0,o.jsx)(i(),{id:"7c359fde634f3543",children:"a.jsx-7c359fde634f3543{float:right}@media screen and (max-width:480px){article.jsx-7c359fde634f3543{padding-top:2rem;padding-bottom:4rem}}"})]}),head:e=>{let{title:s,meta:n}=e;return(0,o.jsxs)(o.Fragment,{children:[n.description&&(0,o.jsx)("meta",{name:"description",content:n.description}),n.tag&&(0,o.jsx)("meta",{name:"keywords",content:n.tag}),n.author&&(0,o.jsx)("meta",{name:"author",content:n.author})]})},readMore:"Read More â",darkMode:!0}},9839:function(e,s,n){"use strict";n.r(s),n.d(s,{__toc:function(){return v},default:function(){return g}});var o=n(5893),t=n(2673),i=n(8473),r=n(8177);n(7707);var a=n(2643),l=n(757),c=n.n(l),d=n(5675),h=n.n(d),p=n(5772),x={src:"/_next/static/media/screen1.a5f40a2a.png",height:640,width:296,blurDataURL:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAQAAAAICAMAAADp7a43AAAACVBMVEX4+fnx8fDt6urXBw4sAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAGElEQVR4nGNgQABGRjgB4jIxMUK5TEwMAAD0ABH98EjjAAAAAElFTkSuQmCC",blurWidth:4,blurHeight:8},k={src:"/_next/static/media/screen2.461ecc71.png",height:640,width:296,blurDataURL:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAQAAAAICAMAAADp7a43AAAAHlBMVEXb3N37+vvU09Pp6uzy8/PS1t3g6ubt8u319fXJxMfvnWKLAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAJElEQVR4nEXBwQEAIAjEsPZA0f0X9mkCXxKq5lB7XXp2UMXWBwVFAFGAHaqpAAAAAElFTkSuQmCC",blurWidth:4,blurHeight:8},y={src:"/_next/static/media/screen3.eda43f6e.png",height:640,width:296,blurDataURL:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAQAAAAICAMAAADp7a43AAAAFVBMVEXv8PP4+fj09ff8/P3s7O/m5+rU3vJiT0H2AAAACXBIWXMAAAsTAAALEwEAmpwYAAAAIklEQVR4nAXBgQEAIAgDIDa1/08OtGVmIk10VYi8V+6OXR8E7gBG8L1SBgAAAABJRU5ErkJggg==",blurWidth:4,blurHeight:8},j={src:"/_next/static/media/info_plist.76b64df3.png",height:434,width:1184,blurDataURL:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAADCAMAAACZFr56AAAAFVBMVEUwJB49P0Y3OD41Li0wKCZAOThOUFfELnkpAAAACXBIWXMAABYlAAAWJQFJUiTwAAAAH0lEQVR4nGNgZmJhAANWVmZmZlZmFgZGNkYmJkZGJgAC9AA5sSD3HwAAAABJRU5ErkJggg==",blurWidth:8,blurHeight:3},u={src:"/_next/static/media/url_types.ad36ebd8.png",height:1024,width:2126,blurDataURL:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAMAAACEE47CAAAABlBMVEUvJCA1LizckWpiAAAACXBIWXMAABYlAAAWJQFJUiTwAAAAGUlEQVR4nGNgZGRkAAM4A8yE8BgZGRgZGAABLgAQ4oCtowAAAABJRU5ErkJggg==",blurWidth:8,blurHeight:4};let v=[{depth:2,value:"æ¦è¦",id:"æ¦è¦"},{depth:2,value:"Share extensions 㨠Action extension ã®ã©ã¡ãã使ãã",id:"share-extensions-ã¨-action-extension-ã®ã©ã¡ãã使ãã"},{depth:2,value:"åä½ã®æµã",id:"åä½ã®æµã"},{depth:2,value:"Containing app ã®å®è£
",id:"containing-app-ã®å®è£
"},{depth:3,value:"1. Custom URL Scheme ãè¨å®ãã",id:"1-custom-url-scheme-ãè¨å®ãã"},{depth:3,value:"2. SwiftUI ã§ onOpenURL ã¤ãã³ãããã³ããªã³ã°ãã",id:"2-swiftui-ã§-onopenurl-ã¤ãã³ãããã³ããªã³ã°ãã"},{depth:2,value:"Share Extension ã®å®è£
",id:"share-extension-ã®å®è£
"},{depth:3,value:"1. Share Extension ã Target ã«è¿½å ",id:"1-share-extension-ã-target-ã«è¿½å "},{depth:3,value:"2. ShareViewController.swift ãæ¸ãæãã",id:"2-shareviewcontrollerswift-ãæ¸ãæãã"},{depth:3,value:"3. ShareView.swift ã使",id:"3-shareviewswift-ã使"},{depth:3,value:"4. UIApplication+.swift ã使",id:"4-uiapplicationswift-ã使"},{depth:3,value:"5. Info.plist ã®è¨å®",id:"5-infoplist-ã®è¨å®"},{depth:2,value:"åè",id:"åè"}];function m(e){let s=Object.assign({h2:"h2",p:"p",a:"a",blockquote:"blockquote",ol:"ol",li:"li",h3:"h3",ul:"ul",pre:"pre",code:"code",span:"span"},(0,a.a)(),e.components);return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(s.h2,{id:"æ¦è¦",children:"æ¦è¦"}),"\n",(0,o.jsxs)(s.p,{children:[(0,o.jsx)(s.a,{href:"https://apps.apple.com/jp/app/%E5%B0%8F%E8%AA%AC%E3%82%92%E8%81%9E%E3%81%93%E3%81%86/id1061686382",children:"å°èª¬ãèãã"}),"ã® iOS ã¢ããªã« Share Extension ãå°å
¥ããSafari ããã¢ããªãéãæ©è½ãå®è£
ãã¾ããã\nä»åã¯ãã®å®è£
æ¹æ³ã説æãã¾ãã"]}),"\n",(0,o.jsx)(s.h2,{id:"share-extensions-ã¨-action-extension-ã®ã©ã¡ãã使ãã",children:"Share extensions 㨠Action extension ã®ã©ã¡ãã使ãã"}),"\n",(0,o.jsx)(s.p,{children:"Safari ããã¢ããªãéãæ©è½ãå®è£
ããã«ã¯ãShare extension 㨠Action extension ã®ã©ã¡ããã使ãã°ããããã§ãã\nApple ã®ãã¥ã¼ãã³ã¤ã³ã¿ã¼ãã§ã¼ã¹ã¬ã¤ãã©ã¤ã³ã«ã使ãåãã®è¨è¼ãããã¾ããã"}),"\n",(0,o.jsx)(s.p,{children:(0,o.jsx)(s.a,{href:"https://developer.apple.com/design/human-interface-guidelines/components/menus-and-actions/activity-views#share-and-action-extensions/",children:"Share and action extensions"})}),"\n",(0,o.jsxs)(s.blockquote,{children:["\n",(0,o.jsx)(s.p,{children:"Share extensions give people a convenient way to share information from the current context with apps, social media accounts, and other services. Action extensions let people initiate content-specific tasks â like adding a bookmark, copying a link, editing an inline image, or displaying selected text in another language â without leaving the current context."}),"\n"]}),"\n",(0,o.jsxs)(s.blockquote,{children:["\n",(0,o.jsx)(s.p,{children:"Share extension ã¯ãç¾å¨ã®ã³ã³ãã¯ã¹ãããã¢ããªã±ã¼ã·ã§ã³ãã½ã¼ã·ã£ã«ã¡ãã£ã¢ã¢ã«ã¦ã³ãããã®ä»ã®ãµã¼ãã¹ã¨æ
å ±ãå
±æããããã®ä¾¿å©ãªæ¹æ³ãæä¾ãã¾ããAction extension ã§ã¯ãããã¯ãã¼ã¯ã®è¿½å ããªã³ã¯ã®ã³ãã¼ãã¤ã³ã©ã¤ã³ç»åã
1®ç·¨éã鏿ããããã¹ãã®å¥è¨èªè¡¨ç¤ºãªã©ãã³ã³ãã³ãåºæã®ã¿ã¹ã¯ããç¾å¨ã®ã³ã³ããã¹ããé¢ãããã¨ãªãéå§ãããã¨ãã§ãã¾ãã"}),"\n"]}),"\n",(0,o.jsx)(s.p,{children:"ä»å㯠Safari ããã¢ããªãéãæ©è½ãå®è£
ããã®ã§ãShare extension ã使ããã¨ã«ãã¾ããã"}),"\n",(0,o.jsx)(s.h2,{id:"åä½ã®æµã",children:"åä½ã®æµã"}),"\n",(0,o.jsxs)(s.ol,{children:["\n",(0,o.jsx)(s.li,{children:"Host app(Safari)ã®å
±æãã¿ã³ãã¿ãã > Containing app(å°èª¬ãèãã)ãã¿ããã"}),"\n"]}),"\n",(0,o.jsxs)("div",{className:c().screenshots,children:[(0,o.jsx)(h(),{loader:p.Z,src:x,width:180}),(0,o.jsx)(h(),{loader:p.Z,src:k,width:180})]}),"\n",(0,o.jsxs)(s.ol,{start:"2",children:["\n",(0,o.jsx)(s.li,{children:"Share Extension 㯠Host app ã® URL ãåå¾ããCustom URL Scheme ã§ Containing app ãéãããã®æãHost app ã® URL 㯠ã¨ã³ã³ã¼ãã㦠Custom URL Scheme ã®ãã¹ãé¨ã«æå®ãã(ä¾: listen-to-novels://https%3A%2F%2Fwww.google.com)"}),"\n",(0,o.jsx)(s.li,{children:"Containing app 㯠Custom URL Scheme ã®ãã¹ãé¨ã ãã³ã¼ããã¦ããã® URL ã WebView ã§è¡¨ç¤ºããã"}),"\n"]}),"\n",(0,o.jsx)("div",{className:c().screenshots,children:(0,o.jsx)(h(),{loader:p.Z,src:y,width:180})}),"\n",(0,o.jsx)(s.h2,{id:"containing-app-ã®å®è£
",children:"Containing app ã®å®è£
"}),"\n",(0,o.jsx)(s.h3,{id:"1-custom-url-scheme-ãè¨å®ãã",children:"1. Custom URL Scheme ãè¨å®ãã"}),"\n",(0,o.jsx)(s.p,{children:"Target > Info > URL Types ã«ä»¥ä¸ã®ããã«å
¥åãã¦ãã ããã"}),"\n",(0,o.jsxs)(s.ul,{children:["\n",(0,o.jsx)(s.li,{children:"Identifier: $(PRODUCT_BUNDLE_IDENTIFIER)"}),"\n",(0,o.jsx)(s.li,{children:"URL Scheme: ä»»æã§ä»ã®ã¢ããªã¨éè¤ããªãæåå"}),"\n",(0,o.jsx)(s.li,{children:"Icon: None"}),"\n",(0,o.jsx)(s.li,{children:"Role: Editor"}),"\n"]}),"\n",(0,o.jsx)(h(),{loader:p.Z,src:u}),"\n",(0,o.jsx)(s.h3,{id:"2-swiftui-ã§-onopenurl-ã¤ãã³ãããã³ããªã³ã°ãã",children:"2. SwiftUI ã§ onOpenURL ã¤ãã³ãããã³ããªã³ã°ãã"}),"\n",(0,o.jsx)(s.p,{children:"ã¡ã¤ã³ã® WindowGroup ç´ä¸ã®ãã¥ã¼ã« onOpenURL 修飾åãæå®ãã¾ãã\nãã®ä¸ã§ãCustom URL Scheme ã®ãã¹ãé¨ã«æå®ããã URL ãéãå¦çãå®è£
ãã¾ãã"}),"\n",(0,o.jsx)(s.pre,{"data-language":"swift","data-theme":"default",filename:"ListenToNovelsApp.swift",children:(0,o.jsxs)(s.code,{"data-language":"swift","data-theme":"default",children:[(0,o.jsx)(s.span,{className:"line",children:(0,o.jsx)(s.span,{style:{color:"var(--shiki-token-keyword)"},children:"@main"})}),"\n",(0,o.jsxs)(s.span,{className:"line",children:[(0,o.jsx)(s.span,{style:{color:"var(--shiki-token-keyword)"},children:"class"}),(0,o.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(s.span,{style:{color:"var(--shiki-token-function)"},children:"ListenToNovelsApp"}),(0,o.jsx)(s.span,{style:{color:"var(--shiki-token-punctuation)"},children:":"}),(0,o.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(s.span,{style:{color:"var(--shiki-token-function)"},children:"App "}),(0,o.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:"{"})]}),"\n",(0,o.jsxs)(s.span,{className:"line",children:[(0,o.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(s.span,{style:{color:"var(--shiki-token-keyword)"},children:"var"}),(0,o.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:" body: "}),(0,o.jsx)(s.span,{style:{color:"var(--shiki-token-keyword)"},children:"some"}),(0,o.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:" Scene {"})]}),"\n",(0,o.jsxs)(s.span,{className:"line",children:[(0,o.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(s.span,{style:{color:"var(--shiki-token-function)"},children:"WindowGroup"}),(0,o.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,o.jsxs)(s.span,{className:"line",children:[(0,o.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(s.span,{style:{color:"var(--shiki-token-function)"},children:"RootView"}),(0,o.jsx)(s.span,{style:{color:"var(--shiki-token-punctuation)"}
1,children:"()"})]}),"\n",(0,o.jsxs)(s.span,{className:"line",children:[(0,o.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:" ."}),(0,o.jsx)(s.span,{style:{color:"var(--shiki-token-function)"},children:"onOpenURL"}),(0,o.jsx)(s.span,{style:{color:"var(--shiki-token-punctuation)"},children:"("}),(0,o.jsx)(s.span,{style:{color:"var(--shiki-token-function)"},children:"perform"}),(0,o.jsx)(s.span,{style:{color:"var(--shiki-token-punctuation)"},children:":"}),(0,o.jsx)(s.span,{style:{color:"var(--shiki-token-function)"},children:" { url "}),(0,o.jsx)(s.span,{style:{color:"var(--shiki-token-keyword)"},children:"in"})]}),"\n",(0,o.jsxs)(s.span,{className:"line",children:[(0,o.jsx)(s.span,{style:{color:"var(--shiki-token-function)"},children:" "}),(0,o.jsx)(s.span,{style:{color:"var(--shiki-token-comment)"},children:"// url.hostã«URLããã¼ã»ã³ãã¨ã³ã³ã¼ãããæååãå
¥ã£ã¦ããã®ã§ããã³ã¼ããã¦URLãéã"})]}),"\n",(0,o.jsxs)(s.span,{className:"line",children:[(0,o.jsx)(s.span,{style:{color:"var(--shiki-token-function)"},children:" "}),(0,o.jsx)(s.span,{style:{color:"var(--shiki-token-keyword)"},children:"if"}),(0,o.jsx)(s.span,{style:{color:"var(--shiki-token-function)"},children:" "}),(0,o.jsx)(s.span,{style:{color:"var(--shiki-token-keyword)"},children:"let"}),(0,o.jsx)(s.span,{style:{color:"var(--shiki-token-function)"},children:" host "}),(0,o.jsx)(s.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,o.jsx)(s.span,{style:{color:"var(--shiki-token-function)"},children:" url.host,"})]}),"\n",(0,o.jsxs)(s.span,{className:"line",children:[(0,o.jsx)(s.span,{style:{color:"var(--shiki-token-function)"},children:" "}),(0,o.jsx)(s.span,{style:{color:"var(--shiki-token-keyword)"},children:"let"}),(0,o.jsx)(s.span,{style:{color:"var(--shiki-token-function)"},children:" urlString "}),(0,o.jsx)(s.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,o.jsx)(s.span,{style:{color:"var(--shiki-token-function)"},children:" host.removingPercentEncoding {"})]}),"\n",(0,o.jsxs)(s.span,{className:"line",children:[(0,o.jsx)(s.span,{style:{color:"var(--shiki-token-function)"},children:" "}),(0,o.jsx)(s.span,{style:{color:"var(--shiki-token-comment)"},children:"// URLãWebViewã§éãå¦ç"})]}),"\n",(0,o.jsxs)(s.span,{className:"line",children:[(0,o.jsx)(s.span,{style:{color:"var(--shiki-token-function)"},children:" self.store.dispatch"}),(0,o.jsx)(s.span,{style:{color:"var(--shiki-token-punctuation)"},children:"("}),(0,o.jsx)(s.span,{style:{color:"var(--shiki-token-function)"},children:"MainAction.GoToNovelPage"}),(0,o.jsx)(s.span,{style:{color:"var(--shiki-token-punctuation)"},children:"("}),(0,o.jsx)(s.span,{style:{color:"var(--shiki-token-function)"},children:"url"}),(0,o.jsx)(s.span,{style:{color:"var(--shiki-token-punctuation)"},children:":"}),(0,o.jsx)(s.span,{style:{color:"var(--shiki-token-function)"},children:" urlString"}),(0,o.jsx)(s.span,{style:{color:"var(--shiki-token-punctuation)"},children:"))"})]}),"\n",(0,o.jsx)(s.span,{className:"line",children:(0,o.jsx)(s.span,{style:{color:"var(--shiki-token-function)"},children:" }"})}),"\n",(0,o.jsxs)(s.span,{className:"line",children:[(0,o.jsx)(s.span,{style:{color:"var(--shiki-token-function)"},children:" }"}),(0,o.jsx)(s.span,{style:{color:"var(--shiki-token-punctuation)"},children:")"})]}),"\n",(0,o.jsx)(s.span,{className:"line",children:(0,o.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:" }"})}),"\n",(0,o.jsx)(s.span,{className:"line",children:(0,o.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:" }"})})]})}),"\n",(0,o.jsx)(s.h2,{id:"share-extension-ã®å®è£
",children:"Share Extension ã®å®è£
"}),"\n",(0,o.jsx)(s.h3,{id:"1-share-extension-ã-target-ã«è¿½å ",children:"1. Share Extension ã Target ã«è¿½å "}),"\n",(0,o.jsx)(s.p,{children:"File > New > Target... ãã Share Extension ã鏿ã"}
1),"\n",(0,o.jsx)(s.p,{children:"Product Name ã¯ãShareExtensionãã«ãã¾ããã"}),"\n",(0,o.jsx)(s.h3,{id:"2-shareviewcontrollerswift-ãæ¸ãæãã",children:"2. ShareViewController.swift ãæ¸ãæãã"}),"\n",(0,o.jsx)(s.p,{children:"Host app ããæ¸¡ããã URL ãåå¾ããCustom URL Scheme ã§ Containing app ãéãå¦çãå®è£
ãã¾ãã"}),"\n",(0,o.jsx)(s.pre,{"data-language":"swift","data-theme":"default",filename:"ShareViewController.swift",children:(0,o.jsxs)(s.code,{"data-language":"swift","data-theme":"default",children:[(0,o.jsxs)(s.span,{className:"line",children:[(0,o.jsx)(s.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,o.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(s.span,{style:{color:"var(--shiki-token-function)"},children:"SwiftUI"})]}),"\n",(0,o.jsxs)(s.span,{className:"line",children:[(0,o.jsx)(s.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,o.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(s.span,{style:{color:"var(--shiki-token-function)"},children:"UniformTypeIdentifiers"})]}),"\n",(0,o.jsx)(s.span,{className:"line",children:" "}),"\n",(0,o.jsxs)(s.span,{className:"line",children:[(0,o.jsx)(s.span,{style:{color:"var(--shiki-token-keyword)"},children:"class"}),(0,o.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(s.span,{style:{color:"var(--shiki-token-function)"},children:"ShareViewController"}),(0,o.jsx)(s.span,{style:{color:"var(--shiki-token-punctuation)"},children:":"}),(0,o.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(s.span,{style:{color:"var(--shiki-token-function)"},children:"UIHostingController"}),(0,o.jsx)(s.span,{style:{color:"var(--shiki-token-punctuation)"},children:"<"}),(0,o.jsx)(s.span,{style:{color:"var(--shiki-token-function)"},children:"ShareView"}),(0,o.jsx)(s.span,{style:{color:"var(--shiki-token-punctuation)"},children:">"}),(0,o.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,o.jsxs)(s.span,{className:"line",children:[(0,o.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(s.span,{style:{color:"var(--shiki-token-keyword)"},children:"enum"}),(0,o.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(s.span,{style:{color:"var(--shiki-token-function)"},children:"ShareError"}),(0,o.jsx)(s.span,{style:{color:"var(--shiki-token-punctuation)"},children:":"}),(0,o.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(s.span,{style:{color:"var(--shiki-token-constant)"},children:"Error"}),(0,o.jsx)(s.span,{style:{color:"var(--shiki-token-function)"},children:" "}),(0,o.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:"{"})]}),"\n",(0,o.jsxs)(s.span,{className:"line",children:[(0,o.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(s.span,{style:{color:"var(--shiki-token-keyword)"},children:"case"}),(0,o.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:" cancel"})]}),"\n",(0,o.jsx)(s.span,{className:"line",children:(0,o.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:" }"})}),"\n",(0,o.jsx)(s.span,{className:"line",children:" "}),"\n",(0,o.jsxs)(s.span,{className:"line",children:[(0,o.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(s.span,{style:{color:"var(--shiki-token-keyword)"},children:"required"}),(0,o.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(s.span,{style:{color:"var(--shiki-token-keyword)"},children:"init?"}),(0,o.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,o.jsx)(s.span,{style:{color:"var(--shiki-token-function)"},children:"coder"}),(0,o.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:": NSCoder) {"})]}),"\n",(0,o.jsxs)(s.span,{className:"line",children:[(0,o.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:" super."}),(0,o.jsx)(s.span,{style:{color:"var(--shiki-token-keyword)"},children:"init"}),(0,o.jsx)(s.span,{style:{color:"var(--shiki-token-punctuation)"},children:"("}),(0,o.jsx)(s.span,{style:{color:"var(--shiki-token-function)"},children:"coder"}),(0,o.jsx)(s.span,{style:{color:"var(--shiki-token-punctuation)"},children:":"}),(0,o.jsx)(s.span,{style:{color:"var(--shiki-token-function)"}
1,children:" coder, rootView"}),(0,o.jsx)(s.span,{style:{color:"var(--shiki-token-punctuation)"},children:":"}),(0,o.jsx)(s.span,{style:{color:"var(--shiki-token-function)"},children:" ShareView"}),(0,o.jsx)(s.span,{style:{color:"var(--shiki-token-punctuation)"},children:"())"})]}),"\n",(0,o.jsx)(s.span,{className:"line",children:(0,o.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:" }"})}),"\n",(0,o.jsx)(s.span,{className:"line",children:" "}),"\n",(0,o.jsxs)(s.span,{className:"line",children:[(0,o.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(s.span,{style:{color:"var(--shiki-token-keyword)"},children:"override"}),(0,o.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(s.span,{style:{color:"var(--shiki-token-keyword)"},children:"func"}),(0,o.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(s.span,{style:{color:"var(--shiki-token-function)"},children:"viewDidLoad"}),(0,o.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:"() {"})]}),"\n",(0,o.jsxs)(s.span,{className:"line",children:[(0,o.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:" super."}),(0,o.jsx)(s.span,{style:{color:"var(--shiki-token-function)"},children:"viewDidLoad"}),(0,o.jsx)(s.span,{style:{color:"var(--shiki-token-punctuation)"},children:"()"})]}),"\n",(0,o.jsxs)(s.span,{className:"line",children:[(0,o.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(s.span,{style:{color:"var(--shiki-token-function)"},children:"Task"}),(0,o.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,o.jsxs)(s.span,{className:"line",children:[(0,o.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(s.span,{style:{color:"var(--shiki-token-constant)"},children:"_"}),(0,o.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(s.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,o.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(s.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,o.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(s.span,{style:{color:"var(--shiki-token-function)"},children:"openAppWithUrl"}),(0,o.jsx)(s.span,{style:{color:"var(--shiki-token-punctuation)"},children:"()"})]}),"\n",(0,o.jsx)(s.span,{className:"line",children:(0,o.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:" }"})}),"\n",(0,o.jsx)(s.span,{className:"line",children:(0,o.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:" }"})}),"\n",(0,o.jsx)(s.span,{className:"line",children:" "}),"\n",(0,o.jsxs)(s.span,{className:"line",children:[(0,o.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(s.span,{style:{color:"var(--shiki-token-keyword)"},children:"override"}),(0,o.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(s.span,{style:{color:"var(--shiki-token-keyword)"},children:"func"}),(0,o.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(s.span,{style:{color:"var(--shiki-token-function)"},children:"viewDidAppear"}),(0,o.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:"("}),(0,o.jsx)(s.span,{style:{color:"var(--shiki-token-function)"},children:"_"}),(0,o.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(s.span,{style:{color:"var(--shiki-token-parameter)"},children:"animated"}),(0,o.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:": "}),(0,o.jsx)(s.span,{style:{color:"var(--shiki-token-constant)"},children:"Bool"}),(0,o.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:") {"})]}),"\n",(0,o.jsxs)(s.span,{className:"line",children:[(0,o.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:" super."}),(0,o.jsx)(s.span,{style:{color:"var(--shiki-token-function)"},children:"viewDidAppear"}),(0,o.jsx)(s.span,{style:{color:"var(--shiki-token-punctuation)"},children:"("}),(0,o.jsx)(s.span,{style:{color:"var(--shiki-token-function)"},children:"animated"}),(0,o.jsx)(s.span,{style:{color:"var(--shiki-token-punctuation)"},children:")"})]}),"\n",(0,o.jsxs)(s.span,{className:"line",children:[(0,o.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:" extensionContext"}),(0,o.jsx)(s.span,{style:{color:"var(--shiki-token-keyword)"},children:"?"}),(0,o.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,o.jsx)(s.span,{style:{color:"var(--shiki-token-function)"},children:"completeRequest"}),(0,o.jsx)(s.span,{style:{color:"var(--shiki-token-punctuation)"},children:"("}),(0,o.jsx)(s.span,{style:{color:"var(--shiki-token-function)"},children:"returningItems"}),(0,o.jsx)(s.span,{style:{color:"var(--shiki-token-punctuation)"},children:":"}),(0,o.jsx)(s.span,{style:{color:"var(--shiki-token-function)"},children:" "}),(0,o.jsx)(s.span,{style:{color:"var(--shiki-token-constant)"},children:"nil"}),(0,o.jsx)(s.span,{style:{color:"var(--shiki-token-punctuation)"},children:")"})]}),"\n",(0,o.jsx)(s.span,{className:"line",children:(0,o.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:" }"})}),"\n",(0,o.jsx)(s.span,{className:"line",children:" "}),"\n",(0,o.jsxs)(s.span,{className:"line",children:[(0,o.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(s.span,{style:{color:"var(--shiki-token-keyword)"},children:"private"}),(0,o.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(s.span,{style:{color:"var(--shiki-token-keyword)"},children:"func"}),(0,o.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(s.span,{style:{color:"var(--shiki-token-function)"},children:"openAppWithUrl"}),(0,o.jsx)(s.span,{style:{color:"var(--shiki-color-text)"}
1,children:"() "}),(0,o.jsx)(s.span,{style:{color:"var(--shiki-token-keyword)"},children:"async"}),(0,o.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(s.span,{style:{color:"var(--shiki-token-keyword)"},children:"->"}),(0,o.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(s.span,{style:{color:"var(--shiki-token-constant)"},children:"Bool"}),(0,o.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,o.jsxs)(s.span,{className:"line",children:[(0,o.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(s.span,{style:{color:"var(--shiki-token-keyword)"},children:"guard"}),(0,o.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(s.span,{style:{color:"var(--shiki-token-keyword)"},children:"let"}),(0,o.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:" item "}),(0,o.jsx)(s.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,o.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:" extensionContext"}),(0,o.jsx)(s.span,{style:{color:"var(--shiki-token-keyword)"},children:"?"}),(0,o.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:".inputItems."}),(0,o.jsx)(s.span,{style:{color:"var(--shiki-token-constant)"},children:"first"}),(0,o.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(s.span,{style:{color:"var(--shiki-token-keyword)"},children:"as?"}),(0,o.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:" NSExtensionItem,"})]}),"\n",(0,o.jsxs)(s.span,{className:"line",children:[(0,o.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(s.span,{style:{color:"var(--shiki-token-keyword)"},children:"let"}),(0,o.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:" itemProvider "}),(0,o.jsx)(s.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,o.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:" item.attachments"}),(0,o.jsx)(s.span,{style:{color:"var(--shiki-token-keyword)"},children:"?"}),(0,o.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,o.jsx)(s.span,{style:{color:"var(--shiki-token-constant)"},children:"first"}),(0,o.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(s.span,{style:{color:"var(--shiki-token-keyword)"},children:"else"}),(0,o.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:" { "}),(0,o.jsx)(s.span,{style:{color:"var(--shiki-token-keyword)"},children:"return"}),(0,o.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(s.span,{style:{color:"var(--shiki-token-constant)"},children:"false"}),(0,o.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:" }"})]}),"\n",(0,o.jsxs)(s.span,{className:"line",children:[(0,o.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(s.span,{style:{color:"var(--shiki-token-keyword)"},children:"guard"}),(0,o.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:" itemProvider."}),(0,o.jsx)(s.span,{style:{color:"var(--shiki-token-function)"},children:"hasItemConformingToTypeIdentifier"}),(0,o.jsx)(s.span,{style:{color:"var(--shiki-token-punctuation)"},children:"("}),(0,o.jsx)(s.span,{style:{color:"var(--shiki-token-function)"},children:"UTType."}),(0,o.jsx)(s.span,{style:{color:"var(--shiki-token-constant)"},children:"url"}),(0,o.jsx)(s.span,{style:{color:"var(--shiki-token-function)"},children:".identifier"}),(0,o.jsx)(s.span,{style:{color:"var(--shiki-token-punctuation)"},children:")"}),(0,o.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(s.span,{style:{color:"var(--shiki-token-keyword)"},children:"else"}),(0,o.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:" { "}),(0,o.jsx)(s.span,{style:{color:"var(--shiki-token-keyword)"},children:"return"}),(0,o.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(s.span,{style:{color:"var(--shiki-token-constant)"},children:"false"}),(0,o.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:" }"})]}),"\n",(0,o.jsxs)(s.span,{className:"line",children:[(0,o.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(s.span,{style:{color:"var(--shiki-token-keyword)"},children:"do"}),(0,o.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,o.jsxs)(s.span,{className:"line",children:[(0,o.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(s.span,{style:{color:"var(--shiki-token-keyword)"},children:"let"}),(0,o.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:" data "}),(0,o.jsx)(s.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,o.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(s.span,{style:{color:"var(--shiki-token-keyword)"},children:"try"}),(0,o.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(s.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,o.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:" itemProvider."}),(0,o.jsx)(s.span,{style:{color:"var(--shiki-token-function)"},children:"loadItem"}),(0,o.jsx)(s.span,{style:{color:"var(--shiki-token-punctuation)"},children:"("}),(0,o.jsx)(s.span,{style:{color:"var(--shiki-token-function)"},children:"forTypeIdentifier"}),(0,o.jsx)(s.span,{style:{color:"var(--shiki-token-punctuation)"},children:":"}),(0,o.jsx)(s.span,{style:{color:"var(--shiki-token-function)"},children:" UTType."}),(0,o.jsx)(s.span,{style:{color:"var(--shiki-token-constant)"},children:"url"}),(0,o.jsx)(s.span,{style:{color:"var(--shiki-token-function)"},children:".identifier, options"}),(0,o.jsx)(s.span,{style:{color:"var(--shiki-token-punctuation)"},children:":"}),(0,o.jsx)(s.span,{style:{color:"var(--shiki-token-function)"},children:" "}),(0,o.jsx)(s.span,{style:{color:"var(--shiki-token-constant)"},children:"nil"}),(0,o.jsx)(s.span,{style:{color:"var(--shiki-token-punctuation)"},children:")"})]}),"\n",(0,o.jsxs)(s.span,{className:"line",children:[(0,o.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(s.span,{style:{color:"var(--shiki-token-comment)"},children:"// URLããã¼ã»ã³ãã¨ã³ã³ã¼ãããCustom URL Schemeã®ãã¹ãé¨ã«æå®ãã¦openURLã§ã¢ããªãéã"})]}),"\n",(0,o.jsxs)(s.span,{className:"line",children:[(0,o.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(s.span,{style:{color:"var(--shiki-token-keyword)"},children:"guard"}),(0,o.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(s.span,{style:{color:"var(--shiki-token-keyword)"},children:"let"}),(0,o.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:" url "}),(0,o.jsx)(s.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,o.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:" data "}),(0,o.jsx)(s.span,{style:{color:"var(--shiki-token-keyword)"},children:"as?"}),(0,o.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:" NSURL,"})]}),"\n",(0,o.jsxs)(s.span,{className:"line",children:[(0,o.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(s.span,{style:{color:"var(--shiki-token-keyword)"},children:"let"}),(0,o.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:" encodedUrl "}),(0,o.jsx)(s.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,o.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:" url.absoluteString"}),(0,o.jsx)(s.span,{style:{color:"var(--shiki-token-keyword)"},children:"?"}),(0,o.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,o.jsx)(s.span,{style:{color:"var(--shiki-token-function)"},children:"addingPercentEncoding"}),(0,o.jsx)(s.span,{style:{color:"var(--shiki-token-punctuation)"},children:"("}),(0,o.jsx)(s.span,{style:{color:"var(--shiki-token-function)"},children:"withAllowedCharacters"}),(0,o.jsx)(s.span,{style:{color:"var(--shiki-token-punctuation)"},children:":"}),(0,o.jsx)(s.span,{style:{color:"var(--shiki-token-function)"},children:" .urlHostAllowed"}),(0,o.jsx)(s.span,{style:{color:"var(--shiki-token-punctuation)"},children:")"}),(0,o.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:","})]}),"\n",(0,o.jsxs)(s.span,{className:"line",children:[(0,o.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(s.span,{style:{color:"var(--shiki-token-keyword)"},children:"let"}),(0,o.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:" openAppUrl "}),(0,o.jsx)(s.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,o.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(s.span,{style:{color:"var(--shiki-token-function)"},children:"URL"}),(0,o.jsx)(s.span,{style:{color:"var(--shiki-token-punctuation)"},children:"("}),(0,o.jsx)(s.span,{style:{color:"var(--shiki-token-function)"},children:"string"}),(0,o.jsx)(s.span,{style:{color:"var(--shiki-token-punctuation)"},children:":"}),(0,o.jsx)(s.span,{style:{color:"var(--shiki-token-function)"},children:" "}),(0,o.jsx)(s.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"listen-to-novels://'}),(0,o.jsx)(s.span,{style:{color:"var(--shiki-token-string-expression)"},children:"\\(encodedUrl)"}),(0,o.jsx)(s.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"'}),(0,o.jsx)(s.span,{style:{color:"var(--shiki-token-punctuation)"},children:")"})]}),"\n",(0,o.jsxs)(s.span,{className:"line",children:[(0,o.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(s.span,{style:{color:"var(--shiki-token-keyword)"},children:"else"}),(0,o.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:" { "}),(0,o.jsx)(s.span,{style:{color:"var(--shiki-token-keyword)"},children:"return"}),(0,o.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(s.span,{style:{color:"var(--shiki-token-constant)"},children:"false"}),(0,o.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:" }"})]}),"\n",(0,o.jsxs)(s.span,{className:"line",children:[(0,o.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(s.span,{style:{color:"var(--shiki-token-keyword)"},children:"return"}),(0,o.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(s.span,{style:{color:"var(--shiki-token-keyword)"},children:"await"}),(0,o.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:" UIApplication."}),(0,o.jsx)(s.span,{style:{color:"var(--shiki-token-function)"},children:"sharedApplication"}),(0,o.jsx)(s.span,{style:{color:"var(--shiki-token-punctuation)"}
1,children:"()"}),(0,o.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:"."}),(0,o.jsx)(s.span,{style:{color:"var(--shiki-token-function)"},children:"open"}),(0,o.jsx)(s.span,{style:{color:"var(--shiki-token-punctuation)"},children:"("}),(0,o.jsx)(s.span,{style:{color:"var(--shiki-token-function)"},children:"openAppUrl"}),(0,o.jsx)(s.span,{style:{color:"var(--shiki-token-punctuation)"},children:")"})]}),"\n",(0,o.jsxs)(s.span,{className:"line",children:[(0,o.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:" } "}),(0,o.jsx)(s.span,{style:{color:"var(--shiki-token-keyword)"},children:"catch"}),(0,o.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(s.span,{style:{color:"var(--shiki-token-keyword)"},children:"let"}),(0,o.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(s.span,{style:{color:"var(--shiki-token-function)"},children:"error"}),(0,o.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,o.jsxs)(s.span,{className:"line",children:[(0,o.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(s.span,{style:{color:"var(--shiki-token-function)"},children:"print"}),(0,o.jsx)(s.span,{style:{color:"var(--shiki-token-punctuation)"},children:"("}),(0,o.jsx)(s.span,{style:{color:"var(--shiki-token-function)"},children:"error"}),(0,o.jsx)(s.span,{style:{color:"var(--shiki-token-punctuation)"},children:")"})]}),"\n",(0,o.jsxs)(s.span,{className:"line",children:[(0,o.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(s.span,{style:{color:"var(--shiki-token-keyword)"},children:"return"}),(0,o.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(s.span,{style:{color:"var(--shiki-token-constant)"},children:"false"})]}),"\n",(0,o.jsx)(s.span,{className:"line",children:(0,o.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:" }"})}),"\n",(0,o.jsx)(s.span,{className:"line",children:(0,o.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:" }"})}),"\n",(0,o.jsx)(s.span,{className:"line",children:(0,o.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:"}"})})]})}),"\n",(0,o.jsx)(s.h3,{id:"3-shareviewswift-ã使",children:"3. ShareView.swift ã使"}),"\n",(0,o.jsx)(s.p,{children:"ãã®ã¯ã©ã¹ã¯ SwiftUI ã§ UI ãæ§ç¯ããããã«ããã¾ãããä»å㯠UI ã¯ä½¿ããªãã®ã§ãbody ã« EmptyView()ãæå®ãã¾ãã"}),"\n",(0,o.jsx)(s.pre,{"data-language":"swift","data-theme":"default",filename:"ShareView.swift",children:(0,o.jsxs)(s.code,{"data-language":"swift","data-theme":"default",children:[(0,o.jsxs)(s.span,{className:"line",children:[(0,o.jsx)(s.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,o.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(s.span,{style:{color:"var(--shiki-token-function)"},children:"SwiftUI"})]}),"\n",(0,o.jsx)(s.span,{className:"line",children:" "}),"\n",(0,o.jsxs)(s.span,{className:"line",children:[(0,o.jsx)(s.span,{style:{color:"var(--shiki-token-keyword)"},children:"struct"}),(0,o.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(s.span,{style:{color:"var(--shiki-token-function)"},children:"ShareView"}),(0,o.jsx)(s.span,{style:{color:"var(--shiki-token-punctuation)"},children:":"}),(0,o.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(s.span,{style:{color:"var(--shiki-token-function)"},children:"View "}),(0,o.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:"{"})]}),"\n",(0,o.jsxs)(s.span,{className:"line",children:[(0,o.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(s.span,{style:{color:"var(--shiki-token-keyword)"},children:"var"}),(0,o.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:" body: "}),(0,o.jsx)(s.span,{style:{color:"var(--shiki-token-keyword)"},children:"some"}),(0,o.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:" View {"})]}),"\n",(0,o.jsxs)(s.span,{className:"line",children:[(0,o.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(s.span,{style:{color:"var(--shiki-token-function)"},children:"EmptyView"}),(0,o.jsx)(s.span,{style:{color:"var(--shiki-token-punctuation)"}
1,children:"()"})]}),"\n",(0,o.jsxs)(s.span,{className:"line",children:[(0,o.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(s.span,{style:{color:"var(--shiki-token-comment)"},children:"// UIãå¿
è¦ãªå ´åã¯ããã«æ¸ã"})]}),"\n",(0,o.jsxs)(s.span,{className:"line",children:[(0,o.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(s.span,{style:{color:"var(--shiki-token-comment)"},children:"// https://qiita.com/mume/items/61091237085d9948724c"})]}),"\n",(0,o.jsx)(s.span,{className:"line",children:(0,o.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:" }"})}),"\n",(0,o.jsx)(s.span,{className:"line",children:(0,o.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:"}"})})]})}),"\n",(0,o.jsx)(s.h3,{id:"4-uiapplicationswift-ã使",children:"4. UIApplication+.swift ã使"}),"\n",(0,o.jsx)(s.p,{children:"Share extension ãã openURL ã¡ã½ãããå¼ã³åºãããã®é»éè¡ãæ¸ãã¾ãã"}),"\n",(0,o.jsx)(s.pre,{"data-language":"swift","data-theme":"default",filename:"UIApplication+.swift",children:(0,o.jsxs)(s.code,{"data-language":"swift","data-theme":"default",children:[(0,o.jsxs)(s.span,{className:"line",children:[(0,o.jsx)(s.span,{style:{color:"var(--shiki-token-keyword)"},children:"import"}),(0,o.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(s.span,{style:{color:"var(--shiki-token-function)"},children:"UIKit"})]}),"\n",(0,o.jsx)(s.span,{className:"line",children:" "}),"\n",(0,o.jsxs)(s.span,{className:"line",children:[(0,o.jsx)(s.span,{style:{color:"var(--shiki-token-keyword)"},children:"extension"}),(0,o.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(s.span,{style:{color:"var(--shiki-token-function)"},children:"UIApplication"}),(0,o.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,o.jsx)(s.span,{className:"line",children:" "}),"\n",(0,o.jsxs)(s.span,{className:"line",children:[(0,o.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(s.span,{style:{color:"var(--shiki-token-comment)"},children:"// https://stackoverflow.com/a/36925156/4791194"})]}),"\n",(0,o.jsxs)(s.span,{className:"line",children:[(0,o.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(s.span,{style:{color:"var(--shiki-token-keyword)"},children:"public"}),(0,o.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(s.span,{style:{color:"var(--shiki-token-keyword)"},children:"static"}),(0,o.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(s.span,{style:{color:"var(--shiki-token-keyword)"},children:"func"}),(0,o.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(s.span,{style:{color:"var(--shiki-token-function)"},children:"sharedApplication"}),(0,o.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:"() "}),(0,o.jsx)(s.span,{style:{color:"var(--shiki-token-keyword)"},children:"->"}),(0,o.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:" UIApplication {"})]}),"\n",(0,o.jsxs)(s.span,{className:"line",children:[(0,o.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(s.span,{style:{color:"var(--shiki-token-keyword)"},children:"guard"}),(0,o.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:" UIApplication."}),(0,o.jsx)(s.span,{style:{color:"var(--shiki-token-function)"},children:"responds"}),(0,o.jsx)(s.span,{style:{color:"var(--shiki-token-punctuation)"},children:"("}),(0,o.jsx)(s.span,{style:{color:"var(--shiki-token-function)"},children:"to"}),(0,o.jsx)(s.span,{style:{color:"var(--shiki-token-punctuation)"},children:":"}),(0,o.jsx)(s.span,{style:{color:"var(--shiki-token-function)"},children:" Selector"}),(0,o.jsx)(s.span,{style:{color:"var(--shiki-token-punctuation)"},children:"("}),(0,o.jsx)(s.span,{style:{color:"var(--shiki-token-function)"},children:"("}),(0,o.jsx)(s.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"sharedApplication"'}),(0,o.jsx)(s.span,{style:{color:"var(--shiki-token-function)"},children:")"}),(0,o.jsx)(s.span,{style:{color:"var(--shiki-token-punctuation)"},children:"))"}),(0,o.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(s.span,{style:{color:"var(--shiki-token-keyword)"},children:"else"}),(0,o.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,o.jsxs)(s.span,{className:"line",children:[(0,o.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(s.span,{style:{color:"var(--shiki-token-function)"},children:"fatalError"}),(0,o.jsx)(s.span,{style:{color:"var(--shiki-token-punctuation)"},children:"("}),(0,o.jsx)(s.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"UIApplication.sharedKeyboardApplication(): `UIApplication` does not respond to selector `sharedApplication`."'}),(0,o.jsx)(s.span,{style:{color:"var(--shiki-token-punctuation)"},children:")"})]}),"\n",(0,o.jsx)(s.span,{className:"line",children:(0,o.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:" }"})}),"\n",(0,o.jsx)(s.span,{className:"line",children:" "}),"\n",(0,o.jsxs)(s.span,{className:"line",children:[(0,o.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(s.span,{style:{color:"var(--shiki-token-keyword)"},children:"guard"}),(0,o.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(s.span,{style:{color:"var(--shiki-token-keyword)"},children:"let"}),(0,o.jsx)(s.span,{style:{color:"var(--shiki-color-text)"}
1,children:" unmanagedSharedApplication "}),(0,o.jsx)(s.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,o.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:" UIApplication."}),(0,o.jsx)(s.span,{style:{color:"var(--shiki-token-function)"},children:"perform"}),(0,o.jsx)(s.span,{style:{color:"var(--shiki-token-punctuation)"},children:"("}),(0,o.jsx)(s.span,{style:{color:"var(--shiki-token-function)"},children:"Selector"}),(0,o.jsx)(s.span,{style:{color:"var(--shiki-token-punctuation)"},children:"("}),(0,o.jsx)(s.span,{style:{color:"var(--shiki-token-function)"},children:"("}),(0,o.jsx)(s.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"sharedApplication"'}),(0,o.jsx)(s.span,{style:{color:"var(--shiki-token-function)"},children:")"}),(0,o.jsx)(s.span,{style:{color:"var(--shiki-token-punctuation)"},children:"))"}),(0,o.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(s.span,{style:{color:"var(--shiki-token-keyword)"},children:"else"}),(0,o.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,o.jsxs)(s.span,{className:"line",children:[(0,o.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(s.span,{style:{color:"var(--shiki-token-function)"},children:"fatalError"}),(0,o.jsx)(s.span,{style:{color:"var(--shiki-token-punctuation)"},children:"("}),(0,o.jsx)(s.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"UIApplication.sharedKeyboardApplication(): `UIApplication.sharedApplication()` returned `nil`."'}),(0,o.jsx)(s.span,{style:{color:"var(--shiki-token-punctuation)"},children:")"})]}),"\n",(0,o.jsx)(s.span,{className:"line",children:(0,o.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:" }"})}),"\n",(0,o.jsx)(s.span,{className:"line",children:" "}),"\n",(0,o.jsxs)(s.span,{className:"line",children:[(0,o.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(s.span,{style:{color:"var(--shiki-token-keyword)"},children:"guard"}),(0,o.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(s.span,{style:{color:"var(--shiki-token-keyword)"},children:"let"}),(0,o.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:" sharedApplication "}),(0,o.jsx)(s.span,{style:{color:"var(--shiki-token-keyword)"},children:"="}),(0,o.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:" unmanagedSharedApplication."}),(0,o.jsx)(s.span,{style:{color:"var(--shiki-token-function)"},children:"takeUnretainedValue"}),(0,o.jsx)(s.span,{style:{color:"var(--shiki-token-punctuation)"},children:"()"}),(0,o.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(s.span,{style:{color:"var(--shiki-token-keyword)"},children:"as?"}),(0,o.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:" UIApplication "}),(0,o.jsx)(s.span,{style:{color:"var(--shiki-token-keyword)"},children:"else"}),(0,o.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:" {"})]}),"\n",(0,o.jsxs)(s.span,{className:"line",children:[(0,o.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(s.span,{style:{color:"var(--shiki-token-function)"},children:"fatalError"}),(0,o.jsx)(s.span,{style:{color:"var(--shiki-token-punctuation)"},children:"("}),(0,o.jsx)(s.span,{style:{color:"var(--shiki-token-string-expression)"},children:'"UIApplication.sharedKeyboardApplication(): `UIApplication.sharedApplication()` returned not `UIApplication` instance."'}),(0,o.jsx)(s.span,{style:{color:"var(--shiki-token-punctuation)"},children:")"})]}),"\n",(0,o.jsx)(s.span,{className:"line",children:(0,o.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:" }"})}),"\n",(0,o.jsx)(s.span,{className:"line",children:" "}),"\n",(0,o.jsxs)(s.span,{className:"line",children:[(0,o.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:" "}),(0,o.jsx)(s.span,{style:{color:"var(--shiki-token-keyword)"},children:"return"}),(0,o.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:" sharedApplication"})]}),"\n",(0,o.jsx)(s.span,{className:"line",children:(0,o.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:" }"})}),"\n",(0,o.jsx)(s.span,{className:"line",children:(0,o.jsx)(s.span,{style:{color:"var(--shiki-color-text)"},children:"}"})})]})}),"\n",(0,o.jsx)(s.h3,{id:"5-infoplist-ã®è¨å®",children:"5. Info.plist ã®è¨å®"}),"\n",(0,o.jsxs)(s.ol,{children:["\n",(0,o.jsx)(s.li,{children:"NSExtensionActivationRule ã® Type ã Dictionary ã«å
1¤æ´ãã¾ãã"}),"\n",(0,o.jsx)(s.li,{children:"ãã®ä¸ã« NSExtensionActivationSupportsWebURLWithMaxCount ã追å ãã¾ãã"}),"\n"]}),"\n",(0,o.jsx)(h(),{loader:p.Z,src:j}),"\n",(0,o.jsx)(s.h2,{id:"åè",children:"åè"}),"\n",(0,o.jsxs)(s.ul,{children:["\n",(0,o.jsxs)(s.li,{children:["Android çã®å®è£
ã¯",(0,o.jsx)(s.a,{href:"/posts/android_share_activity",children:"ãã¡ã"})]}),"\n",(0,o.jsx)(s.li,{children:(0,o.jsx)(s.a,{href:"https://developer.apple.com/library/archive/documentation/General/Conceptual/ExtensibilityPG/ExtensionCreation.html#//apple_ref/doc/uid/TP40014214-CH5-SW1",children:"Creating an App Extension"})}),"\n",(0,o.jsx)(s.li,{children:(0,o.jsx)(s.a,{href:"https://qiita.com/mume/items/61091237085d9948724c",children:"SwiftUI ã§ Share Extension ãå®è£
ãã"})}),"\n",(0,o.jsx)(s.li,{children:(0,o.jsx)(s.a,{href:"https://zenn.dev/usk2000/articles/cc8184ed619da3b37b02",children:"[SwiftUI]Deep Link ã§å¤ãåãåãç»é¢ãåºãåããã"})}),"\n",(0,o.jsx)(s.li,{children:(0,o.jsx)(s.a,{href:"https://stackoverflow.com/questions/28661062/how-do-you-create-a-share-extension-in-ios8-without-a-share-ui#comment131311590_28661376",children:"How do you create a Share Extension in iOS8 without a share UI"})}),"\n"]})]})}let f={MDXContent:function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},{wrapper:s}=Object.assign({},(0,a.a)(),e.components);return s?(0,o.jsx)(s,{...e,children:(0,o.jsx)(m,{...e})}):m(e)},pageOpts:{filePath:"pages/posts/ios_share_extension.mdx",route:"/posts/ios_share_extension",frontMatter:{title:"iOS ã® Share Extensionã§ Safari ããã¢ããªãéã",date:"2023/2/9",description:"iOS ã¢ããªã« Share Extension ãå°å
¥ããSafari ããã¢ããªãéãæ¹æ³ã説æãã¾ãã",tag:"iOS, Share Extension, Safari",author:"kyamada"},timestamp:1737168189e3,pageMap:[{kind:"MdxPage",name:"about",route:"/about",frontMatter:{type:"page",title:"About",date:"2022-07-24T00:00:00.000Z"}},{kind:"Folder",name:"eigovision",route:"/eigovision",children:[{kind:"MdxPage",name:"core-nlp-en",route:"/eigovision/core-nlp-en",frontMatter:{type:"tag",date:"2024-12-04T00:00:00.000Z"}},{kind:"MdxPage",name:"core-nlp-ja",route:"/eigovision/core-nlp-ja",frontMatter:{type:"tag",date:"2024-12-04T00:00:00.000Z"}},{kind:"MdxPage",name:"privacy-policy",route:"/eigovision/privacy-policy",frontMatter:{type:"tag",date:"2025-02-15T00:00:00.000Z"}},{kind:"MdxPage",name:"support",route:"/eigovision/support",frontMatter:{type:"tag",date:"2025-02-15T00:00:00.000Z"}},{kind:"MdxPage",name:"terms-and-conditions",route:"/eigovision/terms-and-conditions",frontMatter:{type:"tag",date:"2025-02-15T00:00:00.000Z"}},{kind:"Meta",data:{"privacy-policy":"Privacy Policy",support:"Support","terms-and-conditions":"Terms and Conditions","core-nlp-en":"Core Nlp En","core-nlp-ja":"Core Nlp Ja"}}]},{kind:"Folder",name:"english_reading",route:"/english_reading",children:[{kind:"MdxPage",name:"privacy-policy",route:"/english_reading/privacy-policy",frontMatter:{type:"tag",date:"2023-01-15T00:00:00.000Z"}},{kind:"MdxPage",name:"terms-and-conditions",route:"/english_reading/terms-and-conditions",frontMatter:{type:"tag",date:"2023-01-15T00:00:00.000Z"}},{kind:"Meta",data:{"privacy-policy":"Privacy Policy","terms-and-conditions":"Terms and Conditions"}}]},{kind:"Folder",name:"etymology",route:"/etymology",children:[{kind:"MdxPage",name:"privacy-policy",route:"/etymology/privacy-policy",frontMatter:{type:"tag",date:"2023-01-15T00:00:00.000Z"}},{kind:"MdxPage",name:"terms-and-conditions",route:"/etymology/terms-and-conditions",frontMatter:{type:"tag",date:"2023-01-15T00:00:00.000Z"}},{kind:"Meta",data:{"privacy-policy":"Privacy Policy","terms-and-conditions":"Terms and Conditions"}}]},{kind:"MdxPage",name:"index",route:"/",frontMatter:{type:"page",title:"Ap
1ps",date:"2022-07-24T00:00:00.000Z"}},{kind:"Folder",name:"listen-to-novels",route:"/listen-to-novels",children:[{kind:"MdxPage",name:"display-mode-en",route:"/listen-to-novels/display-mode-en",frontMatter:{type:"tag",date:"2025-08-21T00:00:00.000Z"}},{kind:"MdxPage",name:"display-mode-ja",route:"/listen-to-novels/display-mode-ja",frontMatter:{type:"tag",date:"2025-08-21T00:00:00.000Z"}},{kind:"MdxPage",name:"faq-en",route:"/listen-to-novels/faq-en",frontMatter:{type:"tag",date:"2023-05-08T00:00:00.000Z"}},{kind:"MdxPage",name:"how-to-use-en",route:"/listen-to-novels/how-to-use-en",frontMatter:{type:"tag",date:"2023-12-17T00:00:00.000Z"}},{kind:"MdxPage",name:"how-to-use-ja",route:"/listen-to-novels/how-to-use-ja",frontMatter:{type:"tag",date:"2023-12-17T00:00:00.000Z"}},{kind:"MdxPage",name:"privacy-policy",route:"/listen-to-novels/privacy-policy",frontMatter:{type:"tag",date:"2025-01-24T00:00:00.000Z"}},{kind:"MdxPage",name:"regex-ja",route:"/listen-to-novels/regex-ja",frontMatter:{type:"tag",date:"2023-10-20T00:00:00.000Z"}},{kind:"MdxPage",name:"support",route:"/listen-to-novels/support",frontMatter:{type:"tag",date:"2025-02-11T00:00:00.000Z"}},{kind:"MdxPage",name:"terms-and-conditions",route:"/listen-to-novels/terms-and-conditions",frontMatter:{type:"tag",date:"2025-01-24T00:00:00.000Z"}},{kind:"Meta",data:{"display-mode-en":"Display Mode En","display-mode-ja":"Display Mode Ja",support:"Support","privacy-policy":"Privacy Policy","terms-and-conditions":"Terms and Conditions","how-to-use-en":"How to Use En","how-to-use-ja":"How to Use Ja","regex-ja":"Regex Ja","faq-en":"Faq En"}}]}
1,{kind:"Folder",name:"mangavision",route:"/mangavision",children:[{kind:"MdxPage",name:"privacy-policy",route:"/mangavision/privacy-policy",frontMatter:{type:"tag",date:"2025-01-24T00:00:00.000Z"}},{kind:"MdxPage",name:"support",route:"/mangavision/support",frontMatter:{type:"tag",date:"2025-02-20T00:00:00.000Z"}},{kind:"MdxPage",name:"terms-and-conditions",route:"/mangavision/terms-and-conditions",frontMatter:{type:"tag",date:"2025-01-24T00:00:00.000Z"}},{kind:"Meta",data:{support:"Support","privacy-policy":"Privacy Policy","terms-and-conditions":"Terms and Conditions"}}]},{kind:"Folder",name:"posts",route:"/posts",children:[{kind:"MdxPage",name:"admob_adaptive_banner",route:"/posts/admob_adaptive_banner",frontMatter:{title:"AdMobã®ã¢ãããã£ãããã¼ãJetpack Composeã¨SwiftUIã§ä½¿ç¨ãã",date:"2023/1/12",description:"ã©ã¤ãã©ãªã«ã¯ Jetpack Compose ã SwiftUI ç¨ã®ã¢ãããã£ãããã¼ã¯ç¨æããã¦ããªãã®ã§ã使ç¨ããã«ã¯ä¸å·¥å¤«å¿
è¦ã«ãªãã¾ãã",tag:"JetpackCompose, SwiftUI, AdMob, ã¢ãããã£ãããã¼",author:"kyamada"}},{kind:"MdxPage",name:"admob_native_ad_android",route:"/posts/admob_native_ad_android",frontMatter:{title:"AdMobã®ãã¤ãã£ãåºåãJetpack Composeã§è¡¨ç¤ºããããªãã¼ã対å¿ãã",date:"2023/2/18",description:"Google Mobile Ads SDK 㯠Jetpack Compose ã«å¯¾å¿ãã¦ããªãã®ã§ãåºåã®ã¬ã¤ã¢ã¦ãã¯å¾æ¥ã® xml ã§çµãå¿
è¦ãããã¾ããã¾ããåºå表示ã®ã¿ã¤ã ã©ã°ããªããããã«ã¯ãåºåãäºåã«åå¾(ããªãã¼ã)ããã®ãæå¹ã§ãã",tag:"JetpackCompose, AdMob, ãã¤ãã£ãåºå",author:"kyamada"}},{kind:"MdxPage",name:"android_edge_to_edge",route:"/posts/android_edge_to_edge",frontMatter:{title:"Android 15 ã® edge-to-edgeã«å¯¾å¿ãã",date:"2025/1/18",description:"Android 15 ã® edge-to-edge ã«å¯¾å¿ããæã®å¤æ´ç¹ãè¨è¼ãã¾ã",tag:"Android, edge-to-edge",author:"kyamada"}},{kind:"MdxPage",name:"android_share_activity",route:"/posts/android_share_activity",frontMatter:{title:"ãã©ã¦ã¶ã®å
±æããAndroidã¢ããªãéã",date:"2024/10/15",description:"ãã©ã¦ã¶ã®å
±æããAndroidã¢ããªãéãæ¹æ³ã説æãã¾ãã",tag:"Android",author:"kyamada"}},{kind:"MdxPage",name:"compose_multiplatform_admob_banner",route:"/posts/compose_multiplatform_admob_banner",frontMatter:{title:"Compose Multiplatform ã§ Admobã®ããã¼åºåã表示ãã",date:"2024/6/3",description:"Compose Multiplatform ã§ãAndroid/iOSã®ç°å¢ã§ Admob ã®ããã¼åºåã表示ããæ¹æ³ã解説ãã¾ãã",tag:"Kotlin, ComposeMultiplatform, Admob",author:"kyamada"}},{kind:"MdxPage",name:"compose_multiplatform_keyboard",route:"/posts/compose_multiplatform_keyboard",frontMatter:{title:"Compose Multiplatform ã§ ãã¼ãã¼ãã·ã§ã¼ãã«ãããå®è£
ãã",date:"2024/8/16",description:"Compose Multiplatform ã§ããã¼ãã¼ãã·ã§ã¼ãã«ããå¦çãå®è£
ããæ¹æ³ã解説ãã¾ãã",tag:"Kotlin, ComposeMultiplatform",author:"kyamada"}},{kind:"MdxPage",name:"compose_multiplatform_subscription",route:"/posts/compose_multiplatform_subscription",frontMatter:{title:"Compose Multiplatform ã§ ãµãã¹ã¯ãªãã·ã§ã³ãå®è£
ãã",date:"2025/1/24",description:"Android/iOSã®ä¸¡æ¹ã§ãµãã¹ã¯ãªãã·ã§ã³ã®èª²éå¦çãå®è£
ããæ¹æ³ãã¾ã¨ãã¾ããã",tag:"Kotlin, ComposeMultiplatform, subscription",author:"kyamada"}},{kind:"MdxPage",name:"create_android_aab_by_command_line",route:"/posts/create_android_aab_by_command_line",frontMatter:{title:"Androidã®ãªãªã¼ã¹ç¨App Bundle(.aab)ãã³ãã³ãã©ã¤ã³ããçæãã",date:"2023/1/13",description:"Android ã¢ããªã®ãªãªã¼ã¹æã« Ap
1pBundle(.aab)ã使ããå¿
è¦ãããã¾ããGUI ããè¡ãã¨é¢åãªã®ã§ãã³ãã³ãã©ã¤ã³ãã AppBundle ã使ããæ¹æ³ãã¾ã¨ãã¾ããã",tag:"Android, aab, App Bundle",author:"kyamada"}},{kind:"MdxPage",name:"flutter_exists_image",route:"/posts/flutter_exists_image",frontMatter:{title:"Flutterã§ç»åãåå¨ãããã©ãããç»åããã¼ãããã«èª¿ã¹ãæ¹æ³",date:"2022/9/14",description:"ç»åã®åå¨ãã§ãã¯ãããã³ã¼ããèªåçæããã¹ã¯ãªããã使ãã¾ã",tag:"flutter, existsImageFile",author:"kyamada"}},{kind:"MdxPage",name:"flutter_font",route:"/posts/flutter_font",frontMatter:{title:"Flutterã§ã«ã¹ã¿ã ãã©ã³ããå°å
¥ãã¦çºé³è¨å·ã表示ãã",date:"2022/9/11",description:"Flutterã®ããã©ã«ãã®ãã©ã³ã(Roboto)ã§çºé³è¨å·ã表示ãããã¨ãããæååãããã®ã§ãããã«ã¹ã¿ã ãã©ã³ããå°å
¥ãããã¨ã§è§£æ±ºã§ããã®ã§ããã®æ¹æ³ãç´¹ä»ãã¾ãã",tag:"flutter, font, M+FONTS",author:"kyamada"}},{kind:"MdxPage",name:"flutter_ios_install_error",route:"/posts/flutter_ios_install_error",frontMatter:{title:"Flutterã§ãã«ãããipaãã¡ã¤ã«ãTestFlightã§ã¤ã³ã¹ãã¼ã«ã§ããªãåé¡ã®è§£æ±ºæ³",date:"2022/9/21",description:"bundle identifierã®æ«å°¾ã« .add ã追å ããã¨è§£æ±ºãã¾ãã",tag:"flutter, iOS",author:"kyamada"}},{kind:"MdxPage",name:"get_csr_html_multiplatform",route:"/posts/get_csr_html_multiplatform",frontMatter:{title:"CSRã®HTMLãAndroidã¨iOSã§åå¾ããæ¹æ³",date:"2023/1/2",description:"CSR(ã¯ã©ã¤ã¢ã³ããµã¤ãã¬ã³ããªã³ã°)ã§çæãããHTMLãåå¾ããæ¹æ³ã§ã",tag:"Android, iOS, html, CSR, javascript",author:"kyamada"}},{kind:"MdxPage",name:"index",route:"/posts",frontMatter:{type:"posts",title:"Blog",date:"2021-03-18T00:00:00.000Z"}},{kind:"MdxPage",name:"ios_background_process",route:"/posts/ios_background_process",frontMatter:{title:"iOSã¢ããªãããã¯ã°ã©ã¦ã³ãç¶æ
ã®æã«å¦çãç¶ç¶ããæ¹æ³",date:"2022/10/9",description:"iOSã¢ããªã§ããã¯ã°ã©ã¦ã³ãä¸ã«å¦çãç¶ç¶ããæ¹æ³ã調ã¹ãå®ç¾å¯è½ã ã£ãæ¹æ³ã¨ä¸å¯ã ã£ãæ¹æ³ã«åé¡ãã¾ããã",tag:"ios, background, ble",author:"kyamada"}},{kind:"MdxPage",name:"ios_share_extension",route:"/posts/ios_share_extension",frontMatter:{title:"iOS ã® Share Extensionã§ Safari ããã¢ããªãéã",date:"2023/2/9",description:"iOS ã¢ããªã« Share Extension ãå°å
¥ããSafari ããã¢ããªãéãæ¹æ³ã説æãã¾ãã",tag:"iOS, Share Extension, Safari",author:"kyamada"}},{kind:"MdxPage",name:"jetpack_compose_shared_storage_document",route:"/posts/jetpack_compose_shared_storage_document",frontMatter:{title:"JetpackCompose ãã å
±æã¹ãã¬ã¼ã¸ã®ãã¡ã¤ã«ã«ã¢ã¯ã»ã¹ãã",date:"2023/8/18",description:"1. ã¦ã¼ã¶ã«ãã©ã«ãã¼ã鏿ãããããã«ãã¡ã¤ã«ã使ããã2. ã¦ã¼ã¶ã«ãã¡ã¤ã«ã鏿ããããã®å
容ãèªã¿åã",tag:"JetpackCompose,CreateDocument,OpenDocument",author:"kyamada"}},{kind:"MdxPage",name:"kotlin_multiplatform_recommended_libs",route:"/posts/kotlin_multiplatform_recommended_libs",frontMatter:{title:"Kotlin Multiplatform (KMP) ã®ä½¿ãæ¹ããå§ãã®ã©ã¤ãã©ãªã®ç´¹ä»",date:"2024/5/25",description:null,tag:"Kotlin, Compose",author:"kyamada"}},{kind:"MdxPage",name:"kotlin_native_string_replace_bug",route:"/posts/kotlin_native_string_replace_bug",frontMatter:{title:"Kotlin/Nativeã® String.replace ã®ãã°ãåé¿ãã",date:"2023/2/14",description:"Kotlin/Nativeã® String.replace ã使ãã¨iOSã§ãã°ãçºçãã¾ãããããåé¿ããæ¹æ³ã説æãã¾ã",tag:"KotlinNative",author:"kyamada"}},{kind:"MdxPage",name:"ktor_okio_download_file",route:"/posts/ktor_okio_download_file",frontMatter:{title:"ktor 㨠okio ã使ã£ã¦å¤§ããªãã¡ã¤ã«ããã¦ã³ãã¼ããã",date:"2024/5/10",description:"大ããªãã¡ã¤ã«ããã¦ã³ãã¼ãããå ´åããã¡ã¤ã«ã®å
容ããã¹ã¦ã¡ã¢ãªã«å±éãã¦ãã¾ãã¨ãOutOfMemoryError ãçºçãã¦ãã¾ãã¾ãã",tag:"Multiplatform,ktor,okio",author:"kyamada"}},{kind:"MdxPage",name:"moomoo_acm_dns",route:"/posts/moomoo_acm_dns",frontMatter:{title:"ã ã¼ã ã¼ãã¡ã¤ã³ã§AWS Certificate Manager(ACM)ã®SSLè¨¼ææ¸ãåå¾ãã",date:"2022/7/24",description:"ã ã¼ã ã¼ãã¡ã¤ã³ã§ãã¡ã¤ã³ãåå¾ããAWS Certificate Manager(ACM)ã®SSL è¨¼ææ¸ãåå¾ããæ¹æ³ã説æãã¾ãã",tag:"acm, moomoo, dns",author:"kyamada"}},{kind:"MdxPage",name:"nextjs_portfolio",route:"/posts/nextjs_portfolio",frontMatter:{title:"next.jsã§ãã¼ããã©ãªãªãµã¤ããä½ã£ã¦S3ã«ãããã¤ãã",date:"2022/7/25",description:"nextjs-portfolio-starterããã¼ã¹ã«ãã¼ããã©ãªãªãµã¤ãã使ããS3ã«ãããã¤ããæ¹æ³ã説æãã¾ãã",tag:"next.js, s3",author:"kyamada"}},{kind:"MdxPage",name:"nextjs_s3_cloudfront_dynamic_routes",route:"/posts/nextjs_s3_cloudfront_dynamic_routes",frontMatter:{title:"next.jsãS3+CloudFrontã«ãããã¤ããæã«ãDynamic Routesãå¦çããæ¹æ³",date:"2022/9/19",description:"pages/404.tsxã®ä½æããCloudFrontã§ã«ã¹ã¿ã ã¨ã©ã¼ã¬ã¹ãã³ã¹ã使ãã¾ã",tag:"next.js, s3, cloudfront",author:"kyamada"}},{kind:"MdxPage",name:"react_scroll_position_from_bottom",route:"/posts/react_scroll_position_from_bottom",frontMatter:{title:"Reactã§ã¹ã¯ãã¼ã«å¯è½ãªè¦ç´ ã®ä¸ããã®ã¹ã¯ãã¼ã«ãã¸ã·ã§ã³ãåå¾ãã",date:"2022/6/21",description:"Reactã§ã¹ã¯ãã¼ã«å¯è½ãªè¦ç´ ã®ä¸ããã®ã¹ã¯ãã¼ã«ãã¸ã·ã§ã³ãåå¾ããæ¹æ³ã§ã",tag:"react, next.js",author:"kyamada"}},{kind:"MdxPage",name:"reducing_mac_system_data_storage",route:"/posts/reducing_mac_system_data_storage",frontMatter:{title:"Macã®ã·ã¹ãã ãã¼ã¿ã®å®¹éã忏ãã",date:"2026/3/6",description:"Macã®ã·ã¹ãã ãã¼ã¿ã®å®¹éã600GBãè¶
ãã¦ããã®ã§ãåå ã調ã¹ã¦å®¹éã忏ãã¾ããã",tag:"Mac, Storage",author:"kyamada"}},{kind:"MdxPage",name:"swiftui_document_picker",route:"/posts/swiftui_document_picker",frontMatter:{title:"Swift
1UI ãã UIDocumentPickerViewController ãå¼ã³åºã",date:"2023/8/18",description:"1. ã¦ã¼ã¶ã«ãã©ã«ãã¼ã鏿ãããããã«ãã¡ã¤ã«ã使ããã2. ã¦ã¼ã¶ã«ãã¡ã¤ã«ã鏿ããããã®å
容ãèªã¿åã",tag:"SwiftUI, UIDocumentPickerViewController",author:"kyamada"}},{kind:"MdxPage",name:"swiftui_textfield_in_sheet",route:"/posts/swiftui_textfield_in_sheet",frontMatter:{title:"SwiftUIã®TextFieldã«å
¥åãã1æåç®ãå¤æå¯¾è±¡ã«ãªããªãåé¡ã¨ãã®å¯¾å¦æ³",date:"2023/3/13",description:"TextField ã«æ¥æ¬èªå
¥åãã¼ãã¼ãã§æåãå
¥åããã¨ã1 æåç®ãå¤æå¯¾è±¡ã«ãªããªããã¨ãããã¾ããä¾ãã°ããã¼ãã¼ãã§ãaããuãã¨å
¥åããã¨ã1æåç®ã®ããããå¤æå¯¾è±¡ã«ãªãã¾ããã",tag:"SwiftUI, TextField, UITextField",author:"kyamada"}},{kind:"MdxPage",name:"ump_sdk_reject",route:"/posts/ump_sdk_reject",frontMatter:{title:"Googleã® User Messaging Platform (UMP) SDK ã§GDPRã«å¯¾å¿ããããAppStoreã®å¯©æ»ã§ãªã¸ã§ã¯ãããã",date:"2023/12/22",description:"ããããã«ãATTã¡ãã»ã¼ã¸ã表示ããåã«ãåæãä¿ããããªã¡ãã»ã¼ã¸(ããã§ã¯GDPRã¡ãã»ã¼ã¸)ã表示ãã¦ã¯ãããªãããã§ãã",tag:"UMP, GDPR, ATT",author:"kyamada"}},{kind:"MdxPage",name:"webview_http",route:"/posts/webview_http",frontMatter:{title:"Androidã¨iOSã®WebViewã§httpéä¿¡ã許å¯ãã",date:"2024/11/14",description:"å
¨ã¦ã®ãã¡ã¤ã³ã«å¯¾ãã¦HTTPã®ã¯ãªã¢ããã¹ãéä¿¡ã許å¯ãããå ´åã¯...",tag:"Android, iOS, WebView",author:"kyamada"}},{kind:"Meta",data:{reducing_mac_system_data_storage:"Macã®ã·ã¹ãã ãã¼ã¿ã®å®¹éã忏ãã",compose_multiplatform_subscription:"Compose Multiplatform ã§ ãµãã¹ã¯ãªãã·ã§ã³ãå®è£
ãã",android_edge_to_edge:"Android 15 ã® edge-to-edgeã«å¯¾å¿ãã",webview_http:"Androidã¨iOSã®WebViewã§httpéä¿¡ã許å¯ãã",android_share_activity:"ãã©ã¦ã¶ã®å
±æããAndroidã¢ããªãéã",compose_multiplatform_keyboard:"Compose Multiplatform ã§ ãã¼ãã¼ãã·ã§ã¼ãã«ãããå®è£
ãã",compose_multiplatform_admob_banner:"Compose Multiplatform ã§ Admobã®ããã¼åºåã表示ãã",kotlin_multiplatform_recommended_libs:"Kotlin Multiplatform (KMP) ã®ä½¿ãæ¹ããå§ãã®ã©ã¤ãã©ãªã®ç´¹ä»",ktor_okio_download_file:"ktor 㨠okio ã使ã£ã¦å¤§ããªãã¡ã¤ã«ããã¦ã³ãã¼ããã",ump_sdk_reject:"Googleã® User Messaging Platform (UMP) SDK ã§GDPRã«å¯¾å¿ããããAppStoreã®å¯©æ»ã§ãªã¸ã§ã¯ãããã",jetpack_compose_shared_storage_document:"JetpackCompose ãã å
±æã¹ãã¬ã¼ã¸ã®ãã¡ã¤ã«ã«ã¢ã¯ã»ã¹ãã",swiftui_document_picker:"SwiftUI ãã UIDocumentPickerViewController ãå¼ã³åºã",swiftui_textfield_in_sheet:"SwiftUIã®TextFieldã«å
¥åãã1æåç®ãå¤æå¯¾è±¡ã«ãªããªãåé¡ã¨ãã®å¯¾å¦æ³",admob_native_ad_android:"AdMobã®ãã¤ãã£ãåºåãJetpack Composeã§è¡¨ç¤ºããããªãã¼ã対å¿ãã",kotlin_native_string_replace_bug:"Kotlin/Nativeã® String.replace ã®ãã°ãåé¿ãã",ios_share_extension:"iOS ã® Share Extensionã§ Safari ããã¢ããªãéã",create_android_aab_by_command_line:"Androidã®ãªãªã¼ã¹ç¨App Bundle(.aab)ãã³ãã³ãã©ã¤ã³ããçæãã",admob_adaptive_banner:"AdMobã®ã¢ãããã£ãããã¼ãJetpack Composeã¨SwiftUIã§ä½¿ç¨ãã",get_csr_html_multiplatform:"CSRã®HTMLãAndroidã¨iOSã§åå¾ããæ¹æ³",ios_background_process:"iOSã¢ããªãããã¯ã°ã©ã¦ã³ãç¶æ
ã®æã«å¦çãç¶ç¶ããæ¹æ³",flutter_ios_install_error:"Flutterã§ãã«ãããipaãã¡ã¤ã«ãTestFlightã§ã¤ã³ã¹ãã¼ã«ã§ããªãåé¡ã®è§£æ±ºæ³",nextjs_s3_cloudfront_dynamic_routes:"next.jsãS3+CloudFrontã«ãããã¤ããæã«ãDynamic Routesãå¦çããæ¹æ³",flutter_exists_image:"Flutterã§ç»åãåå¨ãããã©ãããç»åããã¼ãããã«èª¿ã¹ãæ¹æ³",flutter_font:"Flutterã§ã«ã¹ã¿ã ãã©ã³ããå°å
¥ãã¦çºé³è¨å·ã表示ãã",nextjs_portfolio:"next.jsã§ãã¼ããã©ãªãªãµã¤ããä½ã£ã¦S3ã«ãããã¤ãã",moomoo_acm_dns:"ã ã¼ã ã¼ãã¡ã¤ã³ã§AWS Certificate Manager(ACM)ã®SSLè¨¼ææ¸ãåå¾ãã",react_scroll_position_from_bottom:"Reactã§ã¹ã¯ãã¼ã«å¯è½ãªè¦ç´ ã®ä¸ããã®ã¹ã¯ãã¼ã«ãã¸ã·ã§ã³ãåå¾ãã",index:"Blog"}}]},{kind:"Folder",name:"translation-browser",route:"/translation-browser",children:[{kind:"MdxPage",name:"privacy-policy",route:"/translation-browser/privacy-policy",frontMatter:{type:"tag",date:"2025-01-24T00:00:00.000Z"}},{kind:"MdxPage",name:"terms-and-conditions",route:"/translation-browser/terms-and-conditions",frontMatter:{type:"tag",date:"2025-01-24T00:00:00.000Z"}},{kind:"Meta",data:{"privacy-policy":"Privacy Policy","terms-and-conditions":"Terms and Conditions"}}]},{kind:"Folder",name:"voicevox-tts",route:"/voicevox-tts",children:[{kind:"MdxPage",name:"privacy-policy",route:"/voicevox-tts/privacy-policy",frontMatter:{type:"tag",date:"2025-01-24T00:00:00.000Z"}},{kind:"MdxPage",name:"support",route:"/voicevox-tts/support",frontMatter:{type:"tag",date:"2025-01-24T00:00:00.000Z"}},{kind:"MdxPage",name:"terms-and-conditions",route:"/voicevox-tts/terms-and-conditions",frontMatter:{type:"tag",date:"2025-01-24T00:00:00.000Z"}}
1,{kind:"Meta",data:{"privacy-policy":"Privacy Policy",support:"Support","terms-and-conditions":"Terms and Conditions"}}]},{kind:"Meta",data:{about:"About",index:"Apps"}}],flexsearch:{codeblocks:!0},title:"iOS ã® Share Extensionã§ Safari ããã¢ããªãéã",headings:v},pageNextRoute:"/posts/ios_share_extension",nextraLayout:i.ZP,themeConfig:r.Z};var g=(0,t.j)(f)},757:function(e){e.exports={screenshots:"posts_screenshots__IO07e"}}},function(e){e.O(0,[1917,9774,2888,179],function(){return e(e.s=8893)}),_N_E=e.O()}]);
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.