3
現在我有我的應用程序使用AuthorizationExecuteWithPrivileges執行一些事情。問題是它需要爲每個操作請求密碼。有什麼辦法可以在應用程序啓動後立即對其進行身份驗證,以便稍後不要求授權,然後在授權對象發佈時予以釋放。我需要跨多個類訪問授權對象,那麼有什麼辦法可以做到這一點?我已經看到這在其他應用程序中實現,但我不確定如何自己做。保留一個授權對象
現在我有我的應用程序使用AuthorizationExecuteWithPrivileges執行一些事情。問題是它需要爲每個操作請求密碼。有什麼辦法可以在應用程序啓動後立即對其進行身份驗證,以便稍後不要求授權,然後在授權對象發佈時予以釋放。我需要跨多個類訪問授權對象,那麼有什麼辦法可以做到這一點?我已經看到這在其他應用程序中實現,但我不確定如何自己做。保留一個授權對象
您是否可以在applicationWillTerminate中的應用程序delgate的applicationDidFinishLaunching和release中請求授權?
然後,您可以將共享AuthorizationRef保留在應用程序委託中,並從需要它的各個類訪問它。
你可以通過訪問:
[[NSApp delegate] sharedAuthenticationRef]; // Mac Desktop
或
[[[UIApplication sharedApplication] delegate] sharedAuthenticationRef]; // iPhone
這裏假設你已經創建了sharedAuthenticationRef
訪問您的委託。
這個問題也是中肯:Best Application Delegate Practice
另一種方法是創建一個單獨的類,其中單實例將獲得在dealloc中的初始化函數和釋放它的授權。
謝謝,這就是我打算做的,把授權放在主應用程序委託中。不過,我很困惑我會如何從其他類訪問它。任何例子?謝謝 – indragie
非常感謝,請嘗試:-) – indragie
工作。我最終做的是創建一個獨立的類,維護一個共享的授權參考。 – indragie