Bu benim ilk kez Swift, Cocoa'da (Cocoa Touch'da deneyim sahibi) yazıyor ve Yetkilendirmeyi kullanıyor, bu yüzden doğru yolda bile olsa hiç bir fikrim yok. Kullanıcı kimlik doğrulaması gerektiren hosts dosyasına bir değişiklik yapmaya çalışıyorum, ancak hem AuthorizationCreate
hem de AuthorizationExecuteWithPrivileges
yöntemleri hata veriyor. Beni AuthorizationCreate
arayarakSwift'de Kakao Yetkilendirmesi
var authorizationRef:AuthorizationRef
var status:OSStatus
status = AuthorizationCreate(nil, environment:kAuthorizationEmptyEnvironment, flags:kAuthorizationFlagDefaults, authorization:&authorizationRef)
let overwrite_hosts = "echo \(hostsContents) > /private/etc/hosts"
let args = [overwrite_hosts.cStringUsingEncoding(NSUTF8StringEncoding)]
status = AuthorizationExecuteWithPrivileges(authorizationRef, pathToTool:"/bin/sh", options:kAuthorizationFlagDefaults, arguments:args, communicationsPipe:nil)
atma "Sağlanan parametreleri kabul eder '__conversion' için bir aşırı bulunamadı" ve AuthorizationExecuteWithPrivileges
benim çağrısı "protokol 'AuthorizationRef' uymuyor Tipi '()'" atıyor
Herhangi bir fikrin var mı? Buna yanlış mı yaklaşıyorum?
Yardımlarınız için teşekkürler!
protokolü uygulamak için sana ihtiyacı AuthorizationRef sen yöntemleri implemeting değiliz çıkıyor. Uygulamasına cmd + cliking yaparak gidin, içinde @optional bulunmayan şeyleri bulun ve uygulayın. –