我最近从带有 cocoapods 安装的基本 XCode 项目建立了一个项目,当将该项目导入 AppCode 3.1 时,我没有为通过 CocoaPods 安装的 swift 框架获得任何自动完成功能
这是我的 Podfile
# Uncomment this line to define a global platform for your project
platform :osx, '10.10'
use_frameworks!
target 'Main' do
pod "SwiftyJSON", ">= 2.1.3"
pod 'BrightFutures', '~> 1.0.0-beta.3'
end
target 'MainTests' do
end
如您所见,我定义了 2 个 pod(一个是 SwiftyJson,一个是 BrightFutures)。这两个 pod 都是作为 Swift 框架安装的(因此use_frameworks!
是为什么)。
AppCode 的所有内容似乎都已导入并正常工作(我有两个项目,一个是主项目,另一个是 Pods,与 XCode 中的完全相同),但是 AppCode 似乎没有索引任何 Pod 框架,所以我根本没有在使用这些框架时获得自动完成状态。例如,在以下代码中
import Cocoa
import BrightFutures
@NSApplicationMain
class AppDelegate: NSObject, NSApplicationDelegate {
func applicationDidFinishLaunching(aNotification: NSNotification) {
let f = future { 5 }.map{f in f + 7}
f.onSuccess{callback in println(callback)}
// Insert code here to initialize your application
}
func applicationWillTerminate(aNotification: NSNotification) {
// Insert code here to tear down your application
}
}
我对以下内容没有自动完成
import BrightFutures
(导入任何不是来自 CocoaPods 的东西都可以正常工作)let f = future { 5 }.map{f in f + 7}
自动完成此行或此行上的任何内容f.onSuccess{callback in println(callback)}
自动完成功能适用于作为函数参数的其他任何内容(即aNotification
)applicationDidFinishLaunching
AppCode 中是否有一些我缺少的设置,或者这是尚未实现的设置?在 XCode 中,自动完成功能完全正确。
编辑:我还注意到在 AppCode 中,.framework 文件是红色的(不确定这是否意味着什么?)