I built and I'm using JCEF on Mac OS (Yosemite) and I noticed an empty .app is created when I first start the sample application. See below the directory structure I have:
.
├── Frameworks
│ ├── Chromium\ Embedded\ Framework.framework
│ │ ├── Chromium\ Embedded\ Framework
│ │ ├── Resources
[Omitted content]
│ ├── JavaAppLauncher\ Helper.app <--- This is the .app I'm talking about
│ │ └── Contents
│ │ └── MacOS
│ │ └── JavaAppLauncher\ Helper
│ ├── jcef\ Helper\ EH.app
...
This JavaAppLauncher app is just an empty directory. I can't find anywhere in the documentation what this directory does.
Now my problem with this JavaAppLauncher app is:
* I can't sign my app because there's an empty .app directory (codesign complains about an empty directory).
* If I remove this empty .app, I can sign but then my app crashes during start up because something is changing a sealed resource (adding this JavaAppLauncher Helper.app).
Thanks.
*EDIT*
I'm not that sure it's linked to that empty directory. Here's the error log when the application crashes:
- Code: Select all
Thread 37 Crashed:: Chrome_IOThread
0 org.chromium.ContentShell.framework 0x0000000132a00e55 cef_time_delta + 421605
1 org.chromium.ContentShell.framework 0x0000000132a14f4d cef_time_delta + 503773
2 org.chromium.ContentShell.framework 0x000000013297c6ab cef_log + 123
3 libjcef.dylib 0x00000001327efe0f cef::logging::LogMessage::~LogMessage() + 95
4 libjcef.dylib 0x0000000132833e09 CefResponseCToCpp::SetMimeType(CefStringBase<CefStringTraitsUTF16> const&) + 201
5 libjcef.dylib 0x00000001327d4764 Java_org_cef_network_CefResponse_1N_N_1SetMimeType + 244
6 ??? 0x000000010fcf1694 0 + 4560197268
7 ??? 0x000000010fce398d 0 + 4560140685
8 ??? 0x000000010fce398d 0 + 4560140685
9 ??? 0x000000010fcdc4e7 0 + 4560110823
10 libjvm.dylib 0x000000010ef3a442 JavaCalls::call_helper(JavaValue*, methodHandle*, JavaCallArguments*, Thread*) + 1710
11 libjvm.dylib 0x000000010ef6f86b jni_invoke_nonstatic(JNIEnv_*, JavaValue*, _jobject*, JNICallType, _jmethodID*, JNI_ArgumentPusher*, Thread*) + 773
12 libjvm.dylib 0x000000010ef625f0 jni_CallVoidMethodV + 248
13 libjcef.dylib 0x00000001327b71ba JNIEnv_::CallVoidMethod(_jobject*, _jmethodID*, ...) + 138
14 libjcef.dylib 0x00000001327e9ea2 ResourceHandler::GetResponseHeaders(CefRefPtr<CefResponse>, long long&, CefStringBase<CefStringTraitsUTF16>&) + 242
15 libjcef.dylib 0x000000013280aa8c (anonymous namespace)::resource_handler_get_response_headers(_cef_resource_handler_t*, _cef_response_t*, long long*, _cef_string_utf16_t*) + 252
16 org.chromium.ContentShell.framework 0x00000001328f97d7 cef_resource_bundle_get_global + 2183
17 org.chromium.ContentShell.framework 0x00000001329661ed cef_zip_reader_create + 368173
18 org.chromium.ContentShell.framework 0x00000001329671a3 cef_zip_reader_create + 372195
19 org.chromium.ContentShell.framework 0x0000000132a01132 cef_time_delta + 422338
20 org.chromium.ContentShell.framework 0x0000000132a1e18f cef_time_delta + 541215
21 org.chromium.ContentShell.framework 0x0000000132a1e31e cef_time_delta + 541614
22 org.chromium.ContentShell.framework 0x0000000132a1e51c cef_time_delta + 542124
23 org.chromium.ContentShell.framework 0x00000001329f8131 cef_time_delta + 385473
24 org.chromium.ContentShell.framework 0x0000000132a2f1b3 cef_time_delta + 610883
25 org.chromium.ContentShell.framework 0x0000000132a1da7d cef_time_delta + 539405
26 org.chromium.ContentShell.framework 0x000000013542bcc8 catch_exception_raise + 571384
27 org.chromium.ContentShell.framework 0x000000013542bdda catch_exception_raise + 571658
28 org.chromium.ContentShell.framework 0x0000000132a50024 cef_time_delta + 745652
29 org.chromium.ContentShell.framework 0x0000000132a4becb cef_time_delta + 728923
30 libsystem_pthread.dylib 0x00007fff8b5ff05a _pthread_body + 131
31 libsystem_pthread.dylib 0x00007fff8b5fefd7 _pthread_start + 176
32 libsystem_pthread.dylib 0x00007fff8b5fc3ed thread_start + 13