我正在尝试使用 Swift Package Manager 创建一个项目,但在尝试包含 Fabric.framework 时遇到了问题。
这是我的 Package.swift
let package = Package(
name: "TestPackage",
platforms: [
.iOS(.v10), .macOS(.v10_12)
],
products: [
// Products define the executables and libraries produced by a package, and make them visible to other packages.
.library(
name: "TestPackage",
targets: ["TestPackageSwift", "TestPackageObjC"]),
],
dependencies: [
.package(url: "https://github.com/Alamofire/Alamofire.git", from: "4.8.2"),
.package(path: "./TestPackage/Libraries/Fabric.framework"),
],
targets: [
// Targets are the basic building blocks of a package. A target can define a module or a test suite.
// Targets …Run Code Online (Sandbox Code Playgroud) 我刚刚为我的项目添加了一个全新的单元测试目标,并收到以下错误:
错误:没有这样的文件或目录 - 旧的dSYM文件不能被覆盖:old:'/ Users/myuser/Library /Developer/Xcode/DelivedData/MyProject-ajbgwuvijemxwlgvdalbjlgirypy/Build/Products/Debug-iphonesimulator/MyProject.app.dSYM/Content /资源/ DWARF/MyProject的"
有人有主意吗?
我要做的是创建一个协议扩展来从枚举中获取原始值数组.例如,说我有以下内容:
enum TestType: String, EnumIteratable {
case unitTest = "Unit Test"
case uiTest = "UI Test"
}
class EnumIterator: NSObject {
class func iterateEnum<T: Hashable>(_: T.Type) -> AnyGenerator<T> {
var i = 0
return anyGenerator {
let next = withUnsafePointer(&i) { UnsafePointer<T>($0).memory }
return next.hashValue == i++ ? next : nil
}
}
class func getValues<T: Hashable>(_: T.Type) -> [T] {
let iterator = self.iterateEnum(T)
var returnArray = [T]()
for val in iterator {
returnArray.append(val)
}
return returnArray
}
} …Run Code Online (Sandbox Code Playgroud) 所以我试图将一些Swift代码添加到在XCode 5中创建的现有项目中,每当我尝试自动生成桥接头时,我都会遇到崩溃.查看我的项目设置,我认为这是因为没有Swift编译器设置.任何人都知道将项目迁移到XCode 6设置的方法,还是我需要重新创建项目?