Skip to content

XcodeArchiveCache, native targets cache for Xcode archive builds

License

Notifications You must be signed in to change notification settings

sweatco/xcode-archive-cache

Repository files navigation

XcodeArchiveCache

Native targets cache for Xcode archive builds.

Warning

⚠️ Alpha software ⚠️

  • This tool is intended to be used in CI workflows.
  • To reuse cached build products, it changes project files.
  • Remote caching is planned but not implemented yet.
  • Current implementation supports native targets only. Targets should have framework or static library products.

Installation

  • Without Bundler: gem install xcode-archive-cache
  • With Bundler: add gem 'xcode-archive-cache' to Gemfile

Setup

XcodeArchiveCache has a simple DSL similar to Cocoapods DSL. Configuration is stored in a file called Cachefile. Place Cachefile in the project's root directory.

Example configuration:

workspace "Workspace" do
  configuration "release" do
    build_configuration "Release"
    xcodebuild_args "SOME_FLAG='1' -UseModernBuildSystem=NO"
  end

  derived_data_path "build"

  target "Target" do
    cache "Pods_Target.framework"
    cache "libStaticLibrary.a"
  end
end

Example command:

xcode-archive-cache inject --configuration=release --storage="$HOME/build_cache"

Usage

  • Run xcode-archive-cache before building app. This will update the cache and inject cached products into the project.
  • Archive the app as usual (Xcode, xcodebuild, Fastlane)

Please refer to the example project for usage examples.

About

XcodeArchiveCache, native targets cache for Xcode archive builds

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •