App Rejection Due to Use of C Linux API While Other Apps in Tizen Store Use Similar APIs

Original Created Feb 18, 2017 | Regeneration Apr 22, 2026

My Tizen app was rejected by Samsung's review team because it uses certain C APIs that are not part of the official Tizen API set. These APIs are well-documented open-source libraries without any copyright issues.

I'm confused because:

  1. Other apps in the Tizen Store (like "App Locker") use similar undocumented APIs
  2. The review team didn't provide clear technical reasons for rejection
  3. The core_whitelist.txt file they reference is inaccessible

How can I:

  1. Understand which APIs are allowed/whitelisted?
  2. Appeal this decision effectively?
  3. Develop my app without running into these restrictions?

Problem Understanding

The issue stems from Tizen's strict API whitelist policy:

  1. Only specific .so libraries and their symbols are permitted
  2. Using non-whitelisted APIs results in automatic rejection
  3. The whitelist isn't publicly documented clearly

Solution Methods

  1. Understand the Whitelist System:

    • Tizen maintains a list of approved libraries and functions
    • Even documented APIs might be restricted if marked as unstable/internal
    • Example: Xlib functions are blocked due to Tizen's move to Wayland
  2. Workaround Approaches:

    • Use dlopen() and dlsym() for dynamic loading (with proper error handling)
    • Create wrapper functions for restricted APIs
    • Statically link critical functions where possible
  3. Appeal Process:

    • Join #tizen on irc.freenode.net for direct developer support
    • Clearly document your API usage and justification
    • Consider submitting a stripped-down version first to identify exact rejection reasons

Code Examples

// Example of dynamic loading workaround
void* lib_handle = dlopen("libexample.so", RTLD_LAZY);
if (lib_handle) {
    typedef int (*func_ptr)(int);
    func_ptr my_func = (func_ptr)dlsym(lib_handle, "restricted_function");
    if (my_func) {
        // Use the function
        int result = my_func(42);
    }
    dlclose(lib_handle);
}

Additional Tips

  1. The whitelist issue particularly affects:

    • System-level functionality (like app locking)
    • Low-level Linux APIs
    • Certain multimedia functions
  2. For app locker functionality specifically:

    • Consider using Tizen's official AppControl API
    • Target newer SDK versions (2.4+) for more features
    • Be prepared for platform limitations on security-sensitive operations
  3. Community Resources:

    • #tizen and #edevelop on irc.freenode.net
    • Tizen developer documentation at samsungtizenos.com
    • Unity forums for whitelist examples

Customize your cookie preferences

You can enable or disable non-essential cookies. Essential cookies are always on to ensure the site works properly and to keep you signed in.

Necessary

These cookies are necessary for the website to function properly and cannot be switched off. They help with things like logging in and setting your privacy preferences.

Always on

Analytics

These cookies help us improve the site by tracking which pages are most popular and how visitors move around the site.

Enable analytics cookies
Public Forum Public Forum
Employees only. Please sign in with your company account.