How do I configure my project for Cocoa Pods correctly?

前端 未结 2 1712
有刺的猬
有刺的猬 2020-12-24 03:37

In some of my past projects, Cocoa Pods wasn\'t configured correctly and it would lead to undesirable things such as needing duplicate Cocoa Pod projects in the Project Navi

相关标签:
2条回答
  • 2020-12-24 04:09

    The best way to use Cocoa Pods is to follow the official example's lead.

    This consists of several steps.

    Setting up Cocoa Pods for the first time

    1. Install Cocoa Pods on your computer

    Begin with the Getting Started Guide to install Cocoa Pods on your computer.

    2. Create a Podfile

    Do not create the Podfile in Xcode, since it should not be part of your project!

    Create the file in your favorite text editor, and save it at the same level as your .xcodeproj file.

    An example of a Podfile's contents are:

    pod 'CupertinoYankee', '~> 1.0'
    

    3. Run pod install

    Navigate to your Podfile's directory in terminal and run pod install.

    4. Open the generated workspace

    Once you run pod install, you will see a message such as:

    [!] From now on use MyProject.xcworkspace.

    Close the Xcode project, and open up the generated .xcworkspace file.

    Understanding the Changes

    It is always useful to know what changes were made to your project in case things go wrong.

    1. Directory structure

    You should have started with a structure such as:

    enter image description here

    ... then manually added a Podfile:

    enter image description here

    After running pod install, your directory structure now looks like this:

    enter image description here

    Notice how the only new objects are:

    • MyProject.xcworkspace
    • Podfile.lock
    • Pods

    2. Project Navigator

    In Xcode, you started with this:

    enter image description here

    ... and ended with this in the new workspace:

    enter image description here

    For reference, here is an expanded look at the new directory structure:

    enter image description here

    Obviously, the Pods project was added to the Project Navigator, but there are a few other key things to notice:

    Notice how Podfile is located at the root of the MyProject folder in Finder, but is inside of the Pods project in Xcode's project navigator.

    Likewise, notice how Pods.xcconfig is located inside the Pods folder in Finder, but is inside of the MyProject in Xcode's project navigator.

    3. Configurations

    These are the same screenshots as before:

    In Xcode, you started with this:

    enter image description here

    ... and ended with this in the new workspace:

    enter image description here

    Notice how under Configurations, the "MyProject" target now has Pods specified.

    This is important because otherwise PODS_ROOT will not be set up properly (among other things), and when you build, you will get errors.

    4. PODS_ROOT added

    Your target's Build Settings went from this: (Note: this is scrolled all the way down)

    enter image description here

    ... to this:

    enter image description here

    Notice how PODS_ROOT was added as a User-Defined setting.

    Note: this part of the configuration sometimes gets bugged out when reinstalling Pods, so you may need to close and open the Xcode project to fix it.

    5. Other changes

    You can see a complete list of the changes here.


    0 讨论(0)
  • 2020-12-24 04:14

    In my case: On my project SwiftLint was added on Build Phasees -> SwiftLint as below image My root Folder structure was Volume/Project Files/iOS Project Files/Office Projects/project-name. As you can see there were space on my Directory structure , SwiftLint executed on build phase create problem for those space and show a no directory found error. After changing the high level directory by renaming like the below image solved my problem

    0 讨论(0)
提交回复
热议问题