Skip to content

Instantly share code, notes, and snippets.

@dive
dive / SPM:Article:Swift:Build.sh
Last active February 25, 2019 12:37
SPM:Article:Swift:Build
xcrun -sdk macosx -show-sdk-path
xcrun -sdk macosx -show-sdk-platform-path
xcrun -find clang
xcrun -sdk macosx -find xctest
sandbox-exec -p '(version 1)
@dive
dive / SPM:Article:Compile:Error.swift
Last active February 25, 2019 12:27
SPM:Article:Compile:Error
Compile Swift Module 'ios_framework_package' (1 sources)
./spm-ios-example/ios-framework-package/Sources/ios-framework-package/ios_framework_package.swift:1:8:
error: no such module 'UIKit'
import UIKit
^
error: terminated(1): /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/swift-build-tool
-f./spm-ios-example/ios-framework-package/.build/debug.yaml main output: ...
@dive
dive / SPM:Article:UIViewController.swift
Created February 25, 2019 12:24
SPM:Article:UIViewController
import UIKit
import class ios_framework_package.FrameworkPackage
class ViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
self.view.backgroundColor = FrameworkPackage().randomColor()
}
@IBAction func pressed(_ button: UIButton) {
self.view.backgroundColor = FrameworkPackage().randomColor()
@dive
dive / SPM:Article:FrameworkPackage.swift
Created February 25, 2019 12:24
SPM:Article:FrameworkPackage
import UIKit
public final class FrameworkPackage {
public init () { }
public func randomColor() -> UIColor {
return UIColor.random
}
}
public extension UIColor {
public static var random: UIColor {
return UIColor(red: .random(in: 0...1), green: .random(in: 0...1), blue: .random(in: 0...1), alpha: 1)
@dive
dive / SPM:Article:Import:XCTest.swift
Created February 25, 2019 12:23
SPM:Article:Import:XCTest
import XCTest
#if !os(macOS) && !os(iOS)
public func allTests() -> [XCTestCaseEntry] {
return [
testCase(spm_tutorialTests.allTests),
]
}
#endif
@dive
dive / SPM:Article:XCTestCaseEntry.swift
Last active February 25, 2019 12:36
SPM:Article:XCTestCaseEntry
public typealias XCTestCaseEntry =
(testCaseClass: XCTestCase.Type, allTests: [(String, XCTestCaseClosure)])
@dive
dive / SPM:Article:Error.log
Last active February 25, 2019 12:36
SPM:Article:Error
spm-tutorial/Tests/spm-tutorialTests/XCTestManifests.swift:4:28: error: \
use of undeclared type 'XCTestCaseEntry'
public func allTests() -> [XCTestCaseEntry] {
^~~~~~~~~~~~~~~
@dive
dive / SPM:Article:Generate.sh
Last active March 4, 2019 15:00
SPM:Article:Generate
swift package generate-xcodeproj --xcconfig-overrides ./Sources/ios.xcconfig
@dive
dive / SPM:Article:XCConfig.xcconfig
Created February 25, 2019 12:21
SPM:Article:XCConfig
SDKROOT = iphoneos
SUPPORTED_PLATFORMS = iphonesimulator iphoneos
IPHONEOS_DEPLOYMENT_TARGET = 12.0
ARCHS = $(ARCHS_STANDARD)
VALID_ARCHS = $(ARCHS_STANDARD)
VALIDATE_PRODUCT = YES
LD_RUNPATH_SEARCH_PATHS = $(inherited) @executable_path/Frameworks
TARGETED_DEVICE_FAMILY = 1, 2
@dive
dive / SPM:Article:Swift:Package.sh
Created February 25, 2019 12:20
SPM:Article:Swift:Package
swift package init --type library