2013-09-16 55 views
0

我最近更新了我的Xcode到Xcode5 GM。我注意到這個刪除了我的iOS6 SDK,所以我已經手動將它複製到了Developer/SDKs中。 Xcode很好地識別這個SDK。但是,當我嘗試編譯我的應用程序時,它會在嘗試檢索設備的UDID時引發編譯器錯誤。Xcode5 - iOS6 SDK - UDID API錯誤

有誰知道爲什麼會發生這種情況? UDID API不應該在iOS6 SDK中可用嗎?

感謝,
Teja公司

+4

該UDID已被棄用。從技術上講,它在iOS6中已被棄用,但它已被徹底刪除。我相信它出於安全原因已被刪除。 – Popeye

+3

即使對UDID的訪問仍然可用,任何對它的調用都會導致您的應用在提交時被自動拒絕 – bengoesboom

+0

以下是它的Apple文檔https://developer.apple.com/library/ios/documentation/uikit /reference/UIDevice_Class/DeprecationAppendix/Appendix推薦API.html#//apple_ref/occ/instp/UIDevice/uniqueIdentifier(在iOS5中不推薦使用6) – Popeye

回答

0

這似乎在從App Store下載的Xcode的正式版本中正常工作。

1

UDID已被棄用。它被棄用'的iOS 5,Official Apple Documentation

uniqueIdentifier 

An alphanumeric string unique to each device based on various hardware details. (read-only) 
(Deprecated in iOS 5.0. Use the identifierForVendor property of this class or the 
advertisingIdentifier property of the ASIdentifierManager class instead, as appropriate, or use 
the UUID method of the NSUUID class to create a UUID and write it to the user defaults database.) 

@property(nonatomic, readonly, retain) NSString *uniqueIdentifier 

(以上內容來自蘋果文檔拍攝。)

通過bengoesboom注意到即使是仍然可用您的應用程序會爲你提交給蘋果公司立即自動拒絕供審查。這可能是它被徹底刪除的原因。

+0

正如我上面提到的,我們使用企業分佈來分發我們的應用程序,所以App Store拒絕不是一個問題.. Xcode 4.6.3做的是正確的事情,並拋出一個警告,而Xcode5只是引發錯誤? –

+0

只需使用'uniqueIdentifier'而不是https://developer.apple.com/library/ios/documentation/uikit/reference/UIDevice_Class/Reference/UIDevice.html#//apple_ref/occ/instp/UIDevice/identifierForVendor它不是巨大的問題來改變。 – Popeye

+0

這就是我想要做的:以下語句使用iOS6 SDK引發錯誤:'udid = [UIDevice currentDevice] .uniqueIdentifier;' –