iabudiab / HTMLKit

An Objective-C framework for your everyday HTML needs.
MIT License
239 stars 27 forks source link

HTMLKit use non public API ? #15

Closed FengStyle closed 6 years ago

FengStyle commented 6 years ago

Hi, I have a app using HTMLKit. When I sent my app to app store to review , app store reported "querySelectAll: " referenced non public API. It's really true ? If it's true , is it possible to fix it ?

iabudiab commented 6 years ago

@FengStyle Hey there. HTMLKit does not use any private Apple API.

The thing ist, querySelectAll: is not a HTMLKit method, querySelectorAll is. You can take a look at its implementation here

I'll try to help you identify the problem, but I have some questions first:

iabudiab commented 6 years ago

@FengStyle Hello there, do you still have the problem with the submission process? I'll be glad to help if you could provide me with the information above.

FengStyle commented 6 years ago

@iabudiab Hi, I'm sorry! It's my mistake to type wrong word. it's "querySelectorAll". I'm using xCode. I put the error message on google cloud drive. You can check it out. https://drive.google.com/file/d/0B3HVGaz0IYV0bGhDZlVkeHZUckE/view?usp=sharing

iabudiab commented 6 years ago

@FengStyle It seems that Apple added this selector querySelectorAll: to the static analysis blacklist. If it is the case, then there is nothing we can do, except for renaming it.

If you are in a hurry you could rename the method yourself and resubmit the app.

If not, then I'll be greatly thankful if you would try somethings for me:

Please let me know if any of the above resolves the issue. Otherwise I'll have to rename the methods and release a new version soon 😞 I'm not happy with that, because I tried to stay as close as possible to the specification, besides having methods that are well known when dealing with HTML and CSS helps a lot. I guess we wont have that for long 😿

As I said, let me know as soon as possible, so that I release a new version if necessary.

FengStyle commented 6 years ago

@iabudiab Hi, thanks for your suggestion. I tried to rename querySelectorAll: to querySelectorList: , and uploaded to app store. It passed the non public API usage check. So you're right , but you will not be happy with this. Anyway thanks a lot for your help !

iabudiab commented 6 years ago

@FengStyle Thank you for the feedback. Glad you could work around the issue for now. I'm going to investigate this further together with a third party that's releasing a new version of their app with HTMLKit very soon.

If all fails, I'll rename the method and release a new version.

iabudiab commented 6 years ago

HTMLKit was shipped in the last two months in at least two apps without any Apple Store submission problems. The apps were built with iOS 11 SDK and submitted with Xcode 9.0 & Xcode 9.2

I can't explain the reason for the aforementioned issue, except maybe an Xcode bug or a faulty policy on Apple's side.

Feel free to reopen if this happens again. I'll close the issue for now.