{"id":29693798,"url":"https://github.com/skiptools/skip-nfc","last_synced_at":"2025-07-23T08:08:58.621Z","repository":{"id":301451976,"uuid":"946822659","full_name":"skiptools/skip-nfc","owner":"skiptools","description":"NFC support for Skip apps","archived":false,"fork":false,"pushed_at":"2025-07-10T19:23:42.000Z","size":25,"stargazers_count":1,"open_issues_count":0,"forks_count":1,"subscribers_count":3,"default_branch":"main","last_synced_at":"2025-07-11T05:02:35.973Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Swift","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/skiptools.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.LGPL","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-03-11T18:20:30.000Z","updated_at":"2025-07-10T19:23:45.000Z","dependencies_parsed_at":null,"dependency_job_id":"37779f18-4b41-4ba1-88fa-a46f8a6f1bd5","html_url":"https://github.com/skiptools/skip-nfc","commit_stats":null,"previous_names":["skiptools/skip-nfc"],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/skiptools/skip-nfc","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/skiptools%2Fskip-nfc","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/skiptools%2Fskip-nfc/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/skiptools%2Fskip-nfc/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/skiptools%2Fskip-nfc/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/skiptools","download_url":"https://codeload.github.com/skiptools/skip-nfc/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/skiptools%2Fskip-nfc/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":266640830,"owners_count":23960809,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-07-23T02:00:09.312Z","response_time":66,"last_error":null,"robots_txt_status":null,"robots_txt_updated_at":null,"robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-07-23T08:08:57.996Z","updated_at":"2025-07-23T08:08:58.608Z","avatar_url":"https://github.com/skiptools.png","language":"Swift","funding_links":[],"categories":[],"sub_categories":[],"readme":"# SkipNFC\n\nThis package provides rudimentary support for Android and iOS NFC interaction\nfor [Skip](https://skip.tools) apps.\n\n## Usage\n\n```swift\nlet nfcAdapter: NFCAdapter = NFCAdapter()\nnfcAdapter.startScanning { message in\n    print(\"received message: \\(message)\")\n}\nnfcAdapter.stopScanning()\n```\n\n## Setup\n\n### Android\n\n* Add [android.permission.NFC](https://developer.android.com/reference/android/Manifest.permission.html#NFC) to your `AndroidManifest.xml`.\n\n### iOS\n\n* 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.\n* Add [NFCReaderUsageDescription](https://developer.apple.com/documentation/bundleresources/information_property_list/nfcreaderusagedescription) to your `Darwin/Info.plist`.\n* Add [com.apple.developer.nfc.readersession.iso7816.select-identifiers](https://developer.apple.com/documentation/bundleresources/information_property_list/select-identifiers) to your `Darwin/Info.plist` as needed.\n\nFor example:\n\n```xml\n\u003ckey\u003ecom.apple.developer.nfc.readersession.formats\u003c/key\u003e\n\u003carray\u003e\n    \u003cstring\u003eNDEF\u003c/string\u003e\n\u003c/array\u003e\n\u003ckey\u003eNSNFCReaderUsageDescription\u003c/key\u003e\n\u003cstring\u003eThis app requires access to NFC to read and write data to NFC tags.\u003c/string\u003e\n```\n\n\n## Building\n\nThis project is a free Swift Package Manager module that uses the\n[Skip](https://skip.tools) plugin to transpile Swift into Kotlin.\n\nBuilding the module requires that Skip be installed using\n[Homebrew](https://brew.sh) with `brew install skiptools/skip/skip`.\nThis will also install the necessary build prerequisites:\nKotlin, Gradle, and the Android build tools.\n\n## Testing\n\nThe module can be tested using the standard `swift test` command\nor by running the test target for the macOS destination in Xcode,\nwhich will run the Swift tests as well as the transpiled\nKotlin JUnit tests in the Robolectric Android simulation environment.\n\nParity testing can be performed with `skip test`,\nwhich will output a table of the test results for both platforms.\n\n## License\n\nThis software is licensed under the\n[GNU Lesser General Public License v3.0](https://spdx.org/licenses/LGPL-3.0-only.html),\nwith the following\n[linking exception](https://spdx.org/licenses/LGPL-3.0-linking-exception.html)\nto clarify that distribution to restricted environments (e.g., app stores) is permitted:\n\n\u003e This software is licensed under the LGPL3, included below.\n\u003e As a special exception to the GNU Lesser General Public License version 3\n\u003e (\"LGPL3\"), the copyright holders of this Library give you permission to\n\u003e convey to a third party a Combined Work that links statically or dynamically\n\u003e to this Library without providing any Minimal Corresponding Source or\n\u003e Minimal Application Code as set out in 4d or providing the installation\n\u003e information set out in section 4e, provided that you comply with the other\n\u003e provisions of LGPL3 and provided that you meet, for the Application the\n\u003e terms and conditions of the license(s) which apply to the Application.\n\u003e Except as stated in this special exception, the provisions of LGPL3 will\n\u003e continue to comply in full to this Library. If you modify this Library, you\n\u003e may apply this exception to your version of this Library, but you are not\n\u003e obliged to do so. If you do not wish to do so, delete this exception\n\u003e statement from your version. This exception does not (and cannot) modify any\n\u003e license terms which apply to the Application, with which you must still\n\u003e comply.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fskiptools%2Fskip-nfc","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fskiptools%2Fskip-nfc","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fskiptools%2Fskip-nfc/lists"}