> For the complete documentation index, see [llms.txt](https://docs.apryse.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.apryse.com/ios/learn-more/framework-size.md).

# Reduce the Framework Size

Discover how PDFNet framework size impacts your app's size. Learn how Apple's App Thinning optimizes architecture delivery to reduce app size. Download Xodo for iOS to see the effects firsthand! The A

### Question: PDFNet is a large framework. Will it make my app large as well?

In short, no, it will not. The PDFNet framework is indeed large, but only a small fraction of its total size makes it into your app. The reasons for this are explained below.

The PDFNet framework includes machine code for 4 architectures (32-bit for simulator, 32-bit for device, 64-bit for simulator, 64-bit for device), of which only the 2 device slices will be uploaded to the app store. Once there, Apple uses [App Thinning](https://help.apple.com/xcode/mac/current/#/devbbdc5ce4f) to deliver only the required architecture to the user's device.

Additionally, if you are using a copy of the framework that includes bitcode, it will significantly increases the size of the framework, but not your app. Bitcode is used by Apple to recompile the binary on their servers with various optimizations, and it is not delivered to the user. (If you wish, you could remove the bitcode from the framework's binary using the command `xcrun bitcode_strip -r PDFNet -o PDFNet`, which will illustrate how much of the framework's size is due to bitcode.)

You can see the effects of the above for yourself by [downloading our showcase app, Xodo](https://itunes.apple.com/us/app/xodo-pdf-pro/id805075929?mt=8.). Xodo for iOS includes PDFNet for iOS, yet the total app size is only 76.8 MB for both architectures. The installed size on an iPhone X (which you can look up in Settings->General->iPhone/iPad Storage) is 43.7 MB (which also includes additional app code, image resources, etc.). You will see the same reduction in size when including PDFNet into your app.

If you are particularly concerned about the size of your app, you could consider using the static framework, which will only link in the classes required by your app. It takes a bit more work to set this up, and it will increase your compile times (due to the need to link), and it will not take advantage of the App Store's delta updates, but it will minimize the total number of bytes contributed by PDFNet. Doing this may save your app a few MB, depending on which PDFNet classes you are using.

Lastly, if you are not using any UI functionality from PDFNet (such as PTPDFViewCtrl), and want to absolutely minimize the size of your app, you could consider using the static framework's C/C++ interface, which will link less code than Obj-C/Swift, due to the fact that C/C++ use fewer dynamic function calls.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.apryse.com/ios/learn-more/framework-size.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
