2024/10/16
laprasdrum.icon ずっと週休完全3日でいたい
/icons/hr.icon
Writing Tools
Grammarlyに近いこと(最適な文章の提案)ができるがトーン調整は不可
Writing Tools時にテキストが書き換わるような処理は無効にしないといけない
iCloud sync
テキスト編集
他UI制御
TextKit 2前提
1だと制約がある
WebKitにも使える
defaultでは制限が掛かってる
<blockquote> <pre> は自動的に対象外となる
https://scrapbox.io/files/670ecdb8ca65a0001ccfd997.png
https://scrapbox.io/files/670ecf630c43cb001c411049.png
https://scrapbox.io/files/670ecff342f97d001c565c8f.png
https://scrapbox.io/files/670ed061f6867b001d27603f.png
App Intent増えてる
WWDC発表時はemail/photoくらいしかなかったのに結構増えてた
books
browser
camera
document reader
files
journaling
email
photos
presentation
spreadsheet
system
アプリ内検索に使えるらしい
code:sample.swift
import AppIntents
import Foundation
@AssistantIntent(schema: .system.search)
struct ExampleSearchIntent: ShowInAppSearchResultsIntent {
var criteria: StringSearchCriteria
func perform() async throws -> some IntentResult {
let searchString = criteria.term
print("Searching for \(searchString)")
// ...
// Code that navigates to your app's search and enters the search string into a search field.
// ...
return .result()
}
}
whiteboard
word precessor
@preconcurrency
こういうコードがあったとして
code:sample.swift
// Defined in some module
public protocol ViewDelegateProtocol {
func respondToUIEvent()
}
// your code
@MainActor
class MyViewController: ViewDelegateProtocol {
// Warning: @MainActor function cannot satisfy a nonisolated requirement
func respondToUIEvent() {
}
}
Swift Concurrencyは型システムによって並行性を担保しているため、この概念がprotocolと相性が悪い。
その結果、
code:sample.swift
@MainActor
class MyViewController: ViewDelegateProtocol {
nonisolated func respondToUIEvent() {
MainActor.assumeIsolated {
}
}
}
nonisolated -> assumeIsolated 定型文を作らないといけなくなる。
protocolが nonisolated だから。
そこで @preconcurrency が必要になる。
code:sample.swift
@MainActor
class MyViewController: @preconcurrency ViewDelegateProtocol {
func respondToUIEvent() {
// no need for nonisolated!
}
}
こちらも読んでおく。なんとなく分かるけど完全に理解できていない。
大企業 vs スタートアップ
GAFAM規模で働いたことはないが、言わんとすることは体験してるので分かる。
こちらはAmazonで働いていた人の話。
仕事がないのに解雇されないという状況もあるんだな。