基礎
創新互聯建站專注于青山企業網站建設,響應式網站建設,商城建設。青山網站建設公司,為青山等地區提供建站服務。全流程定制網站建設,專業設計,全程項目跟蹤,創新互聯建站專業和態度為您提供的服務
一定的編程經驗
這里說的編程經驗是至少熟練一門編程語言,對 OOP 有一定的了解,最好熟悉一些基本的設計模式。遇到過的好多 iOS 開發,大多是從別的語言轉過來的,所以有一定的編程基礎,學起來會更容易 get the point.
如果是第一次接觸編程,當然也是沒問題的,只是要做好心理準備,可能會比想象的難。
英語
發現不少開發對于英語似乎有點接受不能,通常都是中文優先,除非迫不得已,才硬著頭皮看看 StackOverflow,英文文章,文檔等。忘了是誰說過「難走的路越走越好走」,通常如此。其實只要稍微 push 一下自己,那些技術文章啃下來應該不會有太大的問題,有過幾次成功的體驗后,這種恐懼感就會減少很多。優質的文章、視頻、書籍,多是英文的,不邁過這個 坎,將來要么成為瓶頸,要么花更大的成本去填補。
入門
書籍
要學習 iOS 開發,自然要先學 Objective-C (當然現在也可以直接上 Swift,不過如果多人協作的話,OC目前還是主流),因為 OC 是 C 語言的超集,所以了解 C 語言對于學習 OC 肯定會有幫助,不過就算不了解,直接學 OC 也沒太大問題。
這里推薦 BNR (Big Nerd Ranch) 的這本 Objective-C Programming The Big Nerd Ranch Guide,講解地比較細致,能幫助你更好的理解 OC,更重要的是教你遇到問題時,如何去解決問題,以及這個問題對應的一些知識點,如何使用文檔等等。
來到一個新的世界,肯定會對這個世界充滿好奇,想訂閱一大堆博客,買一堆書,看各種教程和視頻,然后就變得浮躁,不知該從哪下手,這會導致拖延癥。 我渴了,給我倒一杯水,這個很直接,馬上就可以做,但如果是給我買一瓶飲料,而自己對那些飲料又不怎么熟悉時,就糾結了,不如刷會微博,看看朋友圈,玩個小游戲先。
所以一本好的入門教材很重要,要契合自己當前的水平,且常常會有收獲,這種成就感會激勵著你繼續學下去。
在看書的過程中,往往會有這樣的經歷:書中提到某個人、觀點、知識點、書、文章,然后就順著它提到的這些東西出去了,可能某個知識點又牽扯到另一些內容,然后就這樣越走越遠。想起了一個故事——
三只獵狗追一只土拔鼠,土拔鼠逃跑時鉆進了一個樹洞。這個樹洞只有一個出口,不一會兒,忽然從樹洞里跑出一只兔子。兔子飛快地向前跑,并爬上另一棵大樹。兔子因為慌亂在樹上沒站穩,掉了下來,砸暈了正仰頭看的三只獵狗,最后,兔子終于逃脫。
對于這個故事可以從不同的角度去解讀,我更愿意以初心去解讀。兔子為什么會爬樹?為什么能砸暈三只獵狗?這不是重點,重點是,之前追趕的土撥鼠哪去了?看書時難免會有延伸閱讀,這個深度我覺得不宜超過 2 層,不然很容易就回不來了。
還有就是如果有可能,最好每天都看點,這其實是很難的,因為總是會有優先級更高的事,或者之前的某些習慣在干擾。一旦斷了幾天,就不想再拿起來了。
還有,蘋果官方的 Start Developing iOS Apps Today 也是很不錯的入門材料。
視頻
推薦斯坦福老頭子(Paul Hegarty)的 Developing iOS 7 Apps for iPhone and iPad ,當初也是看的這個(那時還是更老的版本),Paul 是資深的 Mac/iOS 開發(前蘋果員工?),很多知識點講得很到位,學生們的提問也大都在點上,同時配有Demo,總之聽下來會對 iOS 開發有比較全面的了解。
同時推薦一本小冊子:objc-zen-book,花不長時間就能看完,里面是一些 Best Practices,對于編寫優質代碼會很有幫助。
筆記
這是一個持久的過程,任何階段都適用。以前也沒太在意這個,覺得概念性的東西,腦子過一遍,就大概知道了,然后就去啃其他的東西了,現在看來,如果有記筆記的話,會更有助于消化概念、知識點,也可以記錄自己的思考過程。達芬奇就記錄了10000多頁的筆記。
記筆記可以加深對知識點的理解,而成為編程巨星的唯一秘訣就是:對所做的事情理解地越深,就會做得越好。同時如果遵循遺忘曲線去復習的話,效果更佳。對知識點了解地足夠透徹后,Debug 時才更有可能知道問題出在哪,解決問題也更容易有思路。
筆記不僅可以記知識點,也可以記錄調試過程,比如這篇筆記,有一種調試方法:小黃鴨調試法
許多程序員都有過向別人(甚至可能向完全不會編程的人)提問及解釋編程問題,就在解釋的過程中擊中了問題的解決方案。一邊闡述代碼的意圖一邊觀察它實際上的意圖并做調試,這兩者之間的任何不協調會變得很明顯,并且更容易發現自己的錯誤。
生活中我們可能不會真的這么去做,這時抽離出另一個自己,記錄下跟ta的對話,也是個發現問題的好方法。
練習
這也是一個持續的過程,知道了些概念或原理后,總是會想著去驗證下是不是這樣,無論結果是否如自己預期,實踐的過程會降低對語言的陌生感,慢慢地培養一種駕馭這門語言的自信,如果出了錯,正好可以重新梳理一下。
目標
如果靜下心來看完了 BNR 的這本書,以及斯坦福的 iOS 開發視頻,那么對 OC 應該比較了解了,一些常用的 UIKit 用起來也沒什么問題了,比如 UIViewController / UIView / UIScrollView / UIImageView / UITableView。也熟悉一些概念,如 KVO / MVC / Delegate / DataSource。
這個階段下來,應該會有:哦,iOS 開發也就這樣嘛,多翻翻文檔,熟悉 Cocoa Touch 的一些 Class,差不多也能做出一個簡單的 App 了。
進階
入門之后,接下來可以折騰的東西還會有不少。
書籍
Effective Objective-C 2.0,里面提到了 52 種提高 iOS App 質量的途徑。涉及了 API 設計、protocols / category 的使用、寫出更模塊化的代碼等,讀下來應該會有不少收獲。
iOS Programming: The Big Nerd Ranch Guide (4th Edition),又是一本 BNR 的書,這本書的特點是通過 Demo 來引出知識點,然后提一些問題,并且會細說解題思路。看書的過程中,對于元學習能力的提升也會有一定幫助。
--- update ---
發現巧哥的 iOS開發進階 已經可以在京東買到了,雖然沒有細看,但巧哥出品質量肯定有保障。
其他資源
進入這個階段后,可以去探索更大的世界了,現在的資源已經很豐富了,但還是要遵循「少而精」的原則。以下是我覺得挺不錯的資源
iOS Dev Weekly 每周一期,內容多為這一星期里值得關注的Github項目、文章、工具等。
iOS 移動開發周報 這是唐巧大大整理的每周不錯的 iOS 開發相關的內容,多為中文。
RayWenderlich 很多詳細又全面的教程,不容錯過。
iOS Dev Slack 國內不少 iOS 開發(包括大大們)都在這里,不過現在好像不怎么能拿到邀請了。
中文 iOS/Mac 開發博客列表,打開工具訂閱吧。
還有,如果可能的話,多去分享自己學到的東西,教是最好的學,我試過幾次,效果真的很不錯。
目標
這個階段下來,對于常用的設計模式、內存管理、Blocks 的使用、圖像操作、網絡請求和管理、多線程應該比較熟悉了。對于 CALayer、Animation、UIScrollView、UITableView、UICollectionView、 ViewController Container 則非常熟悉,對「非常熟悉」的定義是:不打開 Xcode,腦子里就能把相應的知識點復述出來 80% ,比如這個類有哪些方法,Delegate / DataSource 有哪些方法,怎么使用,如果要實現某個效果,應該怎么做(好吧, UICollectionView 除外)。
高級
其實高級、進階、入門并沒有嚴格的界限,在入門階段也可以探究高級階段的一些東西。我覺得支撐我們不斷探索和前進的動力不是興趣,而是永不滿足的好奇心,和對優雅代碼的追求。
If your standards are low, you're going to stop pretty early on in the process.
BNR 的這篇 Leveling Up 已經講得很好了,也更加細致。
書籍
iOS 7 Programming Pushing the Limits 這本書對 iOS 7 的一些特性會講解地比較深入,當然也不僅僅是 iOS 7。只嘆 iOS 更新實在太快,書籍往往跟不上,一本好書往往需要很長時間來撰寫,等書可以出版了,iOS 又出新版本了。
源碼
看優秀的源碼,可以學到很多東西,使用過程中遇到問題也更容易解決。這些是我覺得值得細看的源碼:AFNetworking(NSOperation, HTTP, Block), SDWebImage(Image Handle, Cache, NSOperation, Block),SVPullToRefresh(UIScrollView, State Handle), JSONModel(runtime)
如果有興趣,也可以翻翻 CoreFoundation / OC runtime 的源碼。
資源
oleb
NSHipster
objc.io || objcio.cn
WWDC 視頻
工具
chisel Facebook 出品的 LLDB 助手,用于調試很方便
Reveal 每當好奇某個 App 的實現時,都會打開它一窺究竟,用于調試自己的 App 也很方便
Aspects steipete 大大出品的一款方便使用 method swizzling 的工具,可以在運行時動態添加代碼到某個方法
class-dump 從 Mach-O 文件生成 OC 頭文件,有時想看看某個 App 大概是如何組織的會比較方便
Hopper 可以對二進制文件進行反編譯,甚至可以生成偽代碼!有時想看看 UIViewController 里某個方法大概是怎么實現的,就可以用它。
Instruments 這個內置的工具對于發現 App 的各種問題很有幫助,如內存占用、泄露,渲染問題等。
目標
這個階段,對于底層的實現會有更深入的了解,各種 Core 開頭的 Framework 至少可以說出個大概,工具也能熟練使用,「正經的代碼」寫過數萬行,可能天天在翻 Dash。如果別人讓你實現某個功能,能在較短的時間內給出不錯的實現方案,并且足夠細致,甚至精細到如何使用 Core Graphic 去畫某個圖像。
其他
我覺得無論學習什么,「速成」的心態是最要不得的,這只會讓自己變得浮躁,一知半解,整個過程也很難讓自己的元學習能力得到提升。慢慢來,攻占一個城后,再去打下一個,這時心態也會平和許多。
1.預先準備在你開始將程序提交到App Store之前,你需要有一個App ID,一個有效的發布證書,以及一個有效的Provisioning profile。下面來看看它們各自的作用。Step 1: App ID(應用ID)App ID是識別不同應用程序的唯一標示符。每個app都需要一個App ID或者app標識。目前有兩種類型的App標識:一個是精確的App ID( explicit App ID),一個是通配符App ID( wildcard App ID)。使用通配符的App ID可以用來構建和安裝多個程序。盡管通配符App ID非常方便,但是一個精確的App ID也是需要的,尤其是當App使用iCloud 或者使用其他iOS功能的時候,比如Game Center、Push Notifications或者IAP。 如果你不確定什么樣的App ID適合你的項目,我推薦你讀下蘋果關于這一主題的文檔: Technical Note QA1713。 Step 2: Distribution Certificate(發布證書) iOS應用都有一個安全證書用于驗證開發者身份和簽名。為了可以向App Store提交app,你需要創建一個iOS provisioning profile 。首先需要創建一個distribution certificate(發布證書),過程類似于創建一個development certificate(開發證書)。如果你已經在實體設備上測試你的App,那么你對創建development certificate就已經很熟悉了。 如果對此不熟悉,我建議你讀下 蘋果關于signing certificates和provisioning profiles的詳細指導 。 Step 3: Provisioning Profile(配置文件) 一旦你創建了App ID和distribution certificate,你可以創建一個iOS provisioning profile以方便在App Store中銷售你的App。不過,你不能使用和ad hoc distribution相同的provisioning profile。你需要為App Store分銷創建一個單獨的provisioning profile,如果你使用通配符App ID,那么你的多個app就可以使用相同的provisioning profile。 Step 4: Build Settings(生成設置)配置App ID、distribution certificate 和provisioning profile已經完成,是時候配置Xcode中target的build settings了。在Xcode Project Navigator的targets列表中選擇一個target,打開頂部的 Build Settings選項,然后更新一下 Code Signing來跟之前創建的distribution provisioning profile相匹配。最近添加的provisioning profiles有時候不會立馬就在build settings的 Code Signing中看到,重啟一下Xcode就可以解決這個問題。 配置Target的Build SettingsStep 5: Deployment Target(部署目標)非常有必要說下deployment target,Xcode中每個target都有一個deployment target,它可以指出app可以運行的最小版本。不過,一旦應用在App Store中生效,再去修改deployment target,你要考慮到一定后果。如果你在更新app的時候提高了deployment target,但是已經購買應用的用戶并沒有遇到新的deployment target,那么應用就不能在用戶的移動設備上運行。如果用戶通過iTunes (不是設備)下載了一個更新過的app,然后替代了設備上原先的版本,最后卻發現新版本不能在設備上運行,這確實是個問題。(1) 當你決定提高現有app的deployment target時,要在新版本的版本注釋中進行說明。如果你提前告知用戶,那么至少有一點,你已經盡力阻止問題的發生了。(2) 對于一款新app,我經常會把deployment target設置為最近發布的系統版 本。因為新iOS版本發布后,滲透率的增長速度是令人難以置信的。很多人認為提高deployment target會失去大部分市場,這個說法并不準確,比如iOS 6, iOS 6發布后一個月,超過60%的設備已經進行了更新 。但對Android而言,就是另外一回事了, Android用戶并不會像iOS用戶那樣熱衷于更新操作系統版本 。 【以上簡而言之,最好從項目設計時,就決定是否考慮兼容低版本用戶,支持的話,寫代碼時使用ios新特性時最好做一下判斷,if是老版本if是新版本】在最新的WWDC2014上,公布的數字顯示,iOS7的市場占有率已經為87%2. Assets(資源包)Step 1: Icons(圖標)Icon是App中不可分割的一部分,你要確保icon尺寸不會出現差錯。iTunes Artwork: 1024px x 1024px (required)iPad/iPad Mini: 72px x 72px and 114px x 114px (required) iPhone/iPod Touch: 57px x 57px and 114px x 114px (required) 120px x 120px(required) for iPhone5/iPhone5c/iPhone5sSearch Icon: 29px x 29px and 58px x 58px (optional) Settings Application: 50px x 50px and 100px x 100px (optional) Step 2: 屏幕截圖屏幕截圖的作用不言而喻,你可以為每個app上傳5張截圖,雖然至少需要上傳一張,可能很少有人會只上傳一張圖片。另外,你還需要分別為 iPhone/iPod Touch和iPad/iPad Mini準備不同的屏幕截圖。這也是不小的工作量,但卻能展示應用的另一面。Shiny Development開發的一款售價6.99美元的Mac軟件 Status Magic可以為你節省不少時間。Status Magic可以幫你把狀態欄放在截圖的正確位置。 屏幕截圖和icon是應用給用戶的第一感覺,直接關系到用戶會不會購買。不過,你所上傳的屏幕截圖也不一定非得是實際的截圖,看看 Where’s My Water? 截圖可以通過使用此策略,更具吸引力和說服力。當我們連上調試機以后。可以利用Xcode中Organizer中的New Screenshot輕松的截出標準大小的圖片。Step 3: 元數據 在提交應用之前,要管理好app的元數據,包括1應用名稱、2版本號、3主要類別,4簡潔的描述,5關鍵詞,6.支持URL。如果你需要更新應用,你還要提供新增加的版本內容。 如果你的應用需要注冊【打開APP需要登錄,比如飛信】,你還得向蘋果提供一個測試賬戶或者demo賬戶,這樣審核人員就能很快進入app,而不用再注冊賬號。3. 提交準備Xcode 4以后,開發者提交應用的過程就簡單多了,可以直接使用Xcode進行提交。首先在 iTunes Connect中創建app,訪問iTunes Connect,使用你的iOS開發者賬號登陸,點擊右邊的“Manage Your Apps”,點擊左上角的“Add New App”,選擇“iOS App”,然后完成表格。
可以的。
方法如下:
1、進入iOS 7設置,然后再進入“通用設置”,之后再選擇“輔助設置”
2、之后在iOS 7輔助功能設置中,再選擇開啟增強對比度即可
開啟增加對比度選項后, Dock的顯示圖案也會出現略微不同,用戶可以根據自己的喜好來決定如何選擇透明度。
新聞名稱:ios7開發文檔,ios7描述文件下載
網站路徑:http://m.kartarina.com/article38/dsesjsp.html
成都網站建設公司_創新互聯,為您提供App開發、小程序開發、網站收錄、網站營銷、品牌網站建設、電子商務
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