Low commit activity in last 3 years
A long-lived project that still receives updates
Collects expiration dates of the Apple certificates in your macOS Keychain and of the provisioning profiles on your machine, and lists the ones that expire within a given number of days.
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
2025
2026
 Dependencies
 Project Readme

AppleCertsInfo

Installation

Add this line to your application's Gemfile:

gem 'apple_certs_info'

And then execute:

$ bundle install

Or install it yourself as:

$ gem install apple_certs_info

Requirements

macOS only. This gem shells out to security, openssl and /usr/libexec/PlistBuddy.

Usage

Expiring soon

Information with an expiration date of 10 days or less will return.

  • Provisioning Profiles
AppleCertsInfo.provisioning_profile_list_limit_days_for(days: 10)
  • Certificate files(Development / Distribution)
# iPhone Developer / Apple Development
AppleCertsInfo.certificate_development_list_limit_days_for(days: 10)

# iPhone / Apple Distribution
AppleCertsInfo.certificate_distribution_list_limit_days_for(days: 10)

All entries

Without filtering by the remaining days.

AppleCertsInfo.provisioning_profile_list
AppleCertsInfo.certificate_development_list
AppleCertsInfo.certificate_distribution_list

provisioning_profile_list reads ~/Library/MobileDevice/Provisioning Profiles/ by default, and another directory can be given with the dir: keyword.

Return value

Each method returns an Array of Hash.

  • Certificates
key description
:expire_datetime expiration date (Time)
:limit_days days left until the expiration date (Integer)
:cname CN of the certificate
  • Provisioning Profiles
key description
:expire_datetime expiration date (Time)
:limit_days days left until the expiration date (Integer)
:app_identifier Bundle Identifier
:app_id_name App ID Name
:file_path path of the .mobileprovision file

Debug log

AppleCertsInfo.set_debug_log(true)

Contributing

Bug reports and pull requests are welcome on GitHub at https://github.com/tarappo/apple_certs_info. This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the code of conduct.

License

The gem is available as open source under the terms of the MIT License.

Code of Conduct

Everyone interacting in the AppleCertsInfo project's codebases, issue trackers, chat rooms and mailing lists is expected to follow the code of conduct.