通过桥接 header 导入 Obj-C 个文件后出错
Errors after importing Obj-C files through bridging header
我正在尝试将 this 项目导入到我的 swift 项目中。我所做的是添加 PanoromaView.h
和 PanoromaView.m
文件,并将 #import "PanoramaView.h"
添加到我的桥接 header。我还将 OpenGLES.framework 和 GLKit.Framework 添加到我的项目中。
我现在收到错误提示
Cannot find interface declaration for 'GLKView', superclass of
'PanoramaView'
和
Unknown type name 'GLKVector3'
这是代码错误的图片:
如果有人能帮助解释这些是什么,我是如何删除它们的,那就太好了。
谢谢
编辑:
我也尝试过通过 Cocoapods 安装,但仍然出现完全相同的错误,很奇怪吗?
为了让它工作,我不得不将它添加到 PanoramaView.h
:
#import <GLKit/GLKit.h>
关于 github 代码的建议对我来说不起作用。我还必须修改 ViewController:
import UIKit
class ViewController: GLKViewController {
var panoramaView = PanoramaView()
override func loadView() {
panoramaView.setImageWithName("park_2048.jpg")
panoramaView.touchToPan = true // Use touch input to pan
panoramaView.orientToDevice = false // Use motion sensors to pan
panoramaView.pinchToZoom = true // Use pinch gesture to zoom
panoramaView.showTouches = true // Show touches
self.view = panoramaView
}
override func glkView(view: GLKView, drawInRect rect: CGRect) {
panoramaView.draw()
}
}
这是我的示例应用程序:
https://github.com/melifaro-/Swift-PanoramaSample
希望对您有所帮助。
顺便说一句,我没有使用 CocoaPods。我只使用 PanoramaView.h
和 PanoramaView.m
文件。
我正在尝试将 this 项目导入到我的 swift 项目中。我所做的是添加 PanoromaView.h
和 PanoromaView.m
文件,并将 #import "PanoramaView.h"
添加到我的桥接 header。我还将 OpenGLES.framework 和 GLKit.Framework 添加到我的项目中。
我现在收到错误提示
Cannot find interface declaration for 'GLKView', superclass of 'PanoramaView'
和
Unknown type name 'GLKVector3'
这是代码错误的图片:
如果有人能帮助解释这些是什么,我是如何删除它们的,那就太好了。
谢谢
编辑:
我也尝试过通过 Cocoapods 安装,但仍然出现完全相同的错误,很奇怪吗?
为了让它工作,我不得不将它添加到 PanoramaView.h
:
#import <GLKit/GLKit.h>
关于 github 代码的建议对我来说不起作用。我还必须修改 ViewController:
import UIKit
class ViewController: GLKViewController {
var panoramaView = PanoramaView()
override func loadView() {
panoramaView.setImageWithName("park_2048.jpg")
panoramaView.touchToPan = true // Use touch input to pan
panoramaView.orientToDevice = false // Use motion sensors to pan
panoramaView.pinchToZoom = true // Use pinch gesture to zoom
panoramaView.showTouches = true // Show touches
self.view = panoramaView
}
override func glkView(view: GLKView, drawInRect rect: CGRect) {
panoramaView.draw()
}
}
这是我的示例应用程序:
https://github.com/melifaro-/Swift-PanoramaSample
希望对您有所帮助。
顺便说一句,我没有使用 CocoaPods。我只使用 PanoramaView.h
和 PanoramaView.m
文件。