2013-05-08 57 views
4

我最近有一個應用因爲原因被拒絕 - 非公開API的用法:應用不允許訪問UDID,並且不能使用uniqueIdentifier方法的UIDevice。請更新您的應用和服務器,將用戶與iOS 6中引入的供應商或廣告標識符相關聯。因非公開API使用而被拒絕(谷歌解析iOSv2)

我在此應用中使用了谷歌分析iOS v2,是否會導致此問題?

回答

4

由於新的UDID策略,我的應用也被拒絕了。就我而言,我使用AdMob和步驟來解決這個問題:

  • AdMob的更新到最新版本(谷歌警告我說,我的應用程序將被拒絕,如果我會嘗試1日以後提交它可能)。

  • 轉至Xcode>管理器>項目> YourProject>刪除(派生數據)。

  • 產品>清潔。

完成這些步驟後,我提交了程序,現在正在等待審覈(之前這些步驟蘋果拒絕了我此刻的應用程序上傳後收到的)。

希望它有幫助!

+0

希望它也適用於我.. :)讓我試試.. – Richa 2013-05-09 11:27:13

2

而且,還有一點,如果你的代碼中使用

[UIDevice currentDevice].uniqueIdentifier; 

必須chenge到

// Get UUID value 
NSUUID *uuid = [NSUUID UUID]; 

// Convert UUID to string and output result 
NSLog(@"UUID: %@", [uuid UUIDString]); 

輸出看起來是這樣的:

UUID: A84AFC3C-B3A7-31C7-B3E9-234AF423C6B1 
+0

不,我沒有使用[UIDevice currentDevice] .uniqueIdentifier;方法在我的代碼外部。可能是它寫在我在項目中使用的靜態庫中的某處。 – Richa 2013-05-11 05:58:41

2

要找到找出正在使用的方法,使用terminal和cd到項目的根目錄並運行以下命令;

find . | grep -v .svn | grep "\.a" | grep -v "\.app" | xargs grep uniqueIdentifier

這會再告訴你什麼是使用它。更新和/或刪除您的代碼和/或使用它的任何庫。

+0

這就像一個魅力!謝謝! – rocky 2013-06-19 21:24:20

0

對於Google AnalyticsSDK 2.0b4和UDID參考,只需從項目中完全刪除libGoogleAnalytics_debug.a,清理,重新編譯並再次提交。

1

我有同樣的問題...我刪除了問題庫,在我的情況下adMob庫。但要注意檢查文件夾內部,你還沒有舊圖書館,那是我的問題。祝你好運

0

你需要與其他方法來替代

[[UIDevice currentDevice] uniqueIdentifier] 

。 請參閱this url 它對我有用。

相關問題