<commit_before>Here is how you use Swift package manager in your XCode app projects<!--more--> 

## The workflow:  

1. Terminal: ``cd ~/dev/MyProject/`` 👈 navigate to your project  
2. Terminal: ``swift package init`` 👈 creates the initial SPM files    
3. Add the bellow to your newly created Package.swift file:   

```swift
import PackageDescription
let package = Package(
    name: "MyProject",
	dependencies: [
		.Package(url: "https://github.com/eonist/swift-utils.git", Version(0, 0, 0, prereleaseIdentifiers: ["alpha", "3"]))
    ]
)
```
4. Terminal: ``swift build`` 👈 downloads the dependencies from github and builds binaries (aka .framework)    
5. Terminal: ``swift package generate-xcodeproj`` 👈  Creates an XCode project that has .framework files  
6. XCode: Open the .xcodeproj file file -> Target -> Cocoa app  
7. XCode: Add: ``@testable import Utils`` to ``AppDelegate.swift`` and ``print(StringParser.sansSuffix("blue"))`` inside the ``applicationDidFinishLaunching`` method  
8. ``cmd + r`` will now print ``blu``  

## Why is this awesome?

1. When you develop your app. You use binaries but you have full access to third-party code. 🔑  
2. When you need to download a new version of third party libs: Terminal: ``swift package update``    
3. Supports nested frameworks 👈 "holy grail of Dependency management"   	 <commit_msg>Update 2017-02-05-Xcode-and-spm.md<commit_after>Here is how you use Swift package manager in your XCode app projects<!--more--> 

## The workflow:  

1. Terminal: ``cd ~/dev/MyProject/`` 👈 navigate to your project  
2. Terminal: ``swift package init`` 👈 creates the initial SPM files    
3. Add the bellow to your newly created Package.swift file:   
```swift
import PackageDescription
let package = Package(
    name: "MyProject",
	dependencies: [
		.Package(url: "https://github.com/eonist/swift-utils.git", Version(0, 0, 0, prereleaseIdentifiers: ["alpha", "3"]))
    ]
)
```
4. Terminal: ``swift build`` 👈 downloads the dependencies from github and builds binaries (aka .framework)    
5. Terminal: ``swift package generate-xcodeproj`` 👈  Creates an XCode project that has .framework files  
6. XCode: Open the .xcodeproj file file -> Target -> Cocoa app  
7. XCode: Add: ``@testable import Utils`` to ``AppDelegate.swift`` and ``print(StringParser.sansSuffix("blue"))`` inside the ``applicationDidFinishLaunching`` method  
8. ``cmd + r`` will now print ``blu``  

## Why is this awesome?

1. When you develop your app. You use binaries but you have full access to third-party code. 🔑  
2. When you need to download a new version of third party libs: Terminal: ``swift package update``    
3. Supports nested frameworks 👈 "holy grail of Dependency management"   	 
{'fraction_non_alphanumeric': 0.12067696835908756, 'fraction_numerical': 0.013980868285504048, 'mean_word_length': 3.9707495429616086, 'pattern_counts': {'":': 0, '<': 5, '<?xml version=': 0, '>': 9, 'https://': 2, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 4, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '4312840', 'n_tokens_mistral': 902, 'n_tokens_neox': 811, 'n_words': 343}