2013-01-22 14 views
4

我能夠使用獲取類似的時區列表在iPhone設置應用程序

NSArray *timezoneNames = [NSTimeZone knownTimeZoneNames] ; 

獲得時區的名單,但時區的生成列表並未涵蓋所有的主要城市名稱。就像印度一樣,它只顯示加爾各答市。雖然我預計也會顯示新德里(首都)的時區。

因此,我想生成與iOS在其設置 - >常規 - >日期時間 - >時區中生成的相同的時區列表,因爲它顯示了幾乎所有主要城市的世界。我們可以取這個清單嗎?或者我們是否需要爲此創建自己的數據庫(如.plist)?

+0

+1如果您有任何解決方案?如果發現請發佈您的答案 –

回答

4

Settings.app使用plist文件中顯示時區列表。文件的名稱是:「all_cities_adj.plist」。 要獲得此文件,您需要深入到SDK本身。 我已經提到了下面的遍歷路徑,您可以在其中找到它。

1.轉到您擁有Xcode的文件夾。 2.右鍵點擊它,然後點擊顯示包裝內容。 3.Then 內容 - >開發 - >平臺 - >iPhoneSimulator.platform - >開發 - >的SDK - >iPhoneSimulator6.1.sdk - - >系統 - >圖書館 - >PrivateFrameworks - >AppSupport.framework 4.In這個文件夾,你可以找到的plist文件。

請讓我知道它是否有幫助...

+0

感謝@Amboj回答+1,我接受了這一點。你可以請分享實時設備而不是模擬器的遍歷路徑嗎?否則,我們將需要使用此.plist來模擬相同。 –

+0

@Saurabh:據我所知,我認爲這個plist不能從設備上拿走。所以我想我們唯一的辦法是使用相同的.plist並模擬它。 希望它對你有所幫助。 感謝您的接受。 – Amboj

+0

這個目前不存在於ios 8中,你是否知道它們改變了什麼?(如果他們實現了字典) –

0

我一直在遇到這個問題,並且沒有辦法像設置應用程序一樣獲得相同的時區。

您將需要創建自己的列表。

+0

謝謝。如果我們創建自己的列表來添加更多的城市,那麼由於全球各地的夏令時規則不同,我們如何才能確定城市的特定時區? –

0

首先你需要下載.csv文件,它會爲你提供國家/城市/時區/地區。使用這個文件我們可以顯示國家及其城市的列表。當用戶選擇任何城市時,我們需要將其與受尊敬的國家對應,然後該國家需要與設備的時區([NSTimeZone knownTimeZoneNames];)進行映射。

這個鏈接也可能會在這方面是有用的:

Get timezone by Country and Region

相關問題