UIPDFPageView non-public API

I got message from app reviewer:


Your app uses or references the following non-public APIs:


"PrivateFrameworks/CorePDF.framework (UIPDFPageView)"

I've used otool and nm to check my app and 3rd party libraries and didn't find any mentions of this private API.

I don't remember changin any think related to UIPDFPageView or pdf's in my app or updating any of the 3rd party libraries from my previous version of approved app.

Does any has seen same issue ? Is it possible to check app without submitting to review again? I'm afraid of account blocking.

Accepted Reply

Hi, this is Peter, the founder of PSPDFKit.


The issue you see here affects very old versions of PSPDFKit from 2014 and earlier. We indeed use a few tricks to work around bugs and, in the above case, improve the HTML to PDF conversion experience via checking page sizes. None of these features are essential and this has been resolved in later versions (the HTML to PDF conversion is marked as an experimental feature for that reason.)


Honestly, I'm surprised that a 4-year old version still works at all - thinking alone about all the changes we had to do to support the iPhone X.

iOS is a fast-moving platform and we are constantly improving and updating our product so things keep working.


If you update from the mentioned version 3.7.5 from June 2014 to our current v7, this issue is resolved.

Reminder: Our license model is subscription-based, so you will need to enter a new agreement to get the updated version.


We also regularily check and submit SDK versions via our free PDF Viewer app before releasing them to ensure everything is correct and passes review.


We're can respond even faster if you reach out to our support platform for technical issues.

Replies

Did you use that verbiage in an appeal via the resolution center, yet?


Might be a false positive.

Here we are, It has happened also to us yesterday.


Your app uses or references the following non-public APIs:

"PrivateFrameworks/CorePDF.framework (UIPDFPageView)"


It is probably a false positive as already suggested. Their automatic API checker is not failure-free.

I don't know if it is more convenient to do an appeal or submit another build

did you get to solve the issue, As i got the same rejection email, I was wonder that i am using the same code for PDF for last few years. But never face this issue.

We use PSPSFKit for PDF rendering, they are using private API. They are using private API through dynamic usage so it isn't caught by NM, ovtool and strings command line tools.

@sandeep thanks for your response, Have you contacted PSPDFKit for this, As i am also using this for my app. If YES, what is there reply ?.


Thanks

Hi, this is Peter, the founder of PSPDFKit.


The issue you see here affects very old versions of PSPDFKit from 2014 and earlier. We indeed use a few tricks to work around bugs and, in the above case, improve the HTML to PDF conversion experience via checking page sizes. None of these features are essential and this has been resolved in later versions (the HTML to PDF conversion is marked as an experimental feature for that reason.)


Honestly, I'm surprised that a 4-year old version still works at all - thinking alone about all the changes we had to do to support the iPhone X.

iOS is a fast-moving platform and we are constantly improving and updating our product so things keep working.


If you update from the mentioned version 3.7.5 from June 2014 to our current v7, this issue is resolved.

Reminder: Our license model is subscription-based, so you will need to enter a new agreement to get the updated version.


We also regularily check and submit SDK versions via our free PDF Viewer app before releasing them to ensure everything is correct and passes review.


We're can respond even faster if you reach out to our support platform for technical issues.

Can I ask which version of PSPDFKit are you using?

That is sad. We have the same issue. The strange thing is that not so far ago we released our app and everything was OK. Since that release, the part of the application that uses PSPDFKit has not changed. Moreover, PSPDFKit version is still the same.

It's not strange.

The library you have been using has been in violation due to the private API use the whole time. What has changed is that App Review has updated their tools to detect that violation now.