标签: xcode9

如何在 CoreML 中初始化 MLMultiArray

我有一个由 40 个数组组成的数组,其中包含 12 个双重特征,所以类型是 [[double]]。目前我正在将此数据发送到 Google Cloud ML API 以获得相关预测。

由于 Apple 最近推出了 CoreML 和 coremltools,我将我的模型从 keras 转换为 .mlmodel 以避免数千次 google cloud api 调用并直接在我的 iPhone 上进行推理:

coreml_model = coremltools.converters.keras.convert(new_Model, input_names=['accelerations'],
                                                    output_names=['scores'])
coreml_model.save('PredictionModel.mlmodel')
Run Code Online (Sandbox Code Playgroud)

将模型添加到我的 Xcode 项目后,它看起来像: 在此处输入图片说明

我不知道这些其他输入和输出来自哪里。要获得预测,我需要将我的 12 个双精度数组数组转换为 MLMultiArray,但我不知道如何执行此操作。有没有人遇到过类似的问题?这是我目前未完成的方法:

_predictionModel = PredictionModel()
guard let mlMultiArray = try? MLMultiArray(dataPointer: <#T##UnsafeMutableRawPointer#>, shape: <#T##[NSNumber]#>, dataType: <#T##MLMultiArrayDataType#>, strides: <#T##[NSNumber]#>, deallocator: <#T##((UnsafeMutableRawPointer) -> Void)?##((UnsafeMutableRawPointer) -> Void)?##(UnsafeMutableRawPointer) -> Void#>) else {
        fatalError("Unexpected runtime error.")
    }
