An NTP client library for Swift and Objective-C that provides accurate time impervious to device clock changes.
TrueTime is an NTP client library for Swift and Objective-C that fetches accurate time from NTP servers to provide timestamps unaffected by manual device clock changes. It solves the problem of unreliable local time in applications where precise timing is essential, such as event scheduling or data logging. By calculating an offset based on device uptime, it ensures consistent and correct time even if users adjust their device clocks.
iOS, macOS, and tvOS developers building applications that require reliable and accurate timestamps, such as those in finance, logging, synchronization, or scheduling domains.
Developers choose TrueTime for its simplicity and reliability in delivering accurate time independent of device settings, with built-in network handling and support for both Swift and Objective-C. It provides a robust alternative to system time APIs without requiring complex infrastructure.
NTP library for Swift and Objective-C. Get the true time impervious to device clock changes.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Fetches time from reliable NTP servers like time.apple.com to establish a precise reference, as highlighted in the network protocol integration feature.
Uses device uptime to offset manual clock adjustments, ensuring timestamps remain accurate even if users alter device time, which is core to its value proposition.
Pauses and resumes requests based on reachability events, minimizing errors due to connectivity changes without manual intervention.
Executes multiple UDP requests concurrently with default retries up to 3 times, improving reliability in unstable network conditions.
Provides shared instance APIs for both Swift and Objective-C, making it accessible for mixed codebases or legacy projects.
Requires an initial network connection to fetch NTP time; offline applications cannot obtain accurate time without prior successful fetch, limiting use in disconnected environments.
Installation relies on Carthage or CocoaPods, and manual setup involves git submodules and bootstrapping steps, which can be cumbersome compared to drop-in solutions.
Only supports iOS, macOS, and tvOS with no mention of Swift Package Manager or server-side Swift frameworks, reducing flexibility for modern or cross-platform projects.
NTP responses have inherent network latency, and the uptime-based offset may drift over time without periodic refreshes, potentially reducing long-term precision.