[IOS/翻譯]Core Services Layer

來源:互聯網
上載者:User

標籤:中心   gcd   hat   sqlite3   undle   系統   特點   系統使用者   記錄   

本文是本人自己辛苦翻譯的,請轉載的朋友註明,翻譯於Z.MJun的CSDN的部落格 http://blog.csdn.net/Zheng_Paul,感謝。

翻譯於2015年10月4日

Core Services Layer

這個核心服務層包含應用的基本系統服務。關鍵這些服務是在核心功能和核心功能庫之間,全部的應用都必須使用這些基礎類型。

這個層同一時候包含個別的技術,比如本地,iCloud,公用媒體和網路。

進階別的特性

接下來的部分描寫敘述的是一些在核心服務層下進階別的特性

  • 點對點服務(Peer-to-Peer Services)
    多點串連庫提供了點對點的串連超過藍芽。你能夠初始化點對點連接和附近的裝置進行互動會話。

    儘管點對點連接主要用在遊戲上。可是你能夠使用這個特性在其它類型的應用上。

  • iCloud 儲存(iCloud Design Guide
    iCloud儲存讓應用寫使用者文檔和資料到本地中心。使用者能夠從他們的電腦或者IOS裝置訪問這些。使得使用者的文檔儲存在ICloud下,使用者就能夠不須要在同步的情況下。使用其它裝置來改動或者查看他們的文檔,明白的轉移檔案。安全的儲存文檔到使用者的iCloud帳號下。

    即使使用者丟失了裝置。文檔也還在iCloud儲存裡。
    應用能夠使用這兩個iCloud儲存特性方法。

    • iCloud document storage 文檔儲存
      能夠把文檔和資料存放區在使用者的iCloud帳號下
    • iCloud key-value data storage 鑰匙資料存放區
      能夠通過應用間的介面分享小資料
    • CloudKit storage
      當你想建立公用分享內容,或者管理自己資料轉送

    很多應用使用iCloud文檔通過iCloud帳號來分享文檔。

    使用者關心文檔什麼時候通過裝置分享,或者他們能夠看見和管理這些來自共用的文檔。與之相反,iCloud key-value的資料使用者是看不見的。可是,這是一個方式通過應用介面分享這個小資料(10k)。應用應該使用這個特性來儲存非臨界應用資料。比如,preferences配置。而不是重要的應用資料。

  • 對象Block (Blocks Programming Topics) (Guide)
    Block Objects是基於C語言結構,能夠使用在C語言代碼下和OBJ-c語言代碼下。一個Block對象是本質上是一個沒有名稱的功能和資料通過這方法獲得,一些在其它應用裡面是通過呼叫closure或者lambda。Blocks有使用獨特,如callbacks或者在一個地方你須要一個方法簡單的結合啟動並執行代碼和相關的資料。
    在IOS,blocks通常使用在

    • 相似替代Delegate和Delegate方法
    • 相似替代callback功能
    • 運行一次性操作的完畢處理常式
    • 便於在和集中的全部item運行任務
    • 和dispatch queues一起使用,運行非同步任務
  • 資料保護(App Programming Guide for iOS)
    資料保護同意應用在一些裝置中使用更有優勢的經過內建加密的使用者資料。

    當你的應用指定一個須要保護的特殊檔案,系統會使用加密來儲存這個檔案到硬碟上。當裝置上鎖,你的應用甚至駭客入侵,都不能訪問到這個檔案。

    可是,當使用者解鎖裝置。應用就能夠使建立的解密檔案來訪問檔案。你能夠使用不同層級的資料保護。


    實現資料保護你須要考慮你要怎麼建立和管理你想保護的檔案。

    應用必須設計成保護建立時的資料。和當使用者鎖與解鎖裝置下,訪問檔案情況。

  • 支援檔案分享
    分享檔案支援讓應用在iTunes9.1或更高的版本號碼上能夠獲得使用者資料。

    一個應用須要聲明支援檔案分享,在/Documents 的字典下分享內容。使用者能夠把分享到iTunes的檔案移進或移出這個字典。這個特性不同意應用在同一個裝置上從其它應用分享檔案到應用裡。這個特性須要pasteboard和一個文件管理對象。


    同意分享檔案到你的應用裡

    • 加入UIFileSharingEnabled Key到你的應用Info.plist裡面,設定這個值為YES
    • 把你想分享的檔案放在應用的Documents下
    • 當裝置和電腦相串連時,iTunes就會顯示這個檔案分享到顯示在選擇裝置的表現上。
    • 使用者能夠加入檔案到字典下,或者吧檔案移到案頭。

    應用支援檔案分享,應該具有管理他們的能力。

    當檔案被添加到Documents下,和作出對應的響應。比如。你的應用吧一些顯得內容通過介面加入到這裡,你不應該吧這個檔案夾的檔案清單呈現給使用者,而是告訴他們決定怎麼使用這些檔案。

  • GCD (Guide)
    GCD是一個BSD層級的技術,能夠在應用中管理運行中的任務。GCD結合非同步編譯模式。是一種非常方便和高效。不同線程的進階語言的模式。GCD同一時候為低層級任務提供很多便捷的方法,如,閱讀和編寫檔案描寫敘述。實現定時器。監視訊號和處理事件。

  • In-app Purchanse
    In-App Purchase提供出售應用中指定的內容,服務。和iTunes內容到你的應用裡。

    使用StoreKit庫能夠實現這些特性,庫提供了使用iTunes帳號來處理交易事項。應用控制了整個使用者體驗和可視化支付展現的內容或者服務。

    對於能夠下載的內容。你能夠承載自己的內容或者讓蘋果服務幫你承載。

  • SQLite
    SQLite庫提供了一個高效內嵌式資料庫在應用中,你能夠不須要使用一個外置的資料庫服務。

    對於應用,你能夠建立本地的資料庫和管理或者記錄檔案。

    這個庫為一般使用者設計,具有高效的訪問和處理能力。
    訪問SQLite庫的標頭檔在/usr/include/sqlite3.h。在Xcode的安裝路徑下。

  • 支援XML documentation for libxml2
    這個功能庫提供了NSXMLParser類處理來自XML文檔的內容。另外,還支援操作在libxml2庫下XML資料。

    這個是開源的庫。讓你快熟的解析或者編寫XML資料或者轉化XML內容為HTML。
    libxml2庫的標頭檔在/usr/include/libxml2/ 下,在Xcode的安裝路徑下。

核心服務庫 Core Services Framework

接下來要介紹的是這個庫和庫下的功能

列表
  • 5.0 系統使用者 Accounts.framework (AC)
  • 2.0 通訊錄 AddressBook.framework(AB)
  • 6.0 廣告 AdSupport.framework (AS)
  • 2.0 網路處理 _CFNetwork.framework
    _ (Guide) (CF)
  • 8.0 雲處理 _CloudKit.framework
    _ (CK)
  • 3.0 核心資料 _CoreData.framework
    _ (NS)
  • 2.0 核心功能 _CoreFoundation.framework
    _ (NS)
  • 2.0 核心位置 _CoreLocation.framework
    _ (Guide) (CL)
  • 4.0 核心媒體 _CoreMedia.framework
    _ (CM)
  • 4.2 核心手勢 _CoreMotion.framework
    _ (CM)
  • 4.2 核心電話 _CoreTelephony.framework
    _(CT)
  • 4.0 日曆事件 _EventKit.framework
    _(EK)
  • 2.0 功能 _Foundation.framework
    _(NS)
  • 8.0 保健 HealthKit.framework (HK)
  • 7.0 JaveScript JavaScriptCore.framework(JS)
  • 3.0 手機核心服務 MobileCoreServices.framework(UT)
  • 7.0 多點串連 Multipeer Connectivity Framework(MC)
  • 5.0 新聞 NewsstandKit.frameworkGuide)(NK)
  • 6.0 Passes PassKit.frameworkGuide)(PK)
  • 4.0 高速預覽 QuickLook.framework(QL)
  • 7.0 Safari服務 SafariServices.framework(SS)
  • 6.0 社會 Social.framework(SL)
  • 3.0 支付 StoreKit.frameworkGuide)(SK)
  • 2.0 系統配置 SystemConfiguration.framework(SC)
  • 8.0 網路 WebKit.framework (WK)
  • 5.0 系統使用者 Accounts.framework
    提供了一種單一的登入模式。

    這個模式避免了多帳號登入。而且最佳化的登入體驗。能夠通過這個庫登入和改動使用者資料。

    同一時候。為你的應用簡化了管理時的授權問題。

    使用這個庫是能夠聯合Social framework一起使用。

    (AC)

  • 2.0 通訊錄 AddressBook.framework
    直接進入使用者的通訊錄。假設你的應用須要使用通訊錄資訊,你能夠使用這個庫來進入和改動通訊錄資訊。如,需找近期加入通訊錄的資訊而且顯示資訊。(AB)

  • 6.0廣告 AdSupport.framework
    提供用於廣告目的的標識符的訪問。這個架構還提供了一個標誌,推斷使用者是否選擇了廣告跟蹤。在使用標識符訪問前,應用須要可讀。而且忠誠於廣告追蹤。

    (AS)

  • 2.0 網路處理 _CFNetwork.framework
    _ (Guide)
    一個以C語言為基礎,物件導向。高效的處理網路程式庫。這庫提供很多處理網路組件堆的細節和更加easy使用底層的模組。如BSD socket。而且簡化了FTP,HTTP服務,或者解決DNS host.(CF)

    • 使用BSD sockets
    • 使用SLL或者TLS時候,建立加密連結
    • 解決DNS hosts
    • 為HTTP服務,驗證HTTP服務。HTTPS服務等工作
    • 為FTP服務工作
    • 公布,處理和瀏覽 Bonjour服務等(Guide
  • 8.0 雲處理 _CloudKit.framework
    _
    提供了一個通道從你的應用到ICloud來資料轉送。不同於其它iCloud技術。這樣的傳輸更加直接。這個庫給予了當資料產生變化時。你能夠控制他的能力。

    同一時候能夠使用它管理全部的類型資料。
    應用能夠通過他把商店資料直接的分享給全部使用者,這個公用庫是設應用綁定的。即使你沒有注冊iCloud帳號。

    應用開發人員,能夠直接在這裡管理資料,而且能夠瞭解到使用者的不論什麼改動資料的行為。

    (CK)

  • 3.0 核心資料 _CoreData.framework
    _
    是一項管理資料模型技術。Model-View-Controller應用。這個庫有意使得應用使用的資料模型都是最高標準的。而不是定義資料結構,在xcode裡面使用圖形工具來構建一個模式表示資料模式。

    在應用啟動並執行時候,執行個體中的資料模式的建立,管理和可視化都是通過這個庫完畢的。

    (NS)

    • 對象資料存放區在高效能的SQLite資料庫
    • 一個NSFetchedResultsController類管理tableView的結果
    • 管理重做/恢複的能力在基礎文本改動能力之上
    • 支援屬性值的驗證
    • 支援繼承和確保類之間的關係持續一致
    • 支援在記憶體裡形成組,篩選資料和組織資料能力
      假設你將要準備開發一個新的應用或者計劃升級已經存在的應用。

      你應該要考慮使用這個庫。舉一個範例在IOS應用裡使用這個庫,請查看Core Data Tutorial for iOS

  • 2.0 核心功能 _CoreFoundation.framework
    _
    一些列基於C語言的介面。提供最基礎的資料處理。和IOS服務特點。

    (CF)

    • 集合資料類型(數組,組,和其它)
    • Bundles
    • 字串String管理
    • 時間Date和Time管理
    • 未經處理資料快管理
    • 網路連接,網路流管理
    • 多線程,迴圈運算
    • 連接埠Port和socket串連
      這個庫和Foundation庫有非常大的關係。提供基於OBJ-c的介面一樣的基礎特性。當你須要混合類功能或者類型時。你能夠利用兩個不同類件存在的“toll-free bridging”,這個“toll-free bridging”指的是在一些方法裡使用這個庫和庫類型交換和隨意一個庫。

      這個是的很多資料類型能夠使用,包含集合和字串資料型別。

      The class and type descriptions for each framework state whether an object is toll-free bridged and, if so, what object it is connected to。

  • 2.0 核心位置 _CoreLocation.framework
    _ (Guide)
    這個庫為應用提供位置和標題資訊。對於位置資訊,這個庫使用了GPS,cell,或者wifi遙控。來尋找使用者的實際維度和精度。你能夠在應用裡使用這個技術為使用者提供座標資訊。比如,你可能有一個業務是想要獲得使用者附近的餐廳。商店或者工廠等。或者是他當前的正確的位置。(CL)

    • 在有陀螺儀的IOS裝置中訪問指南針資訊
    • 在地圖上或者藍芽資訊內擷取監測地區資訊
    • 使用低能量的本地搜尋
    • 和Mapkit一同使用,在某種特定的情況下能夠提高座標品質,比如。導航。
  • 4.0 核心媒體 _CoreMedia.framework
    _
    為AVFoundation庫提供了底層的映像類型。很多應用須要使用到這個庫,可是他也僅僅是為非常少一部分開發人員使用,用於精確地建立或者展現音頻和視頻內容。(CM)

  • 4.2 核心手勢 _CoreMotion.framework
    _
    為裝置提供一組基於手勢資料的介面。庫支援訪問原始和處理過的加速器資料使用一套新的基於塊的介面。

    內建陀螺儀的裝置,你能夠檢測原始的陀螺儀資料和,基於陀螺儀資料的遊戲,或者其它使用到手勢的應用,或者像一個方法來提高使用者體驗。內建運動統計的硬體裝置,你能夠訪問這些資料,而且把資料用在保健的活動上。(CM)

  • 4.2 核心電話 _CoreTelephony.framework
    _
    為擁有打電話功能的裝置提供了一個基於手機資訊介面。

    應用使用這個庫能夠擷取關於使用者的電話語音。適合一些打電話的應用。如,VoIP(網路電話)應用,而且能夠接受電話的全部通知。

    (CT)

  • 4.0 日曆事件 _EventKit.framework
    _
    包含最常規的能夠操作的音頻和視頻。不要直接使用這個架構。

    提供一個介面來訪問使用者裝置上的日曆。(EK)

    • 擷取已經存在的事件,和從使用者的日曆上獲得事件提醒
    • 加入事件到使用者日曆上
    • 使用者能夠建立提醒事件。而且顯示在提醒事件的應用上 + 配置日曆事件的鬧鐘。包含這是鬧鐘的內容
      Important:反問使用者的日曆,而且提示資料須要得到使用者的同意才幹使用。

      應用必須處理使用者的禁止訪問。應用也是鼓舞提供Info.plist上Keys描寫敘述。訪問請求的需求。

  • 2.0 功能 _Foundation.framework
    _
    在Core Foundation庫中的,這個庫提供了很多基於OBJ-c基礎類的特性。能夠在Core Foundation庫中找到描寫敘述。(NS)

    • 集合資料類型(數組,組,和其它)
    • Bundles
    • 字串String管理
    • 時間Date和Time管理
    • 未經處理資料快管理
    • 網路連接,網路流管理
    • 多線程,迴圈運算
    • 連接埠Port和socket串連
    • 網路
    • 正則匹配運算式
    • 緩衝機制
  • 8.0 保健 HealthKit.framework
    一個全新的庫,系統管理使用者和健康相關的資訊。在擴散型應用,能夠追蹤健康的裝置,和保健資訊下。使用者非常難清楚他們是怎樣做的。

    可是。這個庫使得應用梗榮的分享保健的相關資訊。資訊來源於IOS裝置,或者使用者手動錄入。使用者保健資訊儲存在安全而又集中的位置。使用者能夠在保健應用上,查看到自己的全部保健資訊。
    當你的應用支援這個庫。你就能夠訪問使用者相關的保健資訊。獲得一些使用者資訊。而且不須要追蹤保健的裝置。

    資訊的分享都是由使用者來決定的。當你的應用能夠獲得這些資料的時候,你就能夠注冊一個通知來獲得資訊變化,而且獲得資訊時間,能夠微細的調控他。

    比如。你能夠在應用中請求使用者的血壓,而且設定一個通知。關於血壓高低的警告通知。

    (HK)

  • 7.0 JaveScript JavaScriptCore.framework
    提供了基於OBJ-c封裝的很多JaveScript標準類。使用這個庫能夠測試JaveScript代碼和解析Json資料。

    (JS)

  • 3.0 手機核心服務 MobileCoreServices.framework
    定義底層的類型,適用於UTIs標準定義(UT)

  • 7.0 多點串連 MultipeerConnectivity.framework
    提供搜尋附件的裝置和直接互動那些不是通過網路連接的裝置。這個庫能夠簡單的建立多點會話。支援傳輸可靠的有序資料和即時傳輸。在這個庫下,你能夠和附近的裝置互動和無縫交換資料。
    這個庫提供介面為掃描和管理網路的服務。

    應用能夠整合 MCBrowserViewController到介面中來顯示一個列表下的裝置讓使用者選擇。

    或者,你也能夠使用MCNearbyServiceBrowser類來查看和管理裝置等。(MC)

  • 5.0 新聞 NewsstandKit.frameworkGuide
    提供一個閱讀雜誌和新聞的中心。

    公布者能夠通過這個庫建立應用開公布雜誌,新聞到Newsstand上。Newsstand支援後台下載。在你開始下載後,系統會控制下載操作和完畢後通知使用者。

    (NK)

  • 6.0 Passes PassKit.frameworkGuide
    Passbook應用提供給使用者一個能夠購買優惠劵,飛機票,其它票和商業打折卡的地方。替換以往的線下購買方式。使用者如今能夠在IOS裝置下購買他們和與曾經一樣的使用他們。這個庫提供了OBJ-c介面把items整合到你的應用裡面。你能夠使用這個應用組合網路介面和檔案格式來建立和管理你的公司Offers。
    通過你的公司的server來建立Passes。和通過使用者的裝置(via email,safairi。和應用)來交費用。這個Pass自身是個非常特殊的檔案格式。在支付前就已經加密了。這個檔案格的ID相關資訊關於關於服務以至於使用者能夠知道這些服務是做什麼。它同一時候能夠擁有一個bar代碼,或者其它資訊以至於你能夠使用他來驗證或者退貨和使用。(PK)

  • 4.0 高速預覽 QuickLook.framework
    、在應用裡,提供直接的介面預覽檔案內容。

    這個庫是為從網路下載檔案和位置源頭的工作檔案準備的。

    在獲得檔案之後,你使用庫提供的viewcontroller來直接的顯示這些檔案內容。(QL)

  • 7.0 Safari服務 SafariServices.framework
    為程式提供加入URLs到使用者的Safari的閱讀清單裡面。

    (SS)

  • 6.0 社會 Social.framework
    提供一個簡單介面來訪問使用者的社交媒體帳號。

    這個庫代替Twitter庫,和添加支援其它的社交帳號,包含facebook。新浪微博。和其它。

    應用使用這個庫來改動狀態。和帳號頭像。這個庫和Account庫一起工作,為使用者提供一個簡單的登入模式,和確定通過使用者帳號認證。

    (SL)

  • 3.0 支付 StoreKit.frameworkGuide
    支援支付內容和服務於IOS應用,如In-app Purchase。比如,你能夠使用這個特性來同意使用者在應用裡解鎖額外的內容。或者假設你是個遊戲開發人員。你能夠使用它來提供額外的遊戲關卡。

    相同的。

    這個庫管理著交易事物,通過使用者而itunes商店的帳號來處理支付請求和獲得購買內容的資訊。(SK)

  • 2.0 系統配置 SystemConfiguration.framework
    提供可達性介面。你能夠使用它來決定裝置的網路設定。

    你能夠使用這個庫來決定Wifi設定或者蜂窩網路下,能否夠訪問特定的server。(SC)

  • 8.0 網路 WebKit.framework
    ([Core Services Layer][2])
    讓應用顯示HTML內容。除了顯示HTML以外,你能夠提供主要的改動,用能夠替換文字,改動文檔內容和屬性,包含CSS。WebKit同一時候也支援在DOM層級的HTML文檔下建立和改動內容。比如你能夠使用一頁的摘要連結清單。改動他們和替換他們顯示的優先順序。在一個網路的介面內。(WK)

[IOS/翻譯]Core Services Layer

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.