Advanced CocoaPods Integration
This guide assumes you’ve read the getting started guide for CocoaPods integration.
Additional Podspec Options
Always Use the Latest Release (Recommended)
use_frameworks! target :YourTargetName do pod 'PSPDFKit', podspec: 'https://my.pspdfkit.com/pspdfkit-ios/latest.podspec' end
Pinning to a Specific Version (e.g. 13.1.0)
use_frameworks! target :YourTargetName do pod 'PSPDFKit', podspec: 'https://my.pspdfkit.com/pspdfkit-ios/13.1.0.podspec' end
Using Nightly Builds
Replace latest.podspec
with nightly.podspec
to point to the latest nightly build:
use_frameworks! target :YourTargetName do pod 'PSPDFKit', podspec: 'https://my.pspdfkit.com/pspdfkit-ios/nightly.podspec' end
Using a JSON Podspec
CocoaPods makes a checksum of the JSON representation of your Podspec and keeps it in your Podfile.lock
file. If your development environment requires you to use a JSON Podspec, you can append .json
to your CocoaPods URL, like so:
use_frameworks! target :YourTargetName do pod 'PSPDFKit', podspec: 'https://my.pspdfkit.com/pspdfkit-ios/latest.podspec.json' end
To learn more about Podspec checksums, refer to the Why does my team’s Podfile.lock Podspec checksums change? blog post.
Using Fat Frameworks Instead of XCFrameworks
Fat frameworks are a legacy distribution option that rely on iOS devices and Simulator using different processor architectures. Using fat frameworks leads to undefined behavior when running on Simulator on Apple silicon Macs and can cause crashes because the ARM64 slice isn’t compiled for a simulator. XCFrameworks are Apple’s solution to this problem. See our Getting Started guide to learn how to integrate PSPDFKit using XCFrameworks.
We offer XCFrameworks as the default CocoaPods artifacts. If your project environment requires you to use old fat .framework
files instead, you can append -framework
to the version number of your CocoaPods URL, like so:
use_frameworks! target :YourTargetName do pod 'PSPDFKit', podspec: 'https://my.pspdfkit.com/pspdfkit-ios/latest-framework.podspec' end
Integrating PSPDFKit into Test Targets
You can add PSPDFKit to your test targets like this:
target :YourTargetNameTests do pod 'PSPDFKit', podspec: 'https://my.pspdfkit.com/pspdfkit-ios/latest.podspec' end
You can also use CocoaPods inheritance mode to inherit all of your main target’s dependencies by using inherit! :complete
, like so:
target :YourTargetNameTests do inherit! :complete end