小编smi*_*hco的帖子

CMotionManager在实例化时崩溃

我在为Core Motion实例化我的CMMotionManager对象时遇到了崩溃.这是在运行iOS 12.0.1的iPhone X上.

我可以通过单视图应用程序使用以下视图控制器可靠地重现这一点.

import UIKit
import CoreMotion

class ViewController: UIViewController {
    var motion: CMMotionManager?
    override func viewDidLoad() {
        super.viewDidLoad()

        // This causes a crash on iPhone Xs, iOS 12.0.1
        self.motion = CMMotionManager()
    }
}
Run Code Online (Sandbox Code Playgroud)

完整示例项目位于https://github.com/doctorcolinsmith/motiontestcrash/tree/master

运行上面的代码时,我在调试器中输出以下输出的线程上出现故障.

=================================================================
Main Thread Checker: UI API called on a background thread: -[UIApplication applicationState]
PID: 3634, TID: 630341, Thread name: com.apple.CoreMotion.MotionThread, Queue name: com.apple.root.default-qos.overcommit, QoS: 0
Backtrace:
4   libobjc.A.dylib                     0x000000019b0d3894 <redacted> + 56
5   CoreMotion                          0x00000001a19337a4 CoreMotion + 305060
6   CoreMotion                          0x00000001a1933cd8 …
Run Code Online (Sandbox Code Playgroud)

ios core-motion swift ios12

12
推荐指数
1
解决办法
1825
查看次数

在Swift 4中为os_log传递可变参数args

我正在尝试为Swift 4/iOS 11中的os_log编写一个方便的包装器,但是我已经遇到了传递可变参数的艰难战斗.

基本上,我想编写一个如下所示的函数.

static let logger = OSLog(subsystem: "com.example.foo", category: "foobar")
func logError(_ message: StaticString, _ args: Any...) {
    os_log(message, log: logger, type: .error, args)
}
Run Code Online (Sandbox Code Playgroud)

不幸的是,我似乎无法弄清楚传递参数的神奇语法,并且在CVarArg讨论的泥潭中有点迷失.

(...这让我想念Python的splatting语法)

variadic ios swift4

9
推荐指数
2
解决办法
1710
查看次数

如何为 RealityKit / ARView 指定双面材质?

我正在尝试在 RealityKit 中加载模型和纹理(在 ARView 实例中设置),但我似乎无法弄清楚如何指定材料应该是双面的。

我将模型加载为ModelEntity,纹理加载为TextureResource. 模型和纹理正在加载,但正在向一侧倾斜。由于模型是开放的(即背面是可见的),它的渲染方式存在差距。

到目前为止,我有,

let entity: ModelEntity = try .loadModel(named: "model.obj")

var material = SimpleMaterial()
material.baseColor = try .texture(.load(named: "texture.png"))
entity.model?.materials = [material]
Run Code Online (Sandbox Code Playgroud)

我希望找到一个属性,例如

material.twoSided = true
Run Code Online (Sandbox Code Playgroud)

但到目前为止,我还没有在 RealityKit 中找到等效的东西。

有人知道如何在 RealityKit 中设置双面材质吗?

ios swift arkit realitykit

8
推荐指数
1
解决办法
953
查看次数

关于如何编写Emacs模式的良好资源?

任何人都可以推荐一个很好的资源来开始编写Emacs模式吗?具体来说,我正在研究编写语法高亮和缩进模式所需的内容.

emacs

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

标签 统计

ios ×3

swift ×2

arkit ×1

core-motion ×1

emacs ×1

ios12 ×1

realitykit ×1

swift4 ×1

variadic ×1