2014-05-20 22 views
0

我在驗證我的應用程序時遇到問題,說我正在訪問非公開選擇器cancelButtonPressed:。此選擇器正在我的靜態庫中調用,如下所示:該應用程序引用了Payload/App Name中的非公開選擇器。應用程序

else if([self.delegate respondsToSelector:@selector(cancelButtonPressed:)])[self.delegate cancelButtonPressed:senderButton]; 

這是一種私有方法嗎?當我在此之前發佈應用程序時,這不會導致任何問題。我是否需要修復此問題,還是Apple會看到我沒有調用私有方法?

回答

1

cancelButtonPressed:是Apple私有方法。檢查只是選項點擊cancelButtonPressed看到它是一個公開的方法。
是的,你將不得不停止使用它。
是的,蘋果有時候會錯過一些東西,並在以後抓住它們。

也許是@selector(cancelButtonPressed:)這個問題,而不是直接調用觸發Apple的私有方法catch的實例。

+0

因此,即使它只是我在委託中包含的常規方法之一,我將不得不停止使用它。另外,是否有一個私人方法的概述列表,以便我可以在將來避免這種麻煩?另外,這個選擇器屬於哪個對象? – RileyE

+0

這是一個問題,並且發生過。也許是'@selector(cancelButtonPressed:)'這個問題,而不是直接調用觸發Apple的私有方法catch的實例。 – zaph

+0

選項點擊不會幫助我,因爲該方法在我的'protocol'聲明中。在這種情況下使用選項點擊有什麼用處嗎? – RileyE

0

該方法名稱很可能與Apple方法名稱衝突,並導致錯誤地報告使用私有API的問題。

嘗試更改代理中的方法名稱

相關問題