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