guard let predictionOutput = try? _predictionModel.prediction(accelerations: mlMultiArray, lstm_1_h_in: nil, lstm_1_c_in: …
Run Code Online (Sandbox Code Playgroud)

swift ios11 xcode9-beta coreml xcode9

6
推荐指数
1
解决办法
8844
查看次数

除非您是 Apple,否则“扩展程序可能不包含存储的属性”?我错过了什么?

苹果怎么能做到这一点:

import CoreGraphics
import GameplayKit
import simd

/**
 @header


 SceneKit framework category additions related to GameplayKit integration.


 @copyright 2017 Apple, Inc. All rights reserve.

 */

extension SCNNode {


    /**
     * The GKEntity associated with the node via a GKSCNNodeComponent.
     *
     * @see GKEntity
     */
    @available(OSX 10.13, *)
    weak open var entity: GKEntity?
}

/**
 * Adds conformance to GKSceneRootNodeType for usage as rootNode of GKScene 
 */
extension SCNScene : GKSceneRootNodeType {
}
Run Code Online (Sandbox Code Playgroud)

......我不能这样做:

extension SCNNode {
    weak open var ntity: …
Run Code Online (Sandbox Code Playgroud)

xcode swift swift4 xcode9

6
推荐指数
2
解决办法
8121
查看次数

是否可以同时使用多个模拟器进行调试而不停止之前的任务?

在 Xcode 9 中,有一个新选项可以同时运行多个模拟器。当我尝试启动第二个模拟器时,它被迫停止正在运行的实例。是否可以在多个模拟器中进行调试而不停止已经运行的模拟器进程。我想像真实设备一样同时使用两个模拟器进行调试。

ios ios-simulator ios11 xcode9

6
推荐指数
1
解决办法
3068
查看次数

在 Xcode 9/iOS 11 中将应用程序图标自定义为构建阶段

我的应用程序设置为根据正在构建的配置向应用程序图标添加横幅。它是按照这些步骤完成的。

https://www.raywenderlich.com/105641/change-app-icon-build-time

从 Xcode 9/iOS 11 开始,这似乎不再起作用。图像仍在正确修改,它们存在于应用程序包中,但它们并未用作设备上的应用程序图标。

有没有办法再次做到这一点?

xcode ios ios11 xcode9

6
推荐指数
1
解决办法
1524
查看次数

Xcode 9 Debugger:调试时如何更改当前行的高亮颜色

在 Xcode 9 中调试时,高亮颜色太暗。

我在“首选项”“字体和颜色”中尝试了各种高亮颜色,但似乎没有改变这条线的背景高亮颜色。

debugging xcode syntax-highlighting editor xcode9

6
推荐指数
0
解决办法
465
查看次数

NSUnknownKeyException:被发送到与"player"属性不符合KVC的对象

我已将代码更新为Xcode 9中的swift 4.在此之前它运行正常.但现在AVplayer在下面的观察者身上崩溃的是崩溃的代码.

  addObserver(self, forKeyPath: "player.currentItem.duration", options: [.new, .initial], context: &playerViewControllerKVOContext)
Run Code Online (Sandbox Code Playgroud)

而日志是

因未捕获的异常'NSUnknownKeyException'而终止应用程序,原因:'[addObserver:forKeyPath:@"player.currentItem.duration"options:5 context:0x10ff74ac8]被发送到与"player"属性不符合KVC的对象".

kvc swift4 ios11 xcode9

6
推荐指数
1
解决办法
2018
查看次数

在 Swift 4.0 和 Xcode 9.0 中获取用户桌面路径

我正在尝试获取当前用户桌面的路径,但我得到了库中另一个位置的路径(请参阅代码)。

Playgrounds 中的相同代码给出了正确的答案。我在早期创建的 Xcode 项目版本中使用了相同的代码,这也给出了很好的结果。

测试在 MacOS High Sierra、Xcode 版本 9.0 (9A235) 和 Swift 4.0 下完成。

这是使用的代码:

public func userDesktop() -> String {
  let paths = NSSearchPathForDirectoriesInDomains(.desktopDirectory, .userDomainMask, true)
  let userDesktopDirectory = paths[0]
  return userDesktopDirectory
}

let myPath:String = userDesktop() + "/"
print(myPath)

let userDesktopDirectory:String = NSHomeDirectory() + "/" + "Desktop/"
print(userDesktopDirectory)

/* results in Playground */
/Users/kader/Desktop/
/Users/kader/Desktop/

/* Results from a project in Xcode 9.0 */
/Users/kader/Library/Containers/com.kader.testuserpath/Data/Desktop/
/Users/kader/Library/Containers/com.kader.testuserpath/Data/Desktop/
Run Code Online (Sandbox Code Playgroud)

这段代码有什么问题还是一个错误?

我很好奇是否有更多人遇到过同样的问题。

swift4 xcode9

6
推荐指数
1
解决办法
3733
查看次数

在 XCUITests 中,如何等待两个 ui 元素中的任何一个存在

看看 XCTWaiter().wait(...) 我相信我们可以使用这段代码等待多个期望成为现实

let notHittablePredicate = NSPredicate(format: "hittable == false")
let myExpectation = XCTNSPredicateExpectation(predicate: notHittablePredicate, object: element)
let result = XCTWaiter().wait(for: [myExpectation], timeout: timeout)
//for takes array of expectations
Run Code Online (Sandbox Code Playgroud)

但这在提供的期望中使用 AND 之类的。有没有办法在提供的期望中做 OR。

就像我在登录时有一个用例一样,在点击提交后,我想等待两个元素之一。第一个元素是“您已经在另一台设备上登录。如果继续,您另一台设备上的任何未保存数据将丢失?”。第二个元素是登录后的主屏幕。所以任何人都可以出现。目前我首先等待第一个元素,直到超时发生,然后等待第二个元素。但是我想在这里优化时间并在两个元素中的任何一个存在时继续前进==真。然后我将检查 element1 是否存在,然后点击 YES,然后等待主屏幕,否则只需断言 element2 的存在。

如果问题中有不清楚的地方,请发表评论。谢谢

xcode swift xcode-ui-testing xcode9 xcuitest

6
推荐指数
1
解决办法
2995
查看次数

xCode 9.0 beta(9M136h)在设备上运行:无法找到适合IBSimDeviceTypeiPad2x类型的设备

当我尝试用完Xcode 9.0 beta(9M136h)的设备中的应用程序时,出现以下错误。

/xxxx/Assets.xcassets: Failed to find a suitable device for the type
IBSimDeviceTypeiPad2x (com.apple.dt.Xcode.IBSimDeviceType.iPad-2x) with runtime iOS
11.0 (11.0 - 15A5278f) - com.apple.CoreSimulator.SimRuntime.iOS-11-0
Run Code Online (Sandbox Code Playgroud)

这个问题有什么建议吗?

xcode9

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

Xcode 9和Xcode 8一起?

Xcode 9的安装现在与以前的版本完全不同.

网络上的前几百个解释以及关于如何在8之前执行此操作的SO不再有用

在此对话框之后

在此输入图像描述

在此输入图像描述

Xcode9想要做出改变.

事实上,它会抹掉我的8.3.3吗?

你必须"在点击那个按钮之前将8.3.3移动到另一个文件夹吗?"

什么是8.3.3和9的最佳管道?


考虑到下面的emlai的宏伟答案,

更进一步的细微之处在于Xcode9然后想......

在此输入图像描述

它会剔除Xcode8组件和工具????


有趣的是,我发现运行Xcode9曾经为我的Xcode 8安装消除了所有的模拟器!

在此输入图像描述

xcode xcode9

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