在Xcode Project中添加迦太基的最快方法

时间:2018-10-09 06:39:38

标签: ios xcode dependencies carthage

使用迦太基在Xcode项目中添加依赖项的最快方法是什么。

以后如何添加或编辑依赖项。

3 个答案:

答案 0 :(得分:3)

安装迦太基

Download Carthage

打开终端

  

终端:cd〜/ Path / To / Folder Containing Project

创建迦太基文件为:

  

终端:触摸Cartfile

从项目文件夹中打开Cartfile文件并添加所需的依赖项

示例Cartfile文件

  

github“ Alamofire / Alamofire” == 4.5

     

github“ Alamofire / AlamofireImage”

编辑Cartfile文件后,将其保存。

从终端运行以下命令

  

终端:迦太基更新-平台iOS

xCode>构建阶段

  • 左上方的加号按钮>新的运行脚本阶段
  • 运行脚本> Shell脚本窗口>添加以下内容:
  

/ usr / local / bin / carthage复制框架

  • 运行脚本>输入文件窗口>添加以下内容:
  

$(SRCROOT)/Carthage/Build/iOS/DependencyName.framework

  • 使用库链接二进制文件>加号按钮>添加其他>导航到 项目文件夹>迦太基>构建> iOS>    要添加的框架

enter image description here

完成

答案 1 :(得分:0)

  1. 安装迦太基

    //Homebrew
    brew install carthage
    
  2. 在项目(Cartfile)/工作区(.xcodeproj)目录中创建.xcworkspace文件

  3. 修改Cartfile。添加必要的依赖性 == 回购

    github "<owner>/<repo>" == <version>
    
  4. 运行carthage update。高级逻辑:

    `carthage update [dependency]` {
        - reads `Cartfile`, resolves dependency graph and generates `Cartfile.resolved` to store a list of versions that will be actually built
    
        //--no-use-binaries - this flag force a Carthage to not use a `Prebuilt framework`
        //--no-build - this flag skip a building step - `carthage build`
    
        `carthage bootstrap [dependency]` {
            - reads `Cartfile.resolved`
            `carthage checkout [dependency]` {
                `carthage fetch <path>` {
                    - fetch dependency from `Cartfile.resolved` into `~/Library/Caches/org.carthage.CarthageKit/` folder
                }
                - checkout/move a dependency from `~/Library/Caches/org.carthage.CarthageKit/` to generated `Carthage/Checkouts` folder
            }
            `carthage build [dependency]` {                
                - builds all `shared frameworks schemes` from `Carthage/Checkouts` into generated `Carthage/Build` folder
    
                //--no-skip-current - this flag also builds all `shared frameworks schemes` of a consumer workspace/project(in addition to `Carthage/Checkouts` folder)
            }
        }
    }   
    
  5. 将构建的框架拖放到General -> Frameworks and Libraries

  6. 运行下一个脚本。这一步很重要,因为迦太基构建使用fat [About]处理lipo二进制文件(arm64 ... + x86_64)。苹果拒绝使用它的应用程序。这就是为什么您应该添加此额外步骤来削减模拟器(x86_64)的体系结构的原因

    Build Phases -> + -> New Run Script phase -> 
    
        // /usr/local/bin/carthage - path to Carthage, copy-frameworks - command which sets a necessary architecture and copies framework to an application bundle
        Shell -> /usr/local/bin/carthage copy-frameworks
    
        //path to a generated Carthage/Build
        Input files -> + -> $(SRCROOT)/Carthage/Build/<platform>/<name>.framework
    

*应该从carthage文件夹调用任何Cartfile命令

[Fast Carthage build]

[Vocabulary]

[CocoaPods vs Carthage]

答案 2 :(得分:0)

  • 在您的 Mac 上安装 carthage:brew install carthage
  • 在项目根目录中创建一个Cartfile,例如vim Cartfile 并粘贴:
    github "AFNetworking/AFNetworking" ~> 4.0
    
  • 构建框架:运行 carthage update --platform iOS
    • 警告:根据您使用的库,您需要按照他们的说明来具体运行什么 carthage update 命令。您可能需要运行例如carthage update --use-xcframeworks --platform iOS --no-use-binaries 代替。查看他们的自述文件。
  • 将其添加到 Xcode: 在 finder 中,导航到 $project_dir/Carthage/Build。您会发现 FrameworkName.frameworkFrameworkName.xcframework.framework/ .xcframework 拖入您的 Xcode 项目(在项目导航器中)。