When compiling sqlite3.c for the iOS platform, the compiler emits a custom 
warning "gethostuuid() is disabled”, triggered by a #warn directive (see code 
below.)

I understand why gethostuuid() isn’t available: the iOS platform intentionally 
blocks 3rd party apps from accessing device-specific UUIDs, to avoid privacy 
problems caused by ad networks that try to correlate a user’s activity across 
apps or across reinstalls of an app.

What I don’t understand is why SQLite would want to call gethostuuid(), or what 
functionality might be lost by its absence. 

Also, usually a compiler warning means the developer is doing something 
questionable or dangerous; but in this case the warning is triggered simply by 
the presence of a target platform, which isn’t something the developer has any 
control over. So it doesn’t seem useful to produce this warning when there’s 
nothing that can be done about it.

—Jens

PS: The code that triggers the warning is:

#if defined(__APPLE__) && ((__MAC_OS_X_VERSION_MIN_REQUIRED > 1050) || \
                           (__IPHONE_OS_VERSION_MIN_REQUIRED > 2000))
#  if (!defined(TARGET_OS_EMBEDDED) || (TARGET_OS_EMBEDDED==0)) \
       && (!defined(TARGET_IPHONE_SIMULATOR) || (TARGET_IPHONE_SIMULATOR==0))
#    define HAVE_GETHOSTUUID 1
#  else
#    warning "gethostuuid() is disabled."
#  endif
#endif

_______________________________________________
sqlite-users mailing list
sqlite-users@mailinglists.sqlite.org
http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users

Reply via email to