标签: xcode9-beta

转换的SCN文件(来自DAE文件)不会显示在sceneView中

DAE这里下载了一个Collada文件,我最近打开Xcode beta并将其转换为SCN文件.

我使用此方法加载场景对象(其中modelName= model,fileExtension= scn):

private func loadModel() {
    guard let virtualObjectScene = SCNScene(named: "\(modelName).\(fileExtension)", inDirectory: "art.scnassets/\(modelName)") else {
        return
    }           
    let wrapperNode = SCNNode()

    for child in virtualObjectScene.rootNode.childNodes {
        wrapperNode.addChildNode(child)
    }      
    self.addChildNode(wrapperNode)
}
Run Code Online (Sandbox Code Playgroud)

但是,没有任何显示!当我加载dae文件时(通过改变fileExtension= dae),恐龙只显示出来,但恐龙闪烁的确非常奇怪.

我不明白为什么这不是因为如果苹果公司已经从提供的转换工作dae,以scnXcode我觉得这应该是很容易使用生成的scn文件.

任何帮助,将不胜感激!

Dinosaur.swift

class Dinosaur: VirtualObject {

    override init() {
        super.init(modelName: "model", fileExtension: "scn", title: "Dinosaur") …
Run Code Online (Sandbox Code Playgroud)

augmented-reality scenekit ios11 xcode9-beta arkit

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

无需使用 cocoapods 或其他外部 API 即可读取条形码图像

我正在尝试使用新的 Apple Vision API 从图像中检测条形码并返回其详细信息。我已成功检测到二维码并使用CIDetector. 但是我不能为一维条形码做这项工作。这是一个示例结果:

import UIKit
import Vision

class BarcodeDetector {

    func recognizeBarcode(for source: UIImage,
                            complete: @escaping (UIImage) -> Void) {
        var resultImage = source
        let detectBarcodeRequest = VNDetectBarcodesRequest { (request, error) in
            if error == nil {
                if let results = request.results as? [VNBarcodeObservation] {
                    print("Number of Barcodes found: \(results.count)")
                    if results.count == 0 { print("\r") }

                    var barcodeBoundingRects = [CGRect]()
                    for barcode in results {
                        barcodeBoundingRects.append(barcode.boundingBox)
                        let barcodeType = String(barcode.symbology.rawValue)?.replacingOccurrences(of: "VNBarcodeSymbology", with: "")
                        print("-Barcode …
Run Code Online (Sandbox Code Playgroud)

swift swift4 ios11 xcode9-beta apple-vision

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

无法在iOS 11中设置备用应用程序图标

我无法将应用程序的图标更改为iOS 11中的备用图标(Xcode 9,beta 3).

但是,它在iOS 10.3中运行良好(使用以下代码):

    if #available(iOS 10.3, *) {
        guard let iconName = MySingletonClass.sharedInstance.iconName() else { return }
        delay(0.01) {
            UIApplication.shared.setAlternateIconName(iconName, completionHandler: { (error) in
                if let error = error {
                    print(error.localizedDescription)
                } else {
                    print("Success!")
                }
            })
        }
    } else {
        // Fallback on earlier versions
    }
Run Code Online (Sandbox Code Playgroud)

我的plist设置如下:

在此输入图像描述

我发现它很奇怪,因为我在iOS 11中使用了其他使用备用应用程序图标的应用程序.在iOS 11中是否存在已知错误?

注意:如果您想知道我为什么要使用延迟,请参阅此帖子

xcode ios swift xcode9-beta

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

无法将'SCNMatrix4'类型的值转换为预期的参数类型'matrix_float4x4'(又名'simd_float4x4')

当我尝试设置虚拟对象的simdPosition时,我在使用iOS 11 ARKit(Scenekit - Xcode 9 beta)时出现此错误.我需要知道是否可以在swift 中将SCNMatrix4转换为matrix_float4x4.如果是这样,如何转换它.

scenekit swift ios11 xcode9-beta arkit

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

Xcode 9 beta新版本系统因"无法构建节点"错误而失败

似乎Xcode 9 beta不喜欢.xib文件的文件名中的"~ipad".选择新的构建系统时(对于项目,即使用旧构建系统成功编译),它会出错:

无法构建节点:'/ Users/dev/Library /Developer/Xcode/DelivedData/proj-aiatvieseyfwjkfqncikqcohpdsn/Build/Products /Debug-iphoneos/proj.app/Controller~ipad.nib'(节点由多个命令生成;例如'adf8a93da84709e14beaf35ec6d6d21c02c34dc4669b6bd1e18a027ff75b53b5:CompileXIB /Users/dev/git/proj/Resources/Controllers/Controller.xib' 和 'adf8a93da84709e14beaf35ec6d6d21c02c34dc4669b6bd1e18a027ff75b53b5:CompileXIB /Users/dev/git/proj/Resources/Controllers/Controller~ipad.xib')

我应该重命名还是有另一种解决方案?

xcode ios xcode9-beta

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

CoreNFC调试无法正常工作

如何在xcode-9上以编程方式工作CoreNFC

func readerSession(_ session: NFCNDEFReaderSession, didInvalidateWithError error: Error) {
    //What I need to do here
}

func readerSession(_ session: NFCNDEFReaderSession, didDetectNDEFs messages: [NFCNDEFMessage]) {
    //What I need to do here
}

override func viewDidLoad() {
    super.viewDidLoad()

    let sessionReader = NFCNDEFReaderSession.init(delegate: self, queue: nil, invalidateAfterFirstRead: true)
    let nfcSession = NFCReaderSession.self

    let nfcTag = NFCTagCommandConfiguration.init()
    let tagType = NFCTagType(rawValue: 0)

    sessionReader.begin()

}
Run Code Online (Sandbox Code Playgroud)

我想知道读取一些NFC标签需要做些什么.

ios ios11 xcode9-beta

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

Xcode 9 Beta - 无法添加新的Playground页面

在Xcode 9 Beta中,我创建了一个新的Playground (File - > New - > Playground).现在,当我添加一个新的Playground页面(文件 - >新建 - >游乐场页面)时,它不会被添加/显示.这是一个错误吗?

xcode swift-playground xcode9-beta xcode9

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

iOS 11 Beta中的scopeButtons忽略了UISearchController.hidesNavigationBarDuringPresentation

在我们的项目中,我们指定

hidesNavigationBarDuringPresentation = false
Run Code Online (Sandbox Code Playgroud)

在某人UIViewController的身上UISearchController。searchController具有一系列范围标题。到目前为止,它在iOS 10上都可以正常运行,但是在iOS 11 beta中,似乎hidesNavigationBarDuringPresentation的错误设置被忽略,使显示混乱。为确保不是我项目中的其他因素,我创建了一个仅有一个项目的准系统测试项目UITableViewController,并UISearchController使用另一个simple 进行了初始化UITableViewController。以下代码位于viewDidLoad()主视图控制器上的方法中:

    self.title = "Search Bar Scope Test"
    let searchViewController = SearchViewController(style: .plain)
    searchController = UISearchController(searchResultsController: searchViewController)
    searchController!.searchBar.sizeToFit()
    tableView.tableHeaderView = searchController!.searchBar
    searchController?.hidesNavigationBarDuringPresentation = false

    searchController?.searchBar.scopeButtonTitles = ["scope 1", "scope 2", "scope 3", "scope 4", "scope 5"]
Run Code Online (Sandbox Code Playgroud)

当最后一行分配scopeButtonTitles不存在时,导航栏不会隐藏,搜索栏仍保持其原始位置。但是,在存在该行的情况下,iPhone和iPad上的都NavigationBar变为隐藏状态,searchBar加号和范围按钮在纵向模式下都向上移动,而在横向模式下保持不变(即使范围按钮很多并且不能一起使用)线)。

有人遇到过吗?这是iOS 11中的错误或预期行为(虽然不是我们的预期行为),并且有任何解决方法吗?

谢谢!

ios ios11 xcode9-beta xcode9beta6

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

有什么方法可以获取Xcode的iOS 11开发者磁盘映像吗?

目前,我正在使用安装了Xcode 8的macOS Sierra。我刚刚将设备更新为iOS 11,这是我的主要开发设备。由于Xcode 8没有iOS 11开发磁盘映像,因此无法构建正在使用的应用程序。有什么方法可以获取图像(无需安装Xcode 9),或者我必须回到iOS 10才能构建设备?

macos xcode ios11 xcode9-beta

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

Swift 4 - Xcode 9 beta 4 - NSKernAttributeName vs NSAttributedStringKey

iOS部署目标:iOS 9.3,基础SDK:最新iOS(iOS 11.0),Xcode 9 Beta 4,Swift 4

以下代码在Swift 3,Xcode 8中构建和运行:

    let kern = (CTRunGetAttributes(run) as? [String : Any])?
[NSKernAttributeName] as? CGFloat ?? 0
Run Code Online (Sandbox Code Playgroud)

但是,Swift 4迁移器将其转换为:

    let kern = (CTRunGetAttributes(run) as? [String : Any])?
[NSAttributedStringKey.kern] as? CGFloat ?? 0
Run Code Online (Sandbox Code Playgroud)

Xcode 9现在抱怨:

Cannot subscript a value of type '[String : Any]' with an index of type 'NSAttributedStringKey'
Run Code Online (Sandbox Code Playgroud)

根据检查员的说法,' NSAttributedStringKey'仅适用于iOS 11.(请记住,我的目标是iOS 9).

如果我将' NSAttributedStringKey.kern' 替换为' NSKernAttributeName',则错误仍然存​​在.

按住命令' NSKernAttributeName'告诉我它的可用性是iOS 6.但是,检查员还声称它的类型是' NSAttributedStringKey',这仅在iOS 11中可用.我不知道这是否仅仅是API演示的假象,或者是一种东西,或者我缺少的东西.

问题:如何使用NSKernAttributeName(或其现代化版本)向后兼容iOS 9和Swift 4?

感谢您的任何帮助.

xcode ios swift4 xcode9-beta

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