1. 程式人生 > >iOS APP提交稽核,關於第三方登入被拒的那些事兒

iOS APP提交稽核,關於第三方登入被拒的那些事兒

附博主連結:http://blog.csdn.net/gjx121233/article/details/49245873

隨著蘋果APP稽核指南的改變,大家應該能感覺到,APP想要通過稽核似乎越來越難了,但其實並不,只要你開發的APP介面沒太大問題,不會頻繁崩潰(至少在稽核人員的執行時不要崩潰),且內容健康,一般都會沒有問題,這裡需要重點說一下,如果你的APP做了關於登入分享,那就需要注意了。

就此次關於“送個禮物”app開發上線,給大家做下分享總結(純屬個人小分享,也給自己的工作做個總結):

大家都知道,蘋果是特別注重使用者體驗的,同時也非常重視客戶的隱私問題,但就國內的APP而言,第三方登入會讓使用者使用更加方便,減少了過多的賬號記錄,同時第三方的分享也是我們開發者依賴推廣的一個途徑。但蘋果卻不這麼認為,因為你可能違反了蘋果的稽核規定17.2和10.6,下面詳細說一下:

17.2: Apps that require users to share personal information, such as email address and date of birth, in order to function will be rejected

We found that your app uses Weibo login for authentication purposes only - but does not include any account-based features offered by that site. This is not in compliance with the App Store Review Guidelines.



It would be appropriate to modify your app to include account-based features of that social network - or use your own authentication mechanism. 

看到這裡,很多開發者可能就明白了,蘋果的意思是,使用者需要登入才能使用其他功能,也就是說,在不登入的情況下,使用者是不能使用APP的某些功能的,比如你的APP裡面有收藏或分享的功能,那使用者如果不登入,或者沒有該登入方式的賬號(比如新浪微博、微信和QQ),可能又有人會說,微信和QQ每個人都有啊,情況也確實如此,但是蘋果不會因為這個理由就給你過,而且蘋果的稽核人員是在美國,你就不能保證他們在測試的時候會有新浪微博、微信或者QQ,可是如果確實沒有,那就使用不了這兩項功能,這和蘋果注重客戶使用體驗是相悖的,那你的APP不拒還拒誰的?那麼會有人問,那該怎麼辦?小編親身體驗,因為我也是因為這個原因被拒的,當時在美國的稽核人員打來電話明確說明,APP裡不能只有第三方登入,應該有自己的賬號系統,相信大家應該明白了,我們確實應該有自己的賬號系統,你可以用手機號驗證註冊,也可以使用簡單的使用者名稱密碼註冊,總之,你要讓使用者能夠更簡便的使用你的APP。

如果你還沒看到這裡,那就請不要匆匆忙忙的去提交你的APP,因為問題還沒說完,僅僅是做到上面這些還是不夠的,否則還會有新的稽核反饋等著你,上面提到了被拒理由10.6:

10.6: We found that your app requires the installation of another app before it can be used, which is not in compliance with the App Store Review Guidelines. Apps should be able to run on launch, without requiring additional applications to be installed.

Specifically, we were required to install QQ before we could use your app.

Please revise your app so that a user can use it upon launch. If your app requires authentication before use, please use a method that can authenticate users from within your app.

不懂的可以去百度翻譯,如果你的APP使用了微信和QQ的登入和分享,並且你的裝置沒有安裝客戶端,那麼要特別注意,對於微信的登入和分享我們可以直接去判斷為有沒有安裝客戶端,然後動態的去顯示或隱藏微信的登入按鈕和微信及朋友圈的分享按鈕,具體方法如下:


這裡需要你的SDK裡面有微信API,並且呼叫標頭檔案:

#import "WXApi.h"

通過上面的方法判斷,如果安裝則顯示登入和分享按鈕:


未安裝則隱藏按鈕,就像這樣:


對於QQ,我們則不需要隱藏其登入按鈕,那麼就有人問,為什麼?這樣不是會被拒嗎?那麼,請問你有沒有聽說過QQ可以網頁登入,同時我們也可以網頁登入授權,它是這樣的:



這裡需要特別注意,比如QQ和空間分享:



你是否出有什麼區別?沒錯,就是當你點選QQ登入按鈕,會在我們程式內部彈出UIWebView來讓我們授權登入,但是當你點選QQ分享和空間分享按鈕的時候並沒有像之前這樣,它會直接跳轉safari來讓使用者登入,那麼?這不是一樣嗎?我們也可以登入授權啊,不一樣!因為直接跳轉了safari,那麼如果使用者的裝置在沒有升級9.0系統的情況下,他只能通過多工或者退到桌面再進入我們的APP,也就是說不是一個好的使用者體驗,蘋果會給你拒的,毫無疑問。那麼,我們就同樣需要判斷有沒有安裝客戶端來顯示或隱藏QQ分享和空間分享按鈕,呼叫下面這個方法:



當然,如果你可以把QQ和微信的登入和分享都做成UIWebView來登入授權,那麼你就不用再做上面這些了。

祝大家都能提交成功。。另外也希望大家可以關注我們的app:送個禮物。