Swift 包管理器 Xcode - 无法构建 Objective-C 模块
Swift Package Manager with Xcode - Could not build Objective-C module
我有一个 swift 可执行包,它依赖于 objective-c 库包。我正在尝试使用 Xcode 进行可执行包开发,但在编辑导入 objective-c 模块的 swift 文件时出现 Could not build Objective-C module 'objcpackage'
错误。编译既可以从 Xcode 进行,也可以直接从命令行使用 swift build
进行编译,但是一旦我打开 swift 文件并导入该 objc 包,就会弹出错误。
我已经使用 SPM 生成了 xcodeproj。
清理或清理构建目录,从 xcodeproj 中删除生成的模块映射或重新启动 Xcode 没有帮助。
我创建了 Objective-C 包,其中包含以下内容:
$ swift package init --type library
它只包含一个header Sources/include/Foo.h
:
#import <Foundation/Foundation.h>
@interface Foo: NSObject
@end
和一个 .m
文件:
#import "Foo.h"
@implementation Foo
@end
Swift 包是用 $ swift package init --type executable
创建的。
Package.swift
文件如下所示:
import PackageDescription
let package = Package(
name: "swiftpackage",
dependencies: [ .Package(url: "../objcpackage", majorVersion: 1) ]
)
main.swift
仅包含:
import objcpackage
Xcode 项目是用 $ swift package generate-xcodeproj
创建的
Xcode版本:8.2.1 (8C1002)
Swift版本:3.0.2 (swiftlang-800.0.63 clang-800.0.42.1)
我怎样才能摆脱这个错误?
这听起来像是最近在包管理器中修复的错误 (https://bugs.swift.org/browse/SR-3121). Have you tried a recent snapshot from https://swift.org/download/?
我用最新版本的 Swift 3.1 测试了您描述的软件包,它工作正常。
我有一个 swift 可执行包,它依赖于 objective-c 库包。我正在尝试使用 Xcode 进行可执行包开发,但在编辑导入 objective-c 模块的 swift 文件时出现 Could not build Objective-C module 'objcpackage'
错误。编译既可以从 Xcode 进行,也可以直接从命令行使用 swift build
进行编译,但是一旦我打开 swift 文件并导入该 objc 包,就会弹出错误。
我已经使用 SPM 生成了 xcodeproj。
清理或清理构建目录,从 xcodeproj 中删除生成的模块映射或重新启动 Xcode 没有帮助。
我创建了 Objective-C 包,其中包含以下内容:
$ swift package init --type library
它只包含一个header Sources/include/Foo.h
:
#import <Foundation/Foundation.h>
@interface Foo: NSObject
@end
和一个 .m
文件:
#import "Foo.h"
@implementation Foo
@end
Swift 包是用 $ swift package init --type executable
创建的。
Package.swift
文件如下所示:
import PackageDescription
let package = Package(
name: "swiftpackage",
dependencies: [ .Package(url: "../objcpackage", majorVersion: 1) ]
)
main.swift
仅包含:
import objcpackage
Xcode 项目是用 $ swift package generate-xcodeproj
Xcode版本:8.2.1 (8C1002)
Swift版本:3.0.2 (swiftlang-800.0.63 clang-800.0.42.1)
我怎样才能摆脱这个错误?
这听起来像是最近在包管理器中修复的错误 (https://bugs.swift.org/browse/SR-3121). Have you tried a recent snapshot from https://swift.org/download/?
我用最新版本的 Swift 3.1 测试了您描述的软件包,它工作正常。