iOS面試用到的知識點和技術點--第二章

来源:http://www.cnblogs.com/PengHongMiao/archive/2016/09/21/5892258.html
-Advertisement-
Play Games

接著第一章的繼續 昨天沒有更新,很抱歉 1、Socket編程 以及一些第三方框架Socket-IO GCDAsyncSocket通信框架? 1、使用系統自帶的CFsocket 2、第三方Socket-IO 3、GCDAsyncSocket 想要瞭解更多 請看http://www.jianshu.co ...


接著第一章的繼續  昨天沒有更新,很抱歉

1、Socket編程 以及一些第三方框架Socket-IO GCDAsyncSocket通信框架?

  1、使用系統自帶的CFsocket

  

  2、第三方Socket-IO

  

  

   3、GCDAsyncSocket

  

  想要瞭解更多 請看http://www.jianshu.com/p/2ef8a1b08338

  2、友盟、shareSDK分享?

  1、關於友盟 是什麼  我想不用我多說了  自己去看官網  只是想簡單的集成分享、登錄和統計功能的還可以看這個:http://www.jianshu.com/p/ccfa6bb0d17d

  2、shareSDk和友盟一樣 我就不多說了  去官網看  

3、cocoaPods第三方代碼管理庫?

  

 

  只說一句:這個用得非常多,

  1、cocoaPods的安裝請看這個:http://www.jianshu.com/p/e3ad7d157ea8   使用請看這個:http://www.jianshu.com/p/63451e2a0247  

4、SVN、GIT等版本控制器?

SVN: 

 

下載地址:http://subversion.tigris.org/     

Git:

我個人還是喜歡命令行的模式,只要習慣了  或許用GUI還不適應呢

另外還有一些不是很常見的版本控制工具:Mercurial、Subversion、cvs

 當然 CVS的話有很大的缺點:它不是原子提交的 。可以去百度看看這些

4、FFMpege編解碼的流媒體及第三方框架:IJKPlayer、PLPlayerKit、Vitamio、krVideoPlayer...

FFMpege: 

2、IJKPlayer:

首先它基於FFMpeg的適用於iOS和安卓端的 

提供下載:鏈接: http://pan.baidu.com/s/1miQyfgO 密碼: k59f

使用的話,網上各種DEMO已經夠多了

3、PLPlayerKit:

這是swift版的一個播放器

地址:鏈接https://github.com/pili-engineering/PLPlayerKit

需要

這裡有它的簡單的使用:http://www.jianshu.com/p/46dd5a199db3

4、Vitamio:

Vitamio是一款Android 平臺上的全能多媒體開發框架。能夠流暢播放720P甚至1080P高清MKV,FLV,MP4,MOV,TS,RMVB等常見格式的視頻,還可以在 Android 上支持 MMS, RTSP, RTMP, HLS(m3u8) 等常見的多種視頻流媒體協議,包括點播與直播.

 這裡也提供一篇文章,有想往安卓方向的也可以去看看:http://www.jianshu.com/p/7f97b8e608c5

 5、KrVideoPlayer:

它是基於MPMoviePlayerController,類似Weico的播放器,支持豎屏模式下全屏播放   很陌生是不是  

總的來說:第三方框架太多了  就不過多介紹了  可以自己去搜 或者實現一個

 5、runtime運行時和runloop機制?

runtime就像是管理代碼的操作系統(類似於管理應用程式的操作系統)只不過它管理的是代碼的執行---我個人的理解  可能有誤

runtime與OC在三個層面上交互:

1.編寫OC源代碼,runtime在幕後編譯

2.通過Foundation框架中的Object類方法進行

3.我們可以直接調用runtime庫中的函數

   runloop機制:

CFRunLoopRef 的代碼是開源的,你可以在這裡 http://opensource.apple.com/tarballs/CF/ 下載到整個 CoreFoundation 的源碼來查看

Update: Swift 開源後,蘋果又維護了一個跨平臺的 CoreFoundation 版本:https://github.com/apple/swift-corelibs-foundation/,這個版本的源碼可能和現有 iOS 系統中的實現略不一樣,但更容易編譯,而且已經適配了 Linux/Windows

要想真正理解底層的實現  除了看源代碼  還應該再回頭看看 《電腦組成原理》,《電腦系統結構》《微機原理》《彙編語言》《編譯原理》 《操作系統》這些書。

可惜 這些書 我好長時間 都沒有再看了。

6、蘋果IAP店內購?

好了今天的面試題就到這裡了  還會有第三章  或者也可以留言需要哪個方向的比如:UI  技術點 或者底層原理類型的

歡迎大家光臨我的博客  謝謝大家  另外我的簡書也歡迎大家:http://www.jianshu.com/users/795c2ec428fd/latest_articles 

雖然寫得可能不是太好  但是喵也是在慢慢的改進  力求給大家帶來最高質量的技術性博客


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • iOS7以後,導航控制器,自帶了從屏幕左邊緣右滑返回的手勢功能。 但是,如果自定義了導航欄返回按鈕,這項功能就失效了,需要自行實現。又如果需要修改手勢觸發範圍,還是需要自行實現。 廣泛應用的一種實現方案是,採用私有變數和Api,完成手勢交互和返回功能,自定義手勢觸發條件和額外功能。 另一種實現方案是 ...
  • 生命周期:因為Presenter是View創建的,我們需要確保完全地理解View的生命周期,特別是因為它將最有可能去處理狀態更新和非同步數據。舉個例子,每一個Presenter應該在View destroyed的情況下有一個取消非同步任務的方式,或者應該在用戶暫停或者恢復視圖事件時重置到原始狀態等等。最 ...
  • 前言: 關於.jar文件: 平時我們Android項目開發中經常會用到第三方的.jar文件。 其實.jar文件就是一個類似.zip文件的壓縮包,裡面包含了一些源代碼,註意的是.jar不包含資源文件(res、圖片等) 一、首先學習如何在Android studio中將android項目打成.jar文件 ...
  • FMDB的使用 一:瞭解FMDB的三個重要類 1.1 FMDataBase:提供SQLite資料庫的類,用來執行SQL語句 1.2 FMResultSet: 用在FMDatabase中執行查詢結果的類 1.3 FMDatabaseQueue:在多線程下查詢和更新資料庫用到的類 二:使用FMDB 2. ...
  • android主要三大佈局:線性佈局LinearLayout、相對佈局RelativeLayout、幀佈局FrameLayout。 ...
  • 記錄狀態欄和導航欄的設置和控制,統一在基類視圖控制器中完成。 狀態欄。 狀態欄高度為20,iOS7以後背景完全透明。 樣式枚舉如下: typedef NS_ENUM(NSInteger, UIStatusBarStyle) { UIStatusBarStyleDefault = 0, // Dark ...
  • 1、ApkTool工具 安裝ApkTool工具,該工具可以解碼得到資源文件,但不能得到Java源文件。安裝環境:需要安裝JRE1.61> 到http://code.google.com/p/android-apktool/ 下載apktool1.3.2.tar.bz2 和apktool-instal ...
  • 今天發的是TabHost結合ViewPager實現首頁底部導航的效果,雖然說網上有很多這樣的Demo,不過呢,我還是要把自己練習寫的發出來,沒錯!就是這麼任性; 先上效果圖,如下: 代碼裡面有註釋,就不過多解釋了,說幾點需要註意的問題 1:TabHost 、TabWidget、FrameLayout ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...