亚洲欧洲国产欧美一区精品,激情五月亚洲色五月,最新精品国偷自产在线婷婷,欧美婷婷丁香五月天社区

      考試首頁(yè) | 考試用書 | 培訓(xùn)課程 | 模擬考場(chǎng) | 考試論壇  
        當(dāng)前位置:Linux認(rèn)證 > 綜合輔導(dǎo) > 文章內(nèi)容
        

      Linux教程:運(yùn)行在Linux平臺(tái)的開源Swift

      來(lái)源:swiftcafe.io [ 2016年2月25日 ] 【

      使用 Swift 包管理

      同樣,開源的 Swift 也提供了包管理平臺(tái),相信今后無(wú)論你使用 Swift 開發(fā)一款 iOS APP, 甚至是一個(gè) Linux 服務(wù)端程序,你都能夠很快的在包管理平臺(tái)上找到快速解決問(wèn)題的第三方庫(kù)。

      下面我們就來(lái)看看如何使用 Swift 的包管理系統(tǒng)。Swift 開源社區(qū)在 Github 上提供了一個(gè)例子說(shuō)明了這個(gè)問(wèn)題,首先我們?cè)?Ubuntu 上面安裝 git 命令工具:

      sudo apt-get --assume-yes install git

      安裝成功后,將 Swift 包管理的示例從 Github 上面復(fù)制出來(lái):

      git clone https://github.com/apple/example-package-dealer.git
      

      復(fù)制成功后,我們用 ls 命令看到這個(gè)包里面有 4 個(gè)文件:

      CONTRIBUTING.md  
      Package.swift  
      README.md  
      main.swift
      

      其中 main.swift 是程序的代碼文件,而 Package.swift 就是包管理文件,我們來(lái)看一下 Package.swift 的內(nèi)容:

      import PackageDescription
      
      let package = Package(
          name: "Dealer",
          dependencies: [
              .Package(url: "https://github.com/apple/example-package-deckofplayingcards.git", majorVersion: 1),
          ]
      )
      

      這里面定義了我們這個(gè)包的名稱: name: "Dealer" , 然后還定義了它的依賴關(guān)系, 它依賴于另外一個(gè)代碼庫(kù):

      https://github.com/apple/example-package-deckofplayingcards.git
      

      通過(guò) Package.swift 的定義, swift build 命令就可以根據(jù)相應(yīng)的依賴關(guān)系,自動(dòng)為我們的項(xiàng)目抓取那些需要的第三方庫(kù)。

      我們現(xiàn)在可以運(yùn)行 build 命令:

      swift build
      

      可以看到, swift build 正在替我們把各種項(xiàng)目的依賴關(guān)系處理了一遍:

      Cloning Packages/example-package-deckofplayingcards
      Cloning Packages/example-package-fisheryates
      Cloning Packages/example-package-playingcard
      Compiling Swift Module 'FisherYates' (1 sources)
      Linking Library:  .build/debug/FisherYates.a
      Compiling Swift Module 'PlayingCard' (3 sources)
      Linking Library:  .build/debug/PlayingCard.a
      Compiling Swift Module 'DeckOfPlayingCards' (1 sources)
      Linking Library:  .build/debug/DeckOfPlayingCards.a
      Compiling Swift Module 'Dealer' (1 sources)
      Linking Executable:  .build/debug/Dealer
      

      從輸出可以看到,我們復(fù)制出來(lái)的這個(gè)項(xiàng)目的依賴項(xiàng)目,又依賴了其他的項(xiàng)目,形成了一個(gè)依賴鏈條。

      當(dāng) swift build 命令運(yùn)行完成自后,我們會(huì)發(fā)現(xiàn)項(xiàng)目的根目錄中多了一個(gè) Packages 目錄,這個(gè)目錄里面存放了我們抓取下來(lái)的依賴項(xiàng)目:

      + Packages 
      |	example-package-deckofplayingcards-1.0.2
      |	example-package-fisheryates-1.0.2
      |	example-package-playingcard-1.0.1
      

      這個(gè)就是 Swift 包管理系統(tǒng)的基本概念了。

      首頁(yè) 1 2 3 尾頁(yè)
      將考試網(wǎng)添加到收藏夾 | 每次上網(wǎng)自動(dòng)訪問(wèn)考試網(wǎng) | 復(fù)制本頁(yè)地址,傳給QQ/MSN上的好友 | 申請(qǐng)鏈接 | 意見留言 TOP
      關(guān)于本站  網(wǎng)站聲明  廣告服務(wù)  聯(lián)系方式  站內(nèi)導(dǎo)航  考試論壇
      Copyright © 2007-2013 中華考試網(wǎng)(Examw.com) All Rights Reserved