2014-07-23 33 views
7

Kullanıcı sadece güvenli modda önyükleme yapmadıysa çalıştırmak istediğim bazı kodlar var. Bunu algılayabilen CoreFoundation veya C standart API'leri kullanmanın bir yolu var mı?OSX'de güvenli mod nasıl algılanır

DÜZENLEME:

#include <sys/sysctl.h> 
... 

int safeBoot; 
int mib_name[2] = { CTL_KERN, KERN_SAFEBOOT }; 
size_t length = sizeof(safeBoot); 

if (!sysctl(mib_name, 2, &safeBoot, &length, NULL, 0)) { 
    if (safeBoot == 1) { 
     // We are in safe mode 
    } else { 
     // Normal mode. Continue… 
    } 
} else { 
    // Couldn't find safe boot information 
} 
+0

Kodunuz normal durumda nasıl başlatılır? –

cevap

6

Böyle sysctl kullanabilirsiniz:

sysctl -n kern.safeboot 

O 1 zaman zaman normal modda safe boot modunda ve 0 verir burada kabul edilen yanıt benim kod sayesinde olduğunu .

+0

Teşekkür ederim, güzel çözüm –

+0

Benim için zevk! Kodunuzu paylaşmak için +1 –