Advanced CocoaPods Integration

This guide assumes you’ve read the getting started guide for CocoaPods integration.

Additional Podspec Options

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

Warning

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