8289521: Publication to Apple App Store still not possible with JavaFX web 21
Michael Hall
mik3hall at gmail.com
Thu Jun 6 21:12:02 UTC 2024
Nevermind. Found it. Needed to strip the leading _
jfx/modules/javafx.web/src/main/native/Source/WTF/wtf/cocoa/MemoryPressureHandlerCocoa.mm
extern "C" void cache_simulate_memory_warning_event(uint64_t);
void MemoryPressureHandler::platformReleaseMemory(Critical critical)
{
if (critical == Critical::Yes && (!isUnderMemoryPressure() || m_isSimulatingMemoryPressure)) {
// libcache listens to OS memory notifications, but for process suspension
// or memory pressure simulation, we need to prod it manually:
cache_simulate_memory_warning_event(DISPATCH_MEMORYPRESSURE_CRITICAL);
}
}
Maybe someone else can suggest how you change that to avoid the non-public warning.
Or you could maybe no-op the references and apparently take some risk in low memory situations.
> On Jun 6, 2024, at 4:03 PM, Michael Hall <mik3hall at gmail.com> wrote:
>
> Try a newer/older version of JavaFX?
> I’m not sure which version I cloned jfx off of GitHub but if I search the directory mentioned in the bug report I find no references to the problem symbol.
>
>> On Jun 6, 2024, at 2:04 PM, Laurin Murer <openjdk at laurinmurer.ch> wrote:
>>
>> Following up on JDK-8289521 from 2022 and JavaFX 18, I still can't publish an app containing JavaFX Web 21 to Apples App Store.
>>
>> They rejected it because my 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.” (Quote from Apple)
>>
>> Does anyone have an idea how to fix this?
>
More information about the openjfx-dev
mailing list