Skip to content

Commit bd7df26

Browse files
committed
Drop Dart pub workspace
1 parent 437f883 commit bd7df26

File tree

149 files changed

+1637
-2375
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

149 files changed

+1637
-2375
lines changed

.gitignore

Lines changed: 32 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,33 @@
1-
# https://dart.dev/guides/libraries/private-files
2-
# Created by `dart pub`
3-
.dart_tool/
1+
# Miscellaneous
2+
*.class
3+
*.log
4+
*.pyc
5+
*.swp
6+
.DS_Store
7+
.atom/
8+
.build/
9+
.buildlog/
10+
.history
11+
.svn/
12+
.swiftpm/
13+
migrate_working_dir/
14+
15+
# IntelliJ related
16+
*.iml
17+
*.ipr
18+
*.iws
19+
.idea/
420

5-
# Avoid committing pubspec.lock for library packages; see
6-
# https://dart.dev/guides/libraries/private-files#pubspeclock.
7-
pubspec.lock
21+
# The .vscode folder contains launch configuration and tasks you configure in
22+
# VS Code which you may wish to be included in version control, so this line
23+
# is commented out by default.
24+
#.vscode/
25+
26+
# Flutter/Dart/Pub related
27+
# Libraries should not include pubspec.lock, per https://dart.dev/guides/libraries/private-files#pubspeclock.
28+
/pubspec.lock
29+
**/doc/api/
30+
.dart_tool/
31+
.flutter-plugins-dependencies
32+
/build/
33+
/coverage/

packages/nfc_manager/.metadata renamed to .metadata

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
# This file should be version controlled and should not be manually edited.
55

66
version:
7-
revision: "c23637390482d4cf9598c3ce3f2be31aa7332daf"
7+
revision: "d693b4b9dbac2acd4477aea4555ca6dcbea44ba2"
88
channel: "stable"
99

1010
project_type: plugin
@@ -13,14 +13,14 @@ project_type: plugin
1313
migration:
1414
platforms:
1515
- platform: root
16-
create_revision: c23637390482d4cf9598c3ce3f2be31aa7332daf
17-
base_revision: c23637390482d4cf9598c3ce3f2be31aa7332daf
16+
create_revision: d693b4b9dbac2acd4477aea4555ca6dcbea44ba2
17+
base_revision: d693b4b9dbac2acd4477aea4555ca6dcbea44ba2
1818
- platform: android
19-
create_revision: c23637390482d4cf9598c3ce3f2be31aa7332daf
20-
base_revision: c23637390482d4cf9598c3ce3f2be31aa7332daf
19+
create_revision: d693b4b9dbac2acd4477aea4555ca6dcbea44ba2
20+
base_revision: d693b4b9dbac2acd4477aea4555ca6dcbea44ba2
2121
- platform: ios
22-
create_revision: c23637390482d4cf9598c3ce3f2be31aa7332daf
23-
base_revision: c23637390482d4cf9598c3ce3f2be31aa7332daf
22+
create_revision: d693b4b9dbac2acd4477aea4555ca6dcbea44ba2
23+
base_revision: d693b4b9dbac2acd4477aea4555ca6dcbea44ba2
2424

2525
# User provided section
2626

packages/nfc_manager/CHANGELOG.md renamed to CHANGELOG.md

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,11 @@
1+
## 4.1.0
2+
3+
* Deprecated `NfcManager#isAvailable`. Use `NfcManager#checkAvailability` instead.
4+
* Fix iOS background issue.
5+
* Add more `NFCReaderError.Code` for iOS.
6+
* Bump versions.
7+
* Update doc.
8+
19
## 4.0.2
210

311
* Update README.
File renamed without changes.

README.md

Lines changed: 89 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,92 @@
1-
# flutter-nfc-manager
1+
# nfc_manager
22

3-
The Dart workspace containing packages related to NFC features for Flutter.
3+
A Flutter plugin providing access to NFC features on Android and iOS.
44

5-
## Packages
5+
## Setup
66

7-
|Name|Description|
8-
|-|-|
9-
|[ndef_record](https://github.com/okadan/flutter-nfc-manager/tree/main/packages/ndef_record)|Provides an implementation of the NFC Data Exchange Format (NDEF).|
10-
|[nfc_manager](https://github.com/okadan/flutter-nfc-manager/tree/main/packages/nfc_manager)|Provides access to NFC features on Android and iOS.|
11-
|[nfc_manager_ndef](https://github.com/okadan/flutter-nfc-manager/tree/main/packages/nfc_manager_ndef)|Provides NDEF abstraction using `nfc_manager` plugin.|
12-
|[nfc_manager_felica](https://github.com/okadan/flutter-nfc-manager/tree/main/packages/nfc_manager_felica)|Provides FeliCa abstraction using `nfc_manager` plugin.|
13-
|and more...||
7+
### Android
8+
9+
* Add [android.permission.NFC](https://developer.android.com/reference/android/Manifest.permission.html#NFC) to your `AndroidManifest.xml`.
10+
11+
### iOS
12+
13+
* Add [Near Field Communication Tag Reader Session Formats Entitlements](https://developer.apple.com/documentation/bundleresources/entitlements/com_apple_developer_nfc_readersession_formats) to your entitlements.
14+
* Add [NFCReaderUsageDescription](https://developer.apple.com/documentation/bundleresources/information_property_list/nfcreaderusagedescription) to your `Info.plist`.
15+
* Add [com.apple.developer.nfc.readersession.iso7816.select-identifiers](https://developer.apple.com/documentation/bundleresources/information_property_list/select-identifiers) to your `Info.plist` as needed.
16+
* Add [com.apple.developer.nfc.readersession.felica.systemcodes](https://developer.apple.com/documentation/bundleresources/information_property_list/systemcodes) to your `Info.plist` if you specify `NfcPollingOption.iso18092` in `startSession`, otherwise an error will occur.
17+
18+
## Usage
19+
20+
### Handling the Session
21+
22+
```dart
23+
import 'package:nfc_manager/nfc_manager.dart';
24+
25+
// Check the availability of NFC on the current device.
26+
NfcAvailability availability = await NfcManager.instance.checkAvailability();
27+
28+
if (availability != NfcAvailability.enabled) {
29+
print('NFC may not be supported or may be temporarily disabled.');
30+
return;
31+
}
32+
33+
// Start the session.
34+
NfcManager.instance.startSession(
35+
pollingOptions: {NfcPollingOption.iso14443}, // You can also specify iso18092 and iso15693.
36+
onDiscovered: (NfcTag tag) async {
37+
// Do something with an NfcTag instance...
38+
print(tag);
39+
40+
// Stop the session when no longer needed.
41+
await NfcManager.instance.stopSession();
42+
},
43+
);
44+
```
45+
46+
### Working with NfcTag
47+
48+
An `NfcTag` instance is typically not used directly. Instead, convert it to a platform-specific tag class by calling that class's static method `from`.
49+
50+
```dart
51+
import 'package:nfc_manager/nfc_manager.dart';
52+
import 'package:nfc_manager_ndef/nfc_manager_ndef.dart';
53+
54+
final Ndef ndef = Ndef.from(tag);
55+
56+
if (ndef == null) {
57+
print('This tag is not compatible with NDEF.');
58+
return;
59+
}
60+
61+
// Do something with an Ndef instance...
62+
print(ndef);
63+
```
64+
65+
The following platform-specific tag classes are available:
66+
67+
#### Android only
68+
69+
* `NfcAAndroid`
70+
* `NfcBAndroid`
71+
* `NfcFAndroid`
72+
* `NfcVAndroid`
73+
* `IsoDepAndroid`
74+
* `MifareClassicAndroid`
75+
* `MifareUltralightAndroid`
76+
* `NfcBarcodeAndroid`
77+
* `NdefAndroid`
78+
* `NdefFormatableAndroid`
79+
80+
#### iOS only
81+
82+
* `FeliCaIos`
83+
* `MiFareIos`
84+
* `Iso15693Ios`
85+
* `Iso7816Ios`
86+
* `NdefIos`
87+
88+
#### Cross-platform abstractions (separate packages)
89+
90+
* `Ndef` ([nfc_manager_ndef](https://pub.dev/packages/nfc_manager_ndef))
91+
* `FeliCa` ([nfc_manager_felica](https://pub.dev/packages/nfc_manager_felica))
92+
* and more...
File renamed without changes.
File renamed without changes.

packages/nfc_manager/android/build.gradle renamed to android/build.gradle

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,14 +2,14 @@ group = "dev.flutter.plugins.nfcmanager"
22
version = "1.0-SNAPSHOT"
33

44
buildscript {
5-
ext.kotlin_version = "1.8.22"
5+
ext.kotlin_version = "2.1.0"
66
repositories {
77
google()
88
mavenCentral()
99
}
1010

1111
dependencies {
12-
classpath("com.android.tools.build:gradle:8.7.0")
12+
classpath("com.android.tools.build:gradle:8.9.1")
1313
classpath("org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version")
1414
}
1515
}
@@ -27,7 +27,7 @@ apply plugin: "kotlin-android"
2727
android {
2828
namespace = "dev.flutter.plugins.nfcmanager"
2929

30-
compileSdk = 35
30+
compileSdk = 36
3131

3232
compileOptions {
3333
sourceCompatibility = JavaVersion.VERSION_11
@@ -44,7 +44,7 @@ android {
4444
}
4545

4646
defaultConfig {
47-
minSdk = 21
47+
minSdk = 24
4848
}
4949

5050
dependencies {
File renamed without changes.

0 commit comments

Comments
 (0)