Is that issue tracked by the webkit project? Ideally they could fix the issue in the upstream

On 21/02/2026 17:52, Laurin Murer wrote:
Almost two years later, and I still was not able to publish my app to the App 
Store (granted, I gave up for a while).

Now I tried it again, after updating to Java (and FX) 25. However, this issue 
still persists. Apples exact wording:
Guideline 2.5.1 - Performance - Software Requirements
Your app uses or references the following non-public or deprecated APIs:

Contents/runtime/Contents/Home/lib/libjfxwebkit.dylib
Symbols:
• _cache_simulate_memory_warning_event

The use of non-public or deprecated APIs is not permitted on the App Store, as 
they can lead to a poor user experience should these APIs change and are 
otherwise not supported on Apple platforms.

Next Steps

It would be appropriate to revise your binary and remove any references to the 
non-public or deprecated APIs identified above.

If you are using third-party libraries, update to the most recent version of 
those libraries. If you do not have access to the libraries' source, the 
following command line tools can help you identify the location of problematic 
code:
- The "strings" tool can output a list of the methods the library calls.
- The "otool -ov" tool will output the Objective-C class structures and their 
defined methods.

I doubt, that anyone was able to submit a new App with JavaFX-Web to Apples App 
Store in the last few years. This is such a pity, that’s why I give it another 
try.

Can anyone help me with that? Michael Hall already had the idea to add a 
compiler directive similar to one which was there before 2016-12-14 and no-oped 
the problematic memory-cleanup-call for certain platforms/versions.

Does anyone have another idea or is willing to bring this idea forward?


On 13 Jun 2024, at 21:31, Laurin Murer <[email protected]> wrote:

Yes, it sounds like the method cache_simulate_memory_warning_event was never 
public (at least I couldn’t find any documentation about it) and Apple started 
to enforce its removal. As far as I can tell, a user of JavaFX web cannot fix 
this and has currently no chance of publishing a (new?) app to Apples App Store.

For a bit of context, this call is inside the method 
MemoryPressureHandler::platformReleaseMemory which is implemented differently 
on different platforms:
- cocoa (Mac): with the discussed method
- generic: does nothing (empty implementation)
- unix: calls `malloc_trim(0);`
- win: does nothing (empty implementation)

The currently only solution is the one of Michael Hall to add a compiler 
directive similar to one which was there before 2016-12-14 and no-oped it for 
certain platforms/versions. I guess this idea would fix the problem of 
submitting it to Apples App Store.

Does anyone have another idea or is willing to bring this idea forward?


On 7 Jun 2024, at 17:48, Michael Hall <[email protected]> wrote:

Sorry, I did a little more digging on this.

My best guess is that Apple is rejecting this because they think you are using 
a non-public API of their own.

The OpenJFX version of MemoryPressureHandlerCocoa.mm matches what appears to be 
the current WebKit version. [1]

Older versions appear somewhat different. Including this…

#if PLATFORM(IOS) || __MAC_OS_X_VERSION_MIN_REQUIRED >= 101000

[2][3]

[3] seems to show where this code was actually introduced with the above 
included.

It might be that for a Cocoa version it was thought that this compiler 
directive wasn’t needed but it actually still is?
Anyhow, adding something similar now might achieve a no-op that would get past 
them flagging this as an error.
‘locate’ on my machine doesn’t seem to show the libcache.dylib mentioned 
anywhere other than Xcode and other developer locations.

[1] 
https://github.com/WebKit/webkit/blob/main/Source/WTF/wtf/cocoa/MemoryPressureHandlerCocoa.mm
[2] 
https://opensource.apple.com/source/WebCore/WebCore-7601.5.17/platform/cocoa/MemoryPressureHandlerCocoa.mm.auto.html
[3] 
https://fossies.org/diffs/WebKit/r174650_vs_r189384/Source/WebCore/platform/cocoa/MemoryPressureHandlerCocoa.mm-diff.html

On Jun 6, 2024, at 6:41 PM, Michael Hall <[email protected]> wrote:

Odd, but searching shows this used in a different places and nowhere does it 
appear anyone has made any changes to the symbol referencing code.
It seems like some applications should of used this same code as-is.
Sort of strange.
I’m done with what digging I think I’m going to do.

GL.

Reply via email to