Skip to content
CAI
Software that uses CAICheck a score

grishka/NearDrop

44.5

Weak · 30 September 2026

2.2k

lines of production code

Swift

primary language

2

measurements over time

CAI band scale
CAI trend line
CAI lens gauges

What this system is

NearDrop is a macOS application that enables file, link, and text sharing with nearby Android devices using the Google Nearby Share protocol. It leverages Apple's NearbyShare framework for connectivity and provides a Share Extension for initiating transfers from other apps. The system supports device discovery via Bluetooth Low Energy and QR code pairing, with robust handling of localizable strings and system permissions.

Features

Added Share Extension and migrated to xcstrings localization

The project now includes a Share Extension (ShareExtension.appex) that allows users to send files and links from other apps, along with a new QR code capability for sending. Additionally, localization files have been migrated from the legacy Localizable.strings format to the modern xcstrings format, and the build system has been updated to embed the libNearbyShare.dylib framework.

NearDrop.xcodeproj · high confidence

New Share Extension UI with QR code support

The Share Extension now includes a dedicated user interface for sending files, featuring a main view with file selection and a progress overlay for device discovery. A new 'Use QR code...' button has been added to the interface, allowing users to initiate transfers via QR code scanning as an alternative to the standard nearby sharing flow.

ShareExtension/Base.lproj · high confidence

This change introduces a new Share Extension for macOS, enabling users to send files and URLs directly from the system share sheet to nearby devices using the Nearby Share protocol. The extension accepts file URLs and web links (http/https) while rejecting unsupported types like folders. Users can initiate transfers by selecting a discovered device from a list or by generating a QR code for device pairing. The UI includes a device list, progress indicators, and localized strings for multiple languages, with specific entitlements for sandboxed file access and network communication.

ShareExtension · high confidence

Behavioural changes

Migrate localization files to xcstrings format

The legacy .stringsdict files for pluralization rules in the base localization and Russian (ru.lproj) have been removed as part of the migration to the modern xcstrings format. This change updates the underlying localization infrastructure to use Apple's newer string catalog format, which should streamline how plural forms and localized strings are managed in the app.

NearDrop/Base.lproj · medium confidence

Migrate to NearbyShare framework and update notification handling

NearDrop now uses the Apple NearbyShare framework for file transfers, replacing the previous custom TCP/mDNS implementation. This change introduces a new Info.plist configuration for Bonjour services and updates the localizable strings to the xcstrings format. Additionally, the app now explicitly handles denied notification permissions by showing an alert to open System Settings, and the menu bar icon behavior has been adjusted to allow removal.

NearDrop · high confidence

The NearbyShare module now supports sending and receiving URLs (links) and plain text, in addition to files. When receiving a link, the app opens it in the default browser; text is saved as a .txt file. The connection layer has been refactored to use a dedicated dispatch queue for network operations and to handle byte payloads, improving stability. Error reporting for missing protocol fields has been improved with specific messages. The module has also been renamed from NearDrop to NearbyShare, and the underlying protobuf schemas have been updated to match the latest Google Nearby Sharing specification, adding support for new frame types and metadata fields.

NearbyShare · high confidence

Updated protocol documentation and installation instructions

The project documentation has been significantly expanded and corrected. The protocol guide now details QR code-based pairing, BLE advertisement triggers for device visibility, the specific structure of endpoint info (including device type codes and salted metadata), and the underlying Nearby Connections mediums. The README has been updated to reflect the app's name change to NearDrop/Quick Share, provides detailed troubleshooting for macOS Gatekeeper warnings, and explains how to use QR codes to initiate transfers from Android devices that cannot send the required BLE broadcasts.

(repo-wide) · high confidence

Dependencies

Added QR code generation dependencies

The project now includes new Swift Package Manager dependencies to support QR code functionality. Specifically, the \Package.resolved\ file has been updated to version 3 and introduces pins for \qrcode\ (v26.10.0), \swift-qrcode-generator\ (v2.0.2), and \swiftimagereadwrite\ (v1.9.2). These additions enable the application to generate and handle QR codes, likely for sharing or sending data as indicated by the associated commit context.

(dependencies) · high confidence

Written by watchdog.canine.dev from the codebase's own history, inside the signed delivery this page is composed from.

How this codebase got here

Score

  • CAI 47 → 45 (-2.3)
  • Rubric changed (rubric-2026.09.11 → rubric-2026.09.18) — scores are not directly comparable.

Lenses

  • Code Health 95 → 95 (+0.3)
  • Architecture 93 → 95 (+2.6)
  • Maturity 47 → 48 (+0.6)
  • Readiness 17 → 16 (-0.9)
  • Security 100 → 100 (+0.0)
  • Performance 79 (new)

Resolved (2)

  • Off-boarding risk: anonymized user #1
  • TodoComment (ShareExtension/ShareViewController.swift)

New (6)

  • Documentation: no contributor guidance (README.md)
  • Documentation: no licence statement (README.md)
  • Outdated: asn1
  • Outdated: bigint
  • Outdated: swift-protobuf
  • Outdated: swiftecc

Changes since last survey

  • 4 commits — 3 feature/other, 1 fixes

By area

  • NearDrop.xcodeproj/project.pbxproj — 2 commits
  • (repo) — 1 commit
  • ShareExtension/DeviceListCell.swift — 1 commit

Notable commits

  • fix: Fix device not being clickable in some cases
  • change: Apple permission bullshit
  • change: Bump version
  • change: Merge pull request #231 from paulora2405/master

Written by watchdog.canine.dev from the codebase's own history, inside the signed delivery this page is composed from.

Survey your own repository

grishka/NearDrop was measured the same way every project in this corpus was: the same rubric, at a pinned commit, with the result published in full. Point a surveyor at a repository you know and see whether you agree with it.

About this page

  • The score is its most recent published measurement, taken on 30 September 2026 at a pinned commit. It is not a live figure and does not change until the project is measured again.
  • Measured at commit add655c6c5a40b9ba03c0329b598f2817185f5a9 — the exact code this score is about.
  • Scored under rubric-2026.09.18 — the same rubric and the same method as every other entry in this index.
  • Measured by watchdog.canine.dev using codehealth-analyzer preprod-cb25ca4feafa.