The markdown parsing is broken/disabled for release notes. Sorry about that, I'm chasing the source of a crash that's been bringing this website down for the last couple of days.
TRETNFCKit 3.0.0-alpha.9
11 weeks ago
## Milestone
- Road to TRETNFCKit (Phase 9) https://github.com/treastrain/TRETJapanNFCReader/milestone/9?closed=1
## Topic
The new reader session wrappers include a new instance property that provides the reader session's events via `AsyncSequence`, inspired by the [`CardSession.eventStream`](https://developer.apple.com/documentation/corenfc/cardsession/4318517-eventstream), the new API provided for card emulation in Core NFC on iOS 17.4+.
### Example
```swift
import SwiftUI
import TRETNFCKit_Async
struct FeliCaReaderView: View {
@State private var readerSession: AsyncNFCTagReaderSession?
var body: some View {
List {
Button {
readerSession = AsyncNFCTagReaderSession(pollingOption: .iso18092)
} label: {
Text("Read")
}
.disabled(readerSession != nil)
}
.task(id: readerSession == nil) {
defer { readerSession = nil }
guard let readerSession else { return }
guard AsyncNFCTagReaderSession.readingAvailable else { return }
for await event in readerSession.eventStream {
switch event {
case .sessionIsReady:
readerSession.alertMessage = "Place the tag on a flat, non-metal surface and rest your iPhone on the tag."
readerSession.start()
case .sessionStarted:
break
case .sessionBecomeActive:
break
case .sessionDetected(let tags):
do {
let tag = tags.first!
guard case .feliCa(let feliCaTag) = tag else { throw NFCReaderError(.readerErrorInvalidParameter) }
try await readerSession.connect(to: tag)
let (idm, systemCode) = try await feliCaTag.polling(systemCode: Data([0xFE, 0x00]), requestCode: .systemCode, timeSlot: .max1)
readerSession.alertMessage = "\(systemCode as NSData)\n\(idm as NSData)"
readerSession.stop()
} catch {
readerSession.stop(errorMessage: error.localizedDescription)
}
case .sessionCreationFailed(let reason):
print(reason)
case .sessionInvalidated(let reason):
print(reason)
}
}
}
.navigationTitle("FeliCa Reader")
}
}
```
## What's Changed
* Add `AsyncNFCReaderSession`s by @treastrain in https://github.com/treastrain/TRETJapanNFCReader/pull/132
* Add macos-14 on GitHub Actions by @treastrain in https://github.com/treastrain/TRETJapanNFCReader/pull/133
**Full Changelog**: https://github.com/treastrain/TRETJapanNFCReader/compare/3.0.0-alpha.8...3.0.0-alpha.9
TRETNFCKit 3.0.0-alpha.8
12 weeks ago
## Milestone
- Road to TRETNFCKit (Phase 8) https://github.com/treastrain/TRETJapanNFCReader/milestone/8?closed=1
## What's Changed
* 存在型に `any` を付ける(Swift 5.9) by @treastrain in https://github.com/treastrain/TRETJapanNFCReader/pull/130
* Update to Xcode 15 (Swift 5.9, visionOS, CI) by @treastrain in https://github.com/treastrain/TRETJapanNFCReader/pull/131
**Full Changelog**: https://github.com/treastrain/TRETJapanNFCReader/compare/3.0.0-alpha.7...3.0.0-alpha.8
TRETNFCKit 3.0.0-alpha.7
12 weeks ago
## Projects
- Road to TRETNFCKit (Phase 7) https://github.com/treastrain/TRETJapanNFCReader/projects/11
## What's Changed
* `NFCReaderSessionAfterBeginProtocol.restartPolling()` を unavailable にする by @treastrain in https://github.com/treastrain/TRETJapanNFCReader/pull/123
* CI に Example App のビルド、Ubuntu でのビルド・テスト実行を追加 by @treastrain in https://github.com/treastrain/TRETJapanNFCReader/pull/124
* 存在型に `any` を付ける by @treastrain in https://github.com/treastrain/TRETJapanNFCReader/pull/125
* Update CI to macOS Ventura & Xcode 14.3 by @treastrain in https://github.com/treastrain/TRETJapanNFCReader/pull/127
* Actor-wrapped `NFCNDEFReaderSession`, `NFCTagReaderSession`, and `NFCVASReaderSession` by @treastrain in https://github.com/treastrain/TRETJapanNFCReader/pull/126
* Use Swift tools version 5.8 by @treastrain in https://github.com/treastrain/TRETJapanNFCReader/pull/128
**Full Changelog**: https://github.com/treastrain/TRETJapanNFCReader/compare/3.0.0-alpha.6...3.0.0-alpha.7
TRETNFCKit 3.0.0-alpha.6
1 year ago
## Projects
- Road to TRETNFCKit (Phase 6) https://github.com/treastrain/TRETJapanNFCReader/projects/10
## What's Changed
* `NFCReaderSessionDelegate` のメソッドの `TaskPriority` を指定できるようにする by @treastrain in https://github.com/treastrain/TRETJapanNFCReader/pull/113
* `NFCReaderSessionable.AfterBeginProtocol` の `any NFCReaderSessionAfterBeginProtocol` を削除する by @treastrain in https://github.com/treastrain/TRETJapanNFCReader/pull/114
* `NDEFMessage.ReaderSessionProtocol` の `any NFCNDEFMessageReaderSessionProtocol` を削除する by @treastrain in https://github.com/treastrain/TRETJapanNFCReader/pull/115
* `NDEFTag.ReaderSessionProtocol` の `any NFCNDEFTagReaderSessionProtocol` を削除する by @treastrain in https://github.com/treastrain/TRETJapanNFCReader/pull/116
* `NativeTag.ReaderSessionProtocol` の `any NFCNativeTagReaderSessionProtocol` を削除する by @treastrain in https://github.com/treastrain/TRETJapanNFCReader/pull/117
* `FeliCaTagReader.ReaderSessionProtocol` の `any FeliCaTagReaderSessionProtocol` を削除する by @treastrain in https://github.com/treastrain/TRETJapanNFCReader/pull/118
* `ISO7816TagReader.ReaderSessionProtocol` の `any ISO7816TagReaderSessionProtocol` を削除する by @treastrain in https://github.com/treastrain/TRETJapanNFCReader/pull/119
* `ISO15693TagReader.ReaderSessionProtocol` の `any ISO15693TagReaderSessionProtocol` を削除する by @treastrain in https://github.com/treastrain/TRETJapanNFCReader/pull/120
* `MiFareTagReader.ReaderSessionProtocol` の `any MiFareTagReaderSessionProtocol` を削除する by @treastrain in https://github.com/treastrain/TRETJapanNFCReader/pull/121
* `_NFCTagTypeOpaqueTypeBuilderProtocol` に準拠するオブジェクトの見直し by @treastrain in https://github.com/treastrain/TRETJapanNFCReader/pull/122
**Full Changelog**: https://github.com/treastrain/TRETJapanNFCReader/compare/3.0.0-alpha.5...3.0.0-alpha.6
TRETNFCKit 3.0.0-alpha.5
1 year ago
## Projects
- Road to TRETNFCKit (Phase 5) https://github.com/treastrain/TRETJapanNFCReader/projects/9
## What's Changed
* `NFCReader<NDEFMessage>` 向けの `SwiftUI.ViewModifier` を追加 by @treastrain in https://github.com/treastrain/TRETJapanNFCReader/pull/104
* `NFCReader<NDEFTag>` 向けの `SwiftUI.ViewModifier` を追加 by @treastrain in https://github.com/treastrain/TRETJapanNFCReader/pull/105
* `NFCReader<NativeTag>` 向けの `SwiftUI.ViewModifier` を追加 by @treastrain in https://github.com/treastrain/TRETJapanNFCReader/pull/106
* `FeliCaTagReader` 向けの `SwiftUI.ViewModifier` を追加 by @treastrain in https://github.com/treastrain/TRETJapanNFCReader/pull/107
* `ISO7816TagReader` 向けの `SwiftUI.ViewModifier` を追加 by @treastrain in https://github.com/treastrain/TRETJapanNFCReader/pull/108
* `ISO15693TagReader` 向けの `SwiftUI.ViewModifier` を追加 by @treastrain in https://github.com/treastrain/TRETJapanNFCReader/pull/109
* `MiFareTagReader` 向けの `SwiftUI.ViewModifier` を追加 by @treastrain in https://github.com/treastrain/TRETJapanNFCReader/pull/110
* Update samples and README by @treastrain in https://github.com/treastrain/TRETJapanNFCReader/pull/112
**Full Changelog**: https://github.com/treastrain/TRETJapanNFCReader/compare/3.0.0-alpha.4...3.0.0-alpha.5
TRETNFCKit 3.0.0-alpha.4
1 year ago
## Projects
- Road to TRETNFCKit (Phase 4) https://github.com/treastrain/TRETJapanNFCReader/projects/8
## What's Changed
* Info.plist Checker の導入 by @treastrain in https://github.com/treastrain/TRETJapanNFCReader/pull/103
**Full Changelog**: https://github.com/treastrain/TRETJapanNFCReader/compare/3.0.0-alpha.3...3.0.0-alpha.4
TRETNFCKit 3.0.0-alpha.3
1 year ago
## Projects
- Road to TRETNFCKit (Phase 3) https://github.com/treastrain/TRETJapanNFCReader/projects/7
## What's Changed
* ISO7816TagReader を追加 by @treastrain in https://github.com/treastrain/TRETJapanNFCReader/pull/99
* ISO15693TagReader を追加 by @treastrain in https://github.com/treastrain/TRETJapanNFCReader/pull/100
* MiFareTagReader を追加 by @treastrain in https://github.com/treastrain/TRETJapanNFCReader/pull/101
* Update syntax and MiFare by @treastrain in https://github.com/treastrain/TRETJapanNFCReader/pull/102
**Full Changelog**: https://github.com/treastrain/TRETJapanNFCReader/compare/3.0.0-alpha.2...3.0.0-alpha.3
TRETNFCKit 3.0.0-alpha.2
1 year ago
## Projects
- Road to TRETNFCKit (Phase 2) https://github.com/treastrain/TRETJapanNFCReader/projects/6
## What's Changed
* FeliCaTagReader を追加 by @treastrain in https://github.com/treastrain/TRETJapanNFCReader/pull/97
* Update syntax by @treastrain in https://github.com/treastrain/TRETJapanNFCReader/pull/98
**Full Changelog**: https://github.com/treastrain/TRETJapanNFCReader/compare/3.0.0-alpha.1...3.0.0-alpha.2
TRETNFCKit 3.0.0-alpha.1
1 year ago
## Projects
- Road to TRETNFCKit (Phase 1) https://github.com/treastrain/TRETJapanNFCReader/projects/5
## What's Changed
* 既存のファイルたちの無効化 by @treastrain in https://github.com/treastrain/TRETJapanNFCReader/pull/76
* Swift Package を作成 by @treastrain in https://github.com/treastrain/TRETJapanNFCReader/pull/77
* CI を追加 by @treastrain in https://github.com/treastrain/TRETJapanNFCReader/pull/78
* サンプル用 iOS App ターゲットを追加 by @treastrain in https://github.com/treastrain/TRETJapanNFCReader/pull/79
* `NFCTagReader` を追加 by @treastrain in https://github.com/treastrain/TRETJapanNFCReader/pull/80
* `NFCNDEFMessageReader` を追加 by @treastrain in https://github.com/treastrain/TRETJapanNFCReader/pull/81
* `NFCNDEFTagReader` を追加 by @treastrain in https://github.com/treastrain/TRETJapanNFCReader/pull/82
* 各 Reader を `NFCReader` へ統合 by @treastrain in https://github.com/treastrain/TRETJapanNFCReader/pull/83
* モジュール分割 by @treastrain in https://github.com/treastrain/TRETJapanNFCReader/pull/84
* `NFCReaderSessionCallbackHandleableObject` を追加 by @treastrain in https://github.com/treastrain/TRETJapanNFCReader/pull/85
* `NFCReaderSessionAlertMessageable` を `NFCReaderSessionAfterBeginProtocol` に変更 by @treastrain in https://github.com/treastrain/TRETJapanNFCReader/pull/86
* `NFCReader` と `NFCReaderSessionable` のテストを追加 by @treastrain in https://github.com/treastrain/TRETJapanNFCReader/pull/87
* `NFCReaderSessionableTests` を更新 by @treastrain in https://github.com/treastrain/TRETJapanNFCReader/pull/88
* `NFCReaderSessionCallbackHandleableObject` の変更とそれに適合する actor の追加 by @treastrain in https://github.com/treastrain/TRETJapanNFCReader/pull/89
* `NFCReader.begin(sessionAndDelegate:detectingAlertMessage:)` を async に変更 by @treastrain in https://github.com/treastrain/TRETJapanNFCReader/pull/90
* `NFCTestReaderSessionReadingUnavailable` を修正 by @treastrain in https://github.com/treastrain/TRETJapanNFCReader/pull/91
* #90 に `NativeTag` と `NDEFTag` を対応 by @treastrain in https://github.com/treastrain/TRETJapanNFCReader/pull/92
* `NFCReader<NativeTag>` のテストを追加 by @treastrain in https://github.com/treastrain/TRETJapanNFCReader/pull/93
* `NFCReader<NDEFTag>` のテストを追加 by @treastrain in https://github.com/treastrain/TRETJapanNFCReader/pull/94
* `NFCReader<NDEFMessage>` のテストを追加 by @treastrain in https://github.com/treastrain/TRETJapanNFCReader/pull/95
* Update README by @treastrain in https://github.com/treastrain/TRETJapanNFCReader/pull/96
## New Header
<picture>
<source media="(prefers-color-scheme: dark)" srcset="https://user-images.githubusercontent.com/13805382/202866694-573b62c1-7afb-4b5c-85eb-a1a0b8fefcce.png">
<source media="(prefers-color-scheme: light)" srcset="https://user-images.githubusercontent.com/13805382/202866695-e886713b-09e9-4ab2-b2e8-980b5b0d5221.png">
<img alt="TRETNFCKit New Header Image" src="https://user-images.githubusercontent.com/13805382/202866695-e886713b-09e9-4ab2-b2e8-980b5b0d5221.png">
</picture>
**Full Changelog**: https://github.com/treastrain/TRETJapanNFCReader/compare/2.0.1...3.0.0-alpha.1
TBW