8289521: Publication to Apple App Store still not possible with JavaFX web 21

Laurin Murer openjdk at laurinmurer.ch
Thu Jun 13 19:31:09 UTC 2024


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 <mik3hall at gmail.com> 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 <mik3hall at gmail.com> 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.
> 



More information about the openjfx-dev mailing list