{"image_url":"https://cdn-ak.f.st-hatena.com/images/fotolife/b/baba_s/20220614/20220614114411.png","title":"\u3010SwiftUI\u3011SFSpeechRecognizer.requestAuthorization \u3092 async / await \u306b\u5bfe\u5fdc\u3055\u305b\u308b extension","provider_url":"https://hatena.blog","version":"1.0","author_name":"baba_s","url":"https://baba-s.hatenablog.com/entry/2022/06/14/100000","published":"2022-06-14 10:00:00","width":"100%","blog_url":"https://baba-s.hatenablog.com/","description":"\u30bd\u30fc\u30b9\u30b3\u30fc\u30c9 extension SFSpeechRecognizer { static func requestAuthorization() async -> SFSpeechRecognizerAuthorizationStatus { await withCheckedContinuation { continuation in SFSpeechRecognizer.requestAuthorization { status in continuation.resume(returning: status) } } } } \u4f7f\u7528\u4f8b let status = await SFSpeech\u2026","type":"rich","html":"<iframe src=\"https://hatenablog-parts.com/embed?url=https%3A%2F%2Fbaba-s.hatenablog.com%2Fentry%2F2022%2F06%2F14%2F100000\" title=\"\u3010SwiftUI\u3011SFSpeechRecognizer.requestAuthorization \u3092 async / await \u306b\u5bfe\u5fdc\u3055\u305b\u308b extension - \u30b3\u30ac\u30cd\u30d6\u30ed\u30b0\" class=\"embed-card embed-blogcard\" scrolling=\"no\" frameborder=\"0\" style=\"display: block; width: 100%; height: 190px; max-width: 500px; margin: 10px 0px;\"></iframe>","author_url":"https://blog.hatena.ne.jp/baba_s/","categories":["\u305d\u306e\u4ed6 - SwiftUI"],"height":"190","provider_name":"Hatena Blog","blog_title":"\u30b3\u30ac\u30cd\u30d6\u30ed\u30b0"}