我使用ALAssetsLibrary
訪問我的應用中的照片,當應用第一次嘗試訪問照片時,它會要求獲取位置服務的權限。我想爲該警報提供自定義消息,如應用程序想要訪問您的照片,而不是位置服務。ALAssetsLibrary自定義位置服務權限提醒iPhone
我在谷歌搜索了很多,以及對堆棧溢出,我發現解決方案後,用戶拒絕了位置服務的權限,但不能爲自定義的消息我已經在許多應用程序,如InstaCollage,PIC競合等
看到了這一點我使用ALAssetsLibrary
訪問我的應用中的照片,當應用第一次嘗試訪問照片時,它會要求獲取位置服務的權限。我想爲該警報提供自定義消息,如應用程序想要訪問您的照片,而不是位置服務。ALAssetsLibrary自定義位置服務權限提醒iPhone
我在谷歌搜索了很多,以及對堆棧溢出,我發現解決方案後,用戶拒絕了位置服務的權限,但不能爲自定義的消息我已經在許多應用程序,如InstaCollage,PIC競合等
看到了這一點你不能(因爲你毫無疑問在你的搜索中看到)。這是一條系統消息,你不能覆蓋它或避免它。換句話說:不意味着不。
你可以做一件事..
您只需查看應用程序的位置服務設置,而你的應用程序加載和顯示自定義消息
#import <CoreLocation/CoreLocation.h>
-(void)showAlertForLocationServiceEnabled{
BOOL locationAllowed = [CLLocationManager locationServicesEnabled];
if (locationAllowed == NO) {
UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Location Service Disabled!!!"
message:@"Location Services is required for this application. Please enable Location Services"
delegate:nil
cancelButtonTitle:@"OK"
otherButtonTitles:nil];
[alert show];
}
}
或
-(void)checkAndNotifyLocationServiceAvailable{
if (! ([CLLocationManager locationServicesEnabled]) || ([CLLocationManager authorizationStatus] == kCLAuthorizationStatusDenied)){
UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Location Service Disabled!!!" message:@"Location Services is required for this application. Please enable Location Services" delegate:nil cancelButtonTitle:@"OK" otherButtonTitles:nil];
[alert show];
}
}
開始在iOS 6中您可以將自定義文本添加到警報對話框(以指定您對數據進行的操作等)。要設置此說明文本,請添加
NSPhotoLibraryUsageDescription
鍵Info.plist並將值設置爲您要顯示的文本。
從開發文檔:
NSPhotoLibraryUsageDescription(字符串 - iOS設備)描述了應用程序訪問用戶的照片庫的原因。當系統提示用戶允許訪問時,該字符串將顯示爲對話框的一部分。 此密鑰在iOS 6.0及更高版本中受支持。
只是澄清,因爲原始鍵名不是默認顯示,'友好'的關鍵文字是:「隱私 - 照片庫使用說明」。日曆,聯繫人,地點和提醒也以「隱私 - ...」開頭 – qix 2013-08-23 10:25:47
Pic Jointer應用程序在圖像中顯示上面提到的警報,當我們想要第一次獲取照片而不是系統生成時,有沒有什麼方法顯示像上面的圖像那樣的備用警報。 – 2013-02-11 07:55:24
@ robin.cssoft - 這是一條系統消息。沒有任何解決辦法。這是一個安全問題,因爲'ALAssets'可能包含位置數據。如果用戶拒絕訪問,則無法訪問它。您可以提前詢問用戶 - 在您嘗試訪問圖書館之前 - 然後再根據該圖書館做一些事情:但並不意味着不行。 – 2013-02-11 08:12:46
好的感謝您的幫助skinnyTOD – 2013-02-11 08:51:08