
这是我得到的错误
“架构i386的未定义符号:
“_OBJC_CLASS _ $_ SCNPhysicsWorld”,引自:
GameVIEwController.o中的__TFC3sk218GameVIEwController11vIEwDIDLoadfS0_FT_T_
ld:找不到架构i386的符号
clang:错误:链接器命令失败,退出代码为1(使用-v查看调用)
“
我认为它与链接或导入我不是的库有关,但我已经添加了我认为可以解决的所有内容(在游戏工具包的其他帖子中找到)有谁知道这可能是什么?谢谢.
解决方法 Obj-c / Swift桥有一个错误.在等待解决方案时,您可以通过为自己创建临时桥来解决此问题:
添加以下类:
PhysWorldBrIDge.h
#import <Foundation/Foundation.h>#import <SceneKit/SceneKit.h>//@interface PhysWorldBrIDge : NSObject- (voID) physicsWorldSpeed:(SCNScene *) scene withSpeed:(float) speed;- (voID) physicsGravity:(SCNScene *) scene withGravity:(SCNVector3) gravity;@end
PhysWorldBrIDge.m
#import "PhysWorldBrIDge.h"@implementation PhysWorldBrIDge- (ID) init{ if (self = [super init]) { } return self;}- (voID) physicsWorldSpeed:(SCNScene *) scene withSpeed:(float) speed{ scene.physicsWorld.speed = speed;}- (voID) physicsGravity:(SCNScene *) scene withGravity:(SCNVector3) gravity{ scene.physicsWorld.gravity = gravity;}@end 当您添加第一个objective-c文件时,Xcode应该提示您创建一个XXX-BrIDging-header.h.让它创建这个文件.
将类的导入添加到’XXX-BrIDging-header.h“:
//// Use this file to import your target's public headers that you would like to expose to Swift.//#import "PhysWorldBrIDge.h"
现在你可以使用这个(Hacky)桥来设置Swift的属性:
//scene.physicsWorld.speed = 2.0// CAN'T USE ABOVE OR @R_419_6862@ER ERRORlet brIDge = PhysWorldBrIDge();brIDge.physicsWorldSpeed(scene,withSpeed: 2.0);//This call brIDges properly//So would the gravity one:brIDge.physicsGravity(scene,withGravity: SCNVector3Make(0,-90.81,0));总结
以上是内存溢出为你收集整理的xcode – SCNPhysicsWorld错误全部内容,希望文章能够帮你解决xcode – SCNPhysicsWorld错误所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)