小编imj*_*eep的帖子

当场景视图中的新视图显示时,应用程序已冻结

在我的一个iOS App开发项目中,每当我试图在ARSCNView上推送视图时.应用程序冻结在下面是我的代码.如果您了解相同的解决方案,请建议适当的解决方案.

- >在sceneView控制器上推送视图时让应用程序冻结

 let session = ARSession()
        var sessionConfig: ARSessionConfiguration = ARWorldTrackingSessionConfiguration()
        var use3DOFTracking = false {
            didSet {
                if use3DOFTracking {
                    sessionConfig = ARSessionConfiguration()
                }
                sessionConfig.isLightEstimationEnabled = true
                session.run(sessionConfig)
            }
        }    
    }

override func viewDidLoad() {
        super.viewDidLoad()
        self.setupScene()
        setupSession()
}

override func viewWillAppear(_ animated: Bool) {
        self.tabBarController?.tabBar.isHidden = false
        session.run(sessionConfig, options: [.resetTracking, .removeExistingAnchors])
    }

override func viewDidDisappear(_ animated: Bool) {
    super.viewWillDisappear(animated)
    session.pause()
}


 func setupScene() {
        sceneView.delegate = self
        sceneView.session = session
        sceneView.antialiasingMode = .multisampling4X
        sceneView.automaticallyUpdatesLighting …
Run Code Online (Sandbox Code Playgroud)

scenekit swift arkit

10
推荐指数
1
解决办法
832
查看次数

如何找到Bridging-Header.h的路径 - Swift,Xcode

这里我附上了创建的头文件的截图

我在xcode中创建了一个新的头文件,并将其命名为(projectname)-Bridging-Header.h.但我无法找到路径并使其发挥作用.如何找到文件的路径?

在此输入图像描述

xcode objective-c ios swift bridging-header

7
推荐指数
1
解决办法
1833
查看次数

无法在路径上打开领域

我试图使用捆绑的领域文件但没有成功。我知道我的领域文件已成功复制到我的应用程序目录,但我无法读取它。

致命错误:“尝试!” 表达式意外引发错误:“无法在路径 '/Users/.../Library/Developer/CoreSimulator/Devices/.../data/Containers/Data/Application/.../Documents/default-v1.realm' 处打开领域。请使用您的应用具有读写权限的路径。”

 func fullPathToFileInAppDocumentsDir(fileName: String) -> String {

        let paths = NSSearchPathForDirectoriesInDomains(.DocumentDirectory,NSSearchPathDomainMask.UserDomainMask,true)

        let documentsDirectory = paths[0] as NSString

        let fullPathToTheFile = documentsDirectory.stringByAppendingPathComponent(fileName)

        return fullPathToTheFile
    }
Run Code Online (Sandbox Code Playgroud)

didFinishLaunchingWithOptions

  let fileInDocuments = fullPathToFileInAppDocumentsDir("default-v1.realm")

        if !NSFileManager.defaultManager().fileExistsAtPath(fileInDocuments) {

            let bundle = NSBundle.mainBundle()

            let fileInBundle = bundle.pathForResource("default-v1", ofType: "realm")

            let fileManager = NSFileManager.defaultManager()

            do {
                try fileManager.copyItemAtPath(fileInBundle!, toPath: fileInDocuments)
            } catch {  print(error)  }
        }
Run Code Online (Sandbox Code Playgroud)

并设置用于默认领域的配置:

var config = Realm.Configuration()
config.path = fileInDocuments

Realm.Configuration.defaultConfiguration = config

let realm = try! Realm(configuration: …
Run Code Online (Sandbox Code Playgroud)

realm ios swift

5
推荐指数
1
解决办法
9264
查看次数

IQkeyboardManager库中的完成按钮不可见

IQKeyboardManager在我的应用中使用了图书馆。我IQKeyboardManager通过cocoapods 安装。每个键盘上没有显示“完成”按钮。那是看不见的。

在我在AppDelegate.swift文件中设置的代码下面。

IQKeyboardManager.shared().isEnabled = true
Run Code Online (Sandbox Code Playgroud)

在此处输入图片说明

ios swift iqkeyboardmanager

5
推荐指数
1
解决办法
3586
查看次数

如何在iOS中获取设备令牌?

我正在处理推送通知.我编写了以下代码来获取设备令牌.

-(BOOL)application:(UIApplication *)application
didFinishLaunchingWithOptions:(NSDictionary *)launchOptions 
{    
        [self.window addSubview:viewController.view];
        [self.window makeKeyAndVisible];   
        NSLog(@"Registering for push notifications...");    
        [[UIApplication sharedApplication] registerForRemoteNotificationTypes:
         (UIRemoteNotificationTypeSound | UIRemoteNotificationTypeAlert)];
         return YES;
    }

-(void)application:(UIApplication *)app didRegisterForRemoteNotificationsWithDeviceToken:(NSData *)deviceToken 
    { 
        NSString *str = [NSString stringWithFormat:@"Device Token=%@",deviceToken];
        NSLog(@"This is device token%@", deviceToken);
    }

-(void)application:(UIApplication *)app didFailToRegisterForRemoteNotificationsWithError:(NSError *)err
 { 
        NSString *str = [NSString stringWithFormat: @"Error: %@", err];
        NSLog(@"Error %@",err);    
 }
Run Code Online (Sandbox Code Playgroud)

objective-c devicetoken ios swift

4
推荐指数
1
解决办法
2万
查看次数

如何检查已安装 iOS 11 的设备支持 ARKit?

我目前正在研究ARKit基于应用程序。我需要检查ARKit支持的设备。

我有两个UIViewController小号

1)ARKit视图控制器 2) 非ARKit视图控制器。

我必须根据设备支持设置一个视图控制器之一。

目前我正在检查下面的代码。但这不适用于某些不支持ARKit但具有 iOS 11 的设备。

if #available(iOS 11.0, *) {
            arProfileClosetController = THARClosetViewController(nibName: THARClosetViewController.className, bundle: nil)
        } else {
            arProfileClosetController = THNonARClosetViewController(nibName: THNonARClosetViewController.className, bundle: nil)
}
Run Code Online (Sandbox Code Playgroud)

ios swift arkit

3
推荐指数
1
解决办法
1082
查看次数

如何在SceneKit中绘制箭头?

我试图使用SCNGeometrySource,SCNGeometryElement绘制箭头.但不能像下面的图像一样绘制精确的箭头.

是否可以绘制带有头部或箭头的简单箭头线,如下图所示.

我尝试了下面的代码,但这不起作用.

let indices: [Int32] = [0, 1,1]
        let source = SCNGeometrySource(vertices: [vector1, vector2])
        let element = SCNGeometryElement(indices: indices, primitiveType: .triangles)
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

scenekit swift arkit

2
推荐指数
1
解决办法
1816
查看次数

FBSDKAppInviteDialog 不起作用

我正在实施应用程序以邀请朋友

但它给了我以下错误

在此处输入图片说明

objective-c ios fbsdksharekit

0
推荐指数
1
解决办法
1781
查看次数