2014-02-17 42 views
11

當我修復了一些bug並重構了我在App Store上發佈的項目後,它無法發佈。 Xcode的顯示以下錯誤消息:未能發佈我的應用程序:「您的應用程序包含非公開API使用情況。」

  • 您的應用包含非公開API的使用。請檢查錯誤,更正錯誤並重新提交您的應用程序。
  • 該應用程序引用有效載荷非公共符號/ XXX.app/XXX:UICreateCGImageFromIOSurface

XXX是應用程序的名稱。

我搜索整個項目,並沒有找到任何關鍵字(UICreateCGImageFromIOSurface)。我怎樣才能解決這個問題?

+4

你使用任何快照服用庫在您的項目?檢查項目中的Reveal.framework –

回答

37

從您的項目中刪除Reveal.framework。這不應該在你的二進制文件的發佈模式中被鏈接。

+0

謝謝。有用。我忘了去掉Reveal豆莢。 OMG !! –

+0

如果記住我在我的項目中使用了Reveal,那會花費我數年的時間。謝謝!!!! –

+2

請注意,您不需要移除Reveal。框架完全如果你使用CocoaPods。在podfile中使用以下內容:pod'Reveal-iOS-SDK',:configurations => ['Debug'] –

1

您的應用程序不僅包含源代碼,還包含來自所有靜態鏈接庫的代碼。你必須檢查所有這些包含私人電話。看起來至少Reveal庫包含它。

+0

感謝您的回答。有用! –

0

仔細檢查你正在使用項目中的任何第三方庫

我面臨的問題和檢查我的豆莢文件後,我發現Look Back - Framwork它可用於調試版本只爲我知道。所以刪除這個問題就解決了。成功通過Xcode 6.1提交的應用程序用於Apple Testflight beta測試:)

0
  • 絕不要運送與Reveal庫鏈接的應用程序。顯示 您的應用需要深入反思,並可能導致您的應用被蘋果審查小組拒絕。顯示僅用於內部 開發和調試目的。
  • 顯示服務將自動停止,而iOS主機應用程序是 而不是最前面的應用程序。當應用程序 重新打開時,它會自動重新啓動。
  • Reveal支持檢查以後編譯的iOS 6和 的應用程序。 iOS部署目標版本設置也必須是'iOS 6.0' 或更高版本。如果情況並非如此,您可能會看到鏈接錯誤。
  • Reveal使用Bonjour連接運行的iOS應用程序。如果 您正在設備上運行iOS應用程序,則它將需要在與Reveal Mac應用程序相同的網絡上爲 ,以便能夠與 連接。如果您在連接到您的應用程序時遇到任何問題,請檢查您的防火牆和代理設置 ,以確保它們不會阻止 通信。

Find out more...

相關問題