前言
前幾個月一直忙碌公司iOS端App開發,所以沒時間管理自己博客,最近看到一篇文章,讓我鼓足勇氣開通自己的Blog,博客現在還不是很完善,有時候解析出錯,這跑題了,進入正題O(∩_∩)O
App前期準備工作
公司的開發者賬號老大已注冊好,So,我只需要配置好證書開發就好!我們使用的是git開發管理代碼,雖然GitHub很贊,眾所周知:國內訪問和操作<a >GitHub</a>都是很慢的,所以我們托管在<a >Git OSChina</a>,在此感謝他們提供的平臺。其實git多人開發會出現很多問題,沖突啥的都會有,所以解決沖突也比較費勁,所以我們用<a >FixMergeConflict</a>插件解決沖突,間接提高了開發效率,由于開發需要查看進度,測試BUG等,我們又將App內測發布到<a >fir.im</a>上,方便測試,其實國內App內測還有<a >蒲公英</a>,只是我習慣了fir,所以就選擇了fir,那么問題又來了,每天打包,用Xcode Archive是不是很煩躁,所以你可以選擇這個插件<a >DailyPackagedForiOS</a>,從此麻麻再也不用擔心我打包煩躁的事啦,哈哈哈~
使用到的第三框架
網絡處理:<a >AFNetworking</a></br>
圖片加載:<a >SDWebImage</a></br>
數據庫管理:<a >fmdb</a></br>
自動布局:<a >Masonry</a></br>
數據模型轉換:<a >Mantle</a></br>
富文本:<a >TTTAttributedLabel</a></br>
視圖加載:<a >MBProgressHUD</a></br>
圖片選擇器:<a >CTAssetsPickerController</a></br>
MJ刷新:<a >MJRefresh</a></br>
MJ圖片加載:<a >MJPhotoBrowser</a></br>
很強大的tabBarController:<a >RDVTabBarController</a></br>
輸入框鍵盤遮擋:<a >TPKeyboardAvoiding</a></br>
以上都是Cocoapods管理第三方類庫,如需安裝<a >Cocoapods</a>教程。排名不分先后,感謝他們的開源精神,使得我們有更多的時間去優化我們的App,還有其它暫未列出。同時感謝我之前的老大<a >Bruce</a>在他身上讓我學到了很多,感謝他的指導,還有我的另一位伙伴<a >chenrenjie</a>;同時感謝<a >Coding-iOS</a>的開源,感覺學到許多,很贊的源代碼。
推送
經過和老大的討論,最終選擇騰訊信鴿推送<a >信鴿推送</a>
短信驗證碼
采用<a >mob</a>(原ShareSdk)短信驗證。
第三方社交與社交分享
采用<a >友盟</a>的第三方授權登錄:騰訊QQ,微信,微博以及分享,自我感覺友盟的技術客服妹紙服務態度很贊哦!
Crashlytics BUG追蹤神器
使用Crashlytics bug追蹤,不懂的童鞋可以參看<a >巧哥博客介紹Crashlytics</a>,Crashlytics太強大了,讓你的BUG無處存在,你的項目集成了他,可以定位到哪一行Crash,接下來就看你的了。
iOS App上架那些事
終于到了可以Release App發布到App Store,此時無比開森,有木有。畢竟可以不再那么的趕進度,那些日子確實是煎熬,但是現在看來一切都是值得的。但是我們發布到App Store時需要注意很多,畢竟Apple的審核是相當嚴的,一不小心就被reject了,這種感覺真差勁,其實被拒也木有那么好糾結的,只要弄清問題所在更改就好。我們App被reject2次,幸運的是第三次審核通過,剛好今早在App Store搜索,奇跡般App出現在App Store上,內心無比激動,其實預計這2天會出結果,說實話每天凌晨和早上都會第一時間在App Store搜索我們的App。
第一次被拒
等待漫長的2周,最后老大收到Review的郵件截圖給我,當時我還在琢磨Review,有道一查,才明白App可能被reject了,那時候老大不知道權當App開始審核了,上<a >itunesconnect.apple.com</a>果真被拒了,如需要App加急審核https://developer.apple.com/contact/app-store/?topic=expedite
"Multitasking Apps may only use background services for their intended purposes: VoIP, audio playback, location, task completion, local notifications, etc"
</br>
"Apple and our customers place a high value on simple, refined, creative, well thought through interfaces. They take more work but are worth it. Apple sets a high bar. If your user interface is complex or less than very good, it may be rejected"
以上2點是第一次提交App時Apple被拒的主要原因,其實還有一個就是我們第一版本就添加"檢查更新按鈕",Apple也截圖給我們了,我們只能修改了,將檢查更新去掉了,更改了Apple列舉的問題。很納悶,為啥Apple審核不把App出現的問題都列舉出來,導致我們第二次也被拒,Apple審核人員太壞了,沒辦法我們只能盡量避免。
第二次被拒
又等待一周的時間,審核結果出來了,App再次被拒原因主要有兩點:
登錄有問題
活動頁面沒有添加"本活動與蘋果無關"
被無情的拒絕后,喪心腸斷劍,過兒的黯然銷魂掌,傷心太平洋...此時感覺有點無力了,呵呵呵呵~再怎么無力也要發布App啊,我特么懷疑Apple審核人員用模擬器測試App,再想想根據我們登錄時的字段加入了DeviceToken所以沒有Token是登錄不了的,但是再想想有時候會獲取不到Token,此時自己又狠狠的呵呵了一把自己,既然出問題了,那就改改改,改完再提交。經過大概9天App出現在App Store了,無比激動了。
結語
希望以上被拒對準備上架App的童鞋有所幫助,在此感謝他們的開源精神,感謝共患難的隊友,感謝!
Notice
轉載請簡信或微博@Sauchye,感激不盡。如果您覺得有些圖片問題或數據(版權),請與我聯系,我盡快處理,謝謝!