iOS rich push service extensions are subject to limited execution time and memory usage. Those limits depend on several factors, potentially including system usage, battery life, network conditions, and the user's recency or frequency of usage of your app.
This is an OS-level limitation for all rich push services, and can't be circumvented. For details, see Apple's documentation.
We recommend using the smallest possible files to limit timeouts, and providing push text content that makes sense on devices that can't download the attachment.
You can also add logging code to your service extension's
serviceExtensionTimeWillExpire() method to help diagnose and debug issues with download timeouts.