iOS 版本更新摘要(一)iOS 7.0

来源:http://www.cnblogs.com/akforsure/archive/2016/06/21/5603813.html
-Advertisement-
Play Games

從這一篇開始,我會把iOS 7.0 到最新版本的更新摘要都整理出來,時間跨度可能會很久。這是每一個 iOS SDK(Release Version)發佈時,同步發佈的 “What's New in iOS x.x” 的摘要(說摘要可能更好一點,畢竟我有許多不熟悉的模塊,說翻譯要被打腫臉的。。。)。 ...


 

  從這一篇開始,我會把iOS 7.0 到最新版本的更新摘要都整理出來,時間跨度可能會很久。這是每一個 iOS SDK(Release Version)發佈時,同步發佈的 “What's New in iOS x.x” 的摘要(說摘要可能更好一點,畢竟我有許多不熟悉的模塊,說翻譯要被打腫臉的。。。)。

  做這件事有幾個原因:

  1、讓自己更加明確 iOS 每個版本的改動。這樣的話,我就有很多東西要去學習、完善與修複了;

  2、提升用戶體驗。因為 iOS 8 一定會比 iOS 7 更好用。如果我的 target 是 iOS 7.0 的話,那我也要做 iOS 8 特有的適配,這讓用戶覺得 app 細節到位,UI/UE設計與時俱進;

  3、讓比我懶的人可以快速瞭解更新內容。

 

  下麵是我閱讀的摘要,推薦配合官網原文查看。如果發現我曲解的地方,請留言回覆,萬分感謝。

iOS7.0 更新摘要 (What's New in iOS 7.0)

官網原文:https://developer.apple.com/library/ios/releasenotes/General/WhatsNewIniOS/Articles/iOS7.html#//apple_ref/doc/uid/TP40013162-SW1

一、UI改變

重做UI

    iOS7最直觀的改動是UI。從這個版本開始,UI進入扁平化設計,放棄了擬物化的交互界面。扁平化有諸多優點,最直接的就是簡單粗暴,層層深入直達目的。符合信息時代,高效的數據挖掘思路。


頁面(views)支持動態特性 UIDynamic

    只要遵守UIDynamicItem 的 protocol 就可以現實view的動態效果。UIKit支持下麵這幾種行為:
    1、 UIAttachmentBehavior     聯動效果,兩個items的依附
    2、 UICollisionBehavior      碰撞效果,對象具有實際體積就可以
    3、 UIGravityBehavior        重力效果,字面意思,不過可以設置方向
    4、 UIPushBehavior           推動效果,可以是一次性動力,也可以是持續的動力
    5、 UISnapBehavior           快速動作,給出一個坐標後,快速響應到那裡

    UIDynamicAnimator,這是一個動力對象的處理者,它提供處理所需的context。
    ps:UIDynamic + CA 各種炫酷效果就出來了。。。


Text Kit 

    這是CoreText的簡化版,圖文混排從此不再複雜。要玩轉它,你要瞭解這幾個類:
    1、 NSAttributedString   這是必須要會的,支持各種新增特性。從此文本框可以炫起來。
    4、 NSTextStorage        為啥要寫成423呢?因為按照層級,NSTextStorage(NSAttributedString的子類),存放文本,可以對文本進行各類操作
    2、 NSLayoutManager      這個Manager用來管理文字內容的排版
    3、 NSTextContainer      這是整個放置排版好的文本的容器   


二、支持64位

    從這個版本開始,iOS SDK內的framework和libraries都相容了32位和64位。配合上重新編譯後的64位runtime,app可以更快,64位的處理器自然會給出更多的資源。iOS會運行在LP64模式下,代碼移植出錯的幾率將會降低。(OS X 和其他的 UNIX 都是運行在LP64下的。在 LP64 模型中,long 和 pointer 類型都以64位為單位進行對齊。)


三、多任務加強

    新增兩種後臺運行(UIBackgroundModes)的任務類型:
    1、fetch                 這是用來在後臺定期獲取數據的。
        在info.plist 裡面勾選它就會生效
        setMinimumBackgroundFetchInterval: 這個方法可以設置獲取的頻率
        application:performFetchWithCompletionHandler:  這個方法用來獲取並處理數據。

    2、remote-notification   遠程喚醒推送。因為可以喚醒app,所以頻率有限制。
        在info.plist裡面勾選它並且在aps的payload裡面加上這個欄位content-available就好了。
        application:didReceiveRemoteNotification:fetchCompletionHandler: 這個方法用來處理推送信息

*** 除此以外的幾種分別為:
    1、audio                 播放音樂                    iOS 4.0+
    2、location              後臺定位                    iOS 4.0+
    3、voip                  VoIP:ip語音服務             iOS 4.0+
    4、newsstand-content     蘋果自己的NewsStand服務      iOS 5.0+ 
    5、external-accessory    定期向'設備'傳輸data         iOS 5.0+
    6、bluetooth-central     (CoreBluetooth)藍牙交互     iOS 5.0+
    7、bluetooth-peripheral  藍牙交互:外設模式交互         iOS 6.0+
*** 共7種


四、游戲

    iOS7 加強了對游戲的支持


Sprite Kit Framework
    
    為 2D 和 2.5D 提供了一個圖形硬體加速動畫系統。並且提供了大多數游戲所需的基礎支持:圖像渲染、後臺音頻播放、還有一個模擬物理引擎。更多的介紹可以去看 SpriteKit Programming Guide


Game Controller Framework

    這個Framework 可以用來連接為iOS設備製作的MFi設備,比如游戲手柄。
    

Game Center Improvements

    游戲中心的提升。
    1、新增Exchanges               游戲玩家間的社交功能
    2、優化per-app leaderboards    排行榜由25人,加到100人。如果用了 GKLeaderboardSet 設置的話,上限500
    3、優化Challenges              增加了設置挑戰約束的功能,如可以限制使用同一個道具完成任務
    4、加強prevent cheating        加強了游戲認證以及防作弊的措施
    
    
五、地圖

    MapKit.framework 的改動,包括了許多的提升與新特性的加入。旨在讓app能夠獲取更多地圖相關的基本信息。當然3D也開始支持了,並且可以控制視角。Maps Kit還有以下的加強:
    1、覆蓋物可以放置在不同的層,也就是你可以自由切換顯示的東西了。
    2、可以放一個 MKMapCamera 的實例在地圖裡面。它可以設置很多參數:位置,傾斜度,標題信息,來提供一個3D的視角。
    3、這個類 MKDirections 可以讓你從 Apple 獲得方向性的信息。你可以依據這些信息設置覆蓋物。  
    4、這個類 MKGeodesicPolyline 可以讓你依據地表弧度創建一個線性的覆蓋物。
    5、這個類 MKMapSnapshotter 可以讓你在地圖上截圖。
    6、這個類 MKOverlayRenderer 提供了更好,更便捷的渲染方式用呈現可視化的覆蓋物。
    7、這兩個類 MKTileOverlay MKTileOverlayRenderer 可以改地圖的網格切片。
    

六、AirDrop

    OS X 10.7(Lion)開始支持 AirDrop,而iOS到iOS7才可以使用。(ps: AirDrop 是通過無線進行文件傳輸的,不過需要開啟藍牙用於發現設備。)
    AirDrop 在iOS7上僅在這個類 UIActivityViewController 裡面可以配置。這個類展示了各種分享app內容的方案。如果你還沒使用過這個類,你可以考慮在你的app裡面試一下。實現以下兩步你就可以接受 AirDrop 傳輸的文件了:
    1、在 Info.plist 裡面配置這個請求;
    2、在app 的delegate中 實現這個 application:openURL:sourceApplication:annotation: 方法,當你接受到文件時,這個方法會被調用。

    你接受到的文件會被放在 home 目錄下的 Documents/Inbox 裡面。不過如果你想改動這些文件的話,你要先移動出來再改動。(The system allows your app to read and delete files in this directory only. 也就是說這個目錄只能讀和刪。)這個目錄下的文件是有加密保護的,所以你要讓你的文件在設備鎖定時無法被訪問。


七、APP間的音頻 

    Inter-App Audio:這個功能依賴於 AudioUnit.framework 新增的特性,它使得同一臺設備上的APPs相互發送 MIDI 命令和音頻流。使用這個特性,你可以在當前 app 錄製音頻,然後發送給別的 app 去處理。

    想要傳輸數據給別人處理的話,你要發佈一個 別的app可以發現的 音頻I/O單元(AURemoteIO)。
    想要發現別人分享出來的數據的話,你可以使用 Audio 組件下的發現功能介面。

    
八、端對端通訊

    Peer-to-Peer Connectivity:端對端通訊的 MultipeerConnectivity.framework 支持發現附近的設備,和直接發起通訊(可以不需要聯網)。這個 framework 讓我們可以輕易建立多點會話,並且可以可靠的按序傳輸數據以及實時傳輸數據。依靠它,我們可以和附近的設備進行無縫的數據傳輸。
    這個 framework 還提供了相關的界面,讓我們發現和管理附近的設備與網路。APPs 可以通過集成這個類 MCBrowserViewController 來展示附近的設備,並且進行選擇。當然,你也可以用這個類 MCNearbyServiceBrowser 通過編程來查找和管理端設備。


下麵是這裡更新的梳理:(帶 * 的建議關註一下)

一、新增的Frameworks

    1、GameController.framework,主要是給了游戲外設的支持
    2、SpriteKit.framework,提供了基於精靈(sprite)的動畫和圖像渲染的API
    3、MultipeerConnectivity.framework,提供了端對端設備交互的API
*   4、JavaScriptCore.framework,這個就厲害了,可以直接抓取 webview 運行時的 JS。也就是可以用 js “直接”調用 native 了
    5、MediaAccessibility.framework,提供了展示 app 內媒體文件的隱藏信息API
    6、SafariServices.framework,可以用它把 URL 加入到系統 Safari 的閱讀列表中去


二、現有Frameworks的增強


UIKit Framework

    1、所有的UI都改成了iOS7風格。
    2、UIKit Dynamics 可以 mimic(模擬)現實世界的動力效果。
*   3、Text Kit 提供了更精細的文本編輯和展示功能。
    4、UIView 有了以下提升:
            可以使用 tintColor
            可以設置 keyframe(關鍵幀)動畫和‘出場’動畫
    5、UIViewController 有了以下提升:
            可以定義 transitions(轉場)
            可以控制 status bar(狀態欄)樣式和可見性
    6、UIMotionEffect 定義了基本的運動視覺效果(其實並不明顯)
    7、Collection views,加強了自定義layout的支持。用 Dynamics 還可以給每個 items 加動效
*   8、UIImage imageNamed: 這個方法現在支持調用 asset 裡面的資源了,也就是 @1x,@2x(以及@3x)的可以放在一起了
*   9、UIView and UIScreen 可以自己進行 snapshots,新的截圖生成方式明顯比渲染頁面進行截圖要來的快
    10、基於動力的手勢可以確保,添加一個新的時,舊的已經失效
    11、UIKeyCommand 可以響應硬體鍵盤的 evens,這些 events 可以傳給 app 處理
    12、UIFontDescriptor 這個實例可以保存字體 attributes 的信息。這個 UIFontDescriptor 可以與其它平臺交互(互通)
    13、UIFont and UIFontDescriptor 提供了文本大小的動態支持,這讓 app 的可讀性更好。因為這可以更好的控制字體,所以每個 app 都應該使用
    14、UIActivity 支持了許多新特性:使用 Air Drop 傳輸文件,向 Safari 的閱讀列表加 URLs,向 Flickr, Tencent Weibo, and Vimeo 發送內容
*   15、UIApplicationDelegate 添加了後臺獲取數據(fetch )的 API
    16、UIKit支持了 guided-access 模式下的運行,這個模式可以保護 app 的內容不被修改。就是可以限制他人的使用
    17、狀態存貯,現在支持 any object 了。只要你的 object 實現 UIStateRestoring 的協議,你的 object 的狀態就可以在 app 進入後臺時寫入,在下次返回前臺時保持住狀態
    18、Table view 現在支持了 cell 高度和別的參數的預估計,這讓滾動的體驗更好了
    19、你現在可以更容易的將 UISearchDisplayController 和 UINavigationBar 協同工作
    

Store Kit Framework

    SK框架 遷入到了一個新的回執系統,也就是你可以自己通過設備或者伺服器查看 iap 的訂單回執。


Pass Kit Framework

    PassKit.framework 新增了許多 APIs,包括一次添加多個通行證。新增的特性如下:
    1、列舉通行證(pass)的過期時間的新鍵值
    2、你可以根據附近特殊的 iBeacons,列舉對應的 pass
    3、新的特性可以控制每個 pass 的展示。可以配置文本,時間樣式等等
    4、你可以給每個 pass 關聯一些額外的信息。這些信息可以與你 app 相關,但是用戶不可見
    5、你可以自定義 pass 的展示區域內,展示的載體


OpenGL ES

    iOS7 新增了對 OpenGL ES 3.0 的支持,並且給 OpenGL ES 2.0 添加的很多新特性。

    OpenGL ES 3.0 (被加入)
    在 iOS 中3.0被作為2.0 帶有許多新特性的核心功能的擴展。但是 3.0 新增了紋理特性相關的API和一個從來沒有在手機上能被使用的核心功能:包括多重渲染目標(MRT)技術與變換反饋技術。
    在設備上創建一個 3.0 的上下文,傳遞這個常量 kEAGLRenderingAPIOpenGLES3 到 initWithAPI: 方法。

    OpenGL ES 2.0 (新增特性)
    1、EXT_sRGB 的擴展,增加了對幀緩衝器(frame buffer)的 sRGB 的支持
    2、GL_EXT_pvrtc_sRGB 的擴展,增加了對存放在 PVRTC 中的壓縮格式的紋理的sRGB支持(同樣手用與3.03、GL_EXT_draw_instanced 和 GL_EXT_instanced_arrays 的擴展,提升了多個相同 objects 的渲染操作。你可以用單個調用來 draw 出相同的 objects

    Textures
    2.03.0都支持了紋理的頂點作色。查詢這個特性 MAX_VERTEX_TEXTURE_IMAGE_UNITS 你可以瞭解到你需要的紋理的參數(數值類型)。老的版本裡面這個參數一直是 0
    

Message UI Framework

    這個類:MFMessageComposeViewController 新增了簡訊附件的支持。


Media Player Framework

    這個類:MPVolumeView 提供了用來獲取到用戶選擇了的,無線設備的 route 信息(AirPlay 和 藍牙)的功能。而且你還能知道這裡的 route 現在是不是活躍的。
    
*** 相關變數如下:
    有沒有可用的AirPlay以及是否被選中:
        areWirelessRoutesAvailable 
        isWirelessRouteActive
    這兩個是變更時的通知:
        MPVolumeViewWirelessRoutesAvailableDidChangeNotification
        MPVolumeViewWirelessRouteActiveDidChangeNotification
*** 、


Map Kit Framework
    
    這個的變化,在第五點地圖裡面說了。


Image I/O Framework

    現在提供了 UI 界面,用來獲取和設置圖片的元數據(metadata)。


iAd Framework

    iAd.framework 為別的 frameworks 新增了兩個擴展,使他們更容易植入廣告。
    1、給這個類 MPMoviePlayerController 加了兩個方法,讓你可以在播放視頻前放一段廣告(用播放器的,可以嗶汪冷靜一下,23333332、給我們的 UIViewController 擴展了一下,讓你可以在顯示真實頁面前放一段廣告
    

Game Kit Framework
    
    這個有很大的變化,見第四點-游戲中的 - Game Center Improvements。


Foundation Framework

    Foundation.framework 有以下的增強:
    1、NSData 支持了 Base64 encoding
    2、NSURLSession 被推出用來替代 NSURLConnection 和 NSURLDownload 以及上述兩個的代理
    3、NSURLComponents 這個類 可以用來解析 URL 裡面的相關內容。解析支持的協議標準為  (rfc3986/STD66)
    4、NSNetService 和 NSNetServiceBrowser 支持的端對端基於 Wi-Fi 和 Blueteeth 的數據傳輸
    5、NSURLCredential 和 NSURLCredentialStorage 提供了讓你創建一個同步協議的證書的API,並且也給出了從 iCloud 中使用同步協議移除這個證書的API
    6、NSURLCache, NSURLCredentialStorage 和 NSHTTPCookieStorage 現在支持非同步處理請求的存儲
    7、NSCalendar 支持新的日曆樣式
    8、NSProgress 給出了通用的API,來監視進度和提供進度數據給 app 中需要的地方
    

Core Telephony Framework

    CoreTelephony.framework 讓你獲得設備上語音通話相關的信息。app 開發時結合了載體的話,就可以依據載體驗證是不是一個特定用戶。


Core Motion Framework

    CoreMotion.framework 新增了計步和運動跟蹤功能。使用計步功能,這個 framework 可以依據用戶的運動,發現移動信息,並記錄步數。因為是系統幫你記錄,所以你的 app 沒有運行一樣有數據。同時,這個 framework 可以區分運動的類型,包括各種運動的反饋,步行、跑步或者騎車。導航類的 app 可以使用這個特性獲得的數據,來告訴用戶方位。


Core Location Framework

    CoreLocation.framework 支持區域監控和藍牙定位。前者讓你知道你(的設備)到了一個特殊區域,後者讓你知道與附近的藍牙設備的相對位置。舉個例子:一個藝術博物館可以通過區域監控知道參觀者在哪一個畫廊,然後設置相應的 iBeacons 在附近的作品上。然後 參觀者走進站在作品前面時,作品信息就出現在他的手機上。
    
    這個 framework 還提供了設置定位間隔和定位精度的方法。


Core Foundation Framework

    CoreFoundation.framework現在允許你安排線程隊列中的流對象。


Core Bluetooth Framework

    CoreBluetooth.framework 包括以下增強:
    1、這個 framework 支持保存中央和周圍的對象的狀態,並且在 app 啟動的時候載入回來。使用這個特性,可以支持與藍牙相關設備的長期交互
    2、中央和周圍的類對象,現在統一用 NSUUID 來設置存儲唯一標識符
    3、你現在可以通過內部管理對象,同步恢復外部對象
    

AV Foundation Framework

    AVFoundation.framework 有了以下加強:
    1、AVAudioSession 支持了下麵的新特性:
        - 選擇喜好的音頻輸入,包括內置的麥克風
        - 多聲道的輸入輸出
    2、AVVideoCompositing 協議和相關類,讓你可以自定義視頻的合成排版
    3、AVSpeechSynthesizer 及其相關類,讓你可以進行語音合成
    4、攝像功能有了改動:
        - 掃描功能的格式和幀速度
        - 高速(高fps)攝像
        - 靜態拍攝的穩定性
        - video 的畫面大小
        - 實時掃描支持機器可讀數據源(二維碼的識別)
        - 自動對焦的限制
        - 攝像時平滑的自動對焦
        - 拍攝時共用app的音頻(拍攝時可以加BGM)
        - 接入時鐘
        - 調用攝像頭和麥克風需要用戶授權
        - 給出數據輸出和 AVAssetWriter 的推薦設置
    5、新的元數據 keys 支持 ISO 標準的格式,如 MPEG-4 和 3GPP。並且提升了轉換元數據對象到輸出文件時的過濾能力(使用 AVAssetExportSession)
    6、AVAssetWriter 提供了格式化輸出的配置,並且是最新的 H.264 標準
    7、AVPlayerLayer 新增了 videoRect 屬性,這個屬性可以用來獲取視頻圖片的大小和位置
    8、AVPlayerItem 有了以下改變:
        - 當 AVPlayerItem 對象在後臺就緒時,Asset裡面的屬性成員可以自動載入到裡面了
        - 當你的 app 接入 iOS 7 SDK時,許多參數都會有預設的返回值了,這和之前的 SDK 版本都不一樣。也即是 AVPlayerItem 不會 block 住你的 app 了。當你的播放對象狀態轉為 AVPlayerItemStatusReadyToPlay 時,getter 會映射到媒體資源實際的數值。如果你用了 KVO,他會收到這些屬性改變的通知的
    9、AVPlayerItemLegibleOutput 可以處理媒體文件的字幕
    10、AVAssetResourceLoaderDelegate 協議現在支持從媒體文件中載入任意段落數據
    

Accelerate Framework

    Accelerate.framework 包括以下加強:
    1、可以操縱 Core Graphics 的數據類型
    2、支持1、24 ppi 的灰度圖像
    3、為圖片間的格式轉化以及內容轉化,定義了新的規則
    4、支持雙二階濾波器(IIR數字濾波器)操作


三、Objective-C

    OC 現在支持了模塊化,這使得編譯和項目索引更快速。Xcode 5 支持所有項目的模塊化,已經存在的項目,你要去修改它的可模塊化配置,已保證它可以支持。


四、棄用的API (這裡的都比較關鍵)

    有時,Apple 會給一些 API 加上棄用的巨集,用來說明這些 API 以後將不在開發中使用了。當然,這個巨集,並不代表這些 API 會立刻失效,而是我們會有更好的選擇來替換這些 API。因為某些歷史因素和很多已經發佈的程式,這些棄用的 API 依舊是有效的。不過,新的 app 建議使用新的 API,因為新的 API 變化不大,只是修複高危 bugs 和增加安全補丁而已。棄用的 APIs,會在將來的操作系統中被徹底移出。

    作為一個開發者,儘量避免在你的 code 中使用棄用 APIs 是非常重要的。 至少,你新的 code 絕不應該用棄用的 API,已經寫好的 code 就去 update 一下。所幸,Xcode 的編譯器會在你使用到棄用 API 的地方,給你一個警告,而你可以按照這個警告的提示來更新代碼。

    這一個發佈版的棄用 APIs,包括一下幾個技術區域:
    1、Map Kit framework 中使用了 MKOverlayRenderer 類來代替原有的 MKOverlayView 和它的子類
    2、Audio Session API 中 AudioToolbox.framework 被 AVFoundation.framework 中的 AVAudioSession 類所替換
    3、Core Location framework 中的 CLRegion 類被 CLCircularRegion 替換了。但是這個類被當做抽象基類,用來支持地理信息(geo)和 信標區域(beacon region)
*   4、CBCentral 類中的 UUID 被棄用了。設備的唯一標識,可以使用設備的 identifier 屬性
    5、Game Kit framework 包含了給種各樣的描述,意在清空已有的 API,對新特性提供更好的支持 
    6、UIKit.framework 有以下動作:
        - UIViewController 的 wantsFullScreenLayout 屬性被棄用,從iOS 7 開始這個屬性預設支持
        - UIColor 對象不再像早期 iOS 版本一樣;現在不支持背景紋理了
        - 許多 NSString 類的 draw 選項都被棄用了,因為出了新的變體方法
    7、libsyscall 庫中的 gethostuuid 方法被棄用了
*   8、從iOS 7 開始,如果你嘗試獲得設備的 MAC 地址的話,會永遠返回 02:00:00:00:00:00 。如果你需要使用唯一標識符,你可以用 UIDevice 的 identifierForVendor 屬性;如果你需要做廣告的話,必須使用 ASIdentifierManager 的 advertisingIdentifier 屬性。

 


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

-Advertisement-
Play Games
更多相關文章
  • 通常情況下,只有高端用戶才會經常用到終端應用。這並不意味著命令行非常難學,有的時候命令行可以輕鬆、快速的解決問題。相信所有Mac用戶都嘗試過命令行,今天為大家帶來9個非常實用的命令行操作。一些命令行需要安裝Xcode之後才可以實用,Xcode在Mac App Store中免費供應。1.使用caffe ...
  • 1.Android控制項架構下圖是UI界面架構圖,每個Activity都有一個Window對象,通常是由PhoneWindow類來實現的。PhoneWindow將DecorView作為整個應用視窗的根View,DecorView將屏幕分成兩部分:TitleView和ContentView。Conten ...
  • 之前學習swift時的個人筆記,根據github: "the swift programming language in chinese" 學習、總結,將重要的內容提取,加以理解後整理為學習筆記,方便以後查詢用。詳細可以參考 "the swift programming language in ch ...
  • 本篇涉及例子下載:Github 本篇講android 3.0引入的屬性動畫框架,上篇寫視圖動畫View Animation時就說過ViewAnimation的缺點,那就是動畫作用的是view本身的視覺部分,view實際屬性並沒有隨著動畫的改變而變化。很多時候就需要額外去出來由於動畫引起的事件不同步, ...
  • 安卓廣播分為兩類:1.普通廣播, broadcast,廣播發出之後所有滿足條件的應用都能獲取到廣播裡面的數據,缺點是應用獲取廣播中的數據修改之後不能傳遞給其它接收廣播的應用;2.有序廣播,orderbroadcast,廣播發出之後各應用根據應用的優先順序依次接收廣播,優先順序高的應用接收廣播之後修改的數 ...
  • “階段一”是指我第一次系統地學習Android開發。這主要是對我的學習過程作個記錄。 最近學到解析JSON格式的網路數據,而作業也要求自己找一個天氣預報的API地址,然後解析其中JSON格式的數據。可能是因為找的是免費的API地址,在百度APIStore里的,它那JSON返回示例的數據,跟我獲取之後 ...
  • iOS9全新的聯繫人相關框架——Contacts Framework 一、引言 在以前iOS開發中,涉及聯繫人相關的編程,代碼都非常繁瑣,並且框架的設計也不是Objective-C風格的,這使開發者用起來非常的難受。在iOS9中,apple終於解決了這個問題,全新的Contacts Framewor ...
  • 首先需要理清楚流程: 雖然看起來有點多,但是理解起來並不複雜,跟我們平時手機上買東西是一樣的。我們客戶端需要做的就是 調起微信客戶端發起支付 顯示支付結果 集成過程 微信SDK下載 微信SDK下載 建議頭文件和示例都下載出來看看。(吐槽下,官方的示例難看死了,看的眼暈!註釋都沒幾個。。。鄙視之) 導 ...
一周排行
    -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.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...