这个问题是关于Apple在iOS 11中引入的新ARKit框架:
有没有办法在使用ARSession时配置捕获的视频质量?它似乎默认为1280x720 - 看起来非常糟糕,特别是在iPad上.我想将其改为1080p或4k.
如果这不可能,有没有办法通过提供自定义视频流来使用ARKit?
我已经下载了 Xcode 9 beta 5,以便在 iOS 11 beta 上调试我们的应用程序的问题。Xcode beta 5 附带 iOS 模拟器 11.0 beta 5。
现在,苹果已经发布了 iOS 11.0 beta 6,但他们还没有发布新的 Xcode 测试版。
如何将模拟器更新到 beta 6?
我在使用EncryptedStore SQLCipher包装器来加密核心数据时遇到问题.
我为此添加了C标志:
Debug = -DSQLITE_HAS_CODEC -DSQLITE_TEMP_STORE=2 -DSQLITE_THREADSAFE -DSQLCIPHER_CRYPTO_CC
Release = -DSQLITE_HAS_CODEC -DNDEBUG -DSQLITE_OS_UNIX=1 -DSQLITE_TEMP_STORE=2 -DSQLITE_THREADSAFE -DSQLCIPHER_CRYPTO_CC
Run Code Online (Sandbox Code Playgroud)
并用它作为:
func encryptedCoordinator() -> NSPersistentStoreCoordinator {
var coordinator:NSPersistentStoreCoordinator?
let ops:[String : Any] = [NSMigratePersistentStoresAutomaticallyOption:(true), NSInferMappingModelAutomaticallyOption:(true), EncryptedStorePassphraseKey:sqlCipherKey, EncryptedStoreDatabaseLocation:self.sqliteFileURL()]
do {
coordinator = try EncryptedStore.make(options: ops, managedObjectModel: self.managedObjectModel, error: ())
}catch {
fatalError("Error opening encrypted DB: \(error)")
}
return coordinator!
}
Run Code Online (Sandbox Code Playgroud)
它在XCode8中运行良好,但它在XCode9-beta中出错.
错误行:
- (BOOL)changeDatabasePassphrase:(NSString *)passphrase error:(NSError *__autoreleasing*)error {
BOOL result;
int status;
if ([passphrase length] > 0) {
// Password provided, …Run Code Online (Sandbox Code Playgroud) 我下载了苹果提供的ARKit演示,我看到有.scn文件在app中用作虚拟对象,如何创建其他虚拟对象文件?
我正在使用 Jenkins 和 Xcode 9 beta 运行构建,但配置文件出错。这是我得到的错误
NSLocalizedRecoverySuggestion=在项目编辑器中为“默认”构建配置选择一个配置文件。}
请让我知道我该如何解决这个问题。谢谢。
我正在使用10.12.6的hackintosh版本,我已经有Xcode 8.3.3,它工作正常.今天我安装了Xcode 9 beta 4,当我尝试运行它时,模拟器给我一个空白的屏幕,下面的图像有奇怪的图形,它永远保持这样.
我根据其他论坛尝试的事情
1.Reinstall the Xcode beta
2.`rm -rf ~/Library/Developer/Xcode/DerivedData`
3.Open Xcode and delete all the simulators using the Window > Devices window
4.Take a backup of `~/Library/Developer/CoreSimulator/Devices/device_set.plist` and then remove the `com.apple.CoreSimulator.SimRuntime.iOS-9-0` key.
5.Reinstall simulators within Xcode using the + in the lower-left of Window > Devices.
Run Code Online (Sandbox Code Playgroud)
我还删除了我的Xcode 8.3.3只是为了确保它不会产生任何冲突,但仍然没有运气.任何帮助表示赞赏
我注意到WKWebView文档现在列出了一个takeSnapshot被iOS 11和macOS 10.13及更高版本(Xcode 9 beta)支持的方法.
还有人玩过还是实现过?我试图让它在操场上工作,但我不知道从哪里开始?这是一种方法WKWebView吗?
我的代码:
import UIKit
import PlaygroundSupport
import WebKit
let frame = CGRect(x: 0, y: 0, width: 800, height:600)
let web = WKWebView(frame: frame)
let rq = URLRequest(url: NSURL(string: "http://apple.com")! as URL)
web.load(rq)
PlaygroundPage.current.liveView = web
PlaygroundPage.current.needsIndefiniteExecution = true
//Take snapshot?
Run Code Online (Sandbox Code Playgroud) 我正在玩ARKit和图像检测。现在,我有一个可检测图像的应用程序,可将屏幕上的平面放置在检测到的对象所在的位置。
如何在飞机上添加可点击元素,例如按钮。我想对每个检测到的对象都有一个click事件。
这是我的渲染器函数的外观:
func renderer(_ renderer: SCNSceneRenderer, didAdd node: SCNNode, for anchor: ARAnchor) {
guard let imageAnchor = anchor as? ARImageAnchor else { return }
let referenceImage = imageAnchor.referenceImage
updateQueue.async {
let plane = SCNPlane(width: referenceImage.physicalSize.width,
height: referenceImage.physicalSize.height)
let planeNode = SCNNode(geometry: plane)
planeNode.opacity = 0.25
planeNode.eulerAngles.x = -.pi / 2
planeNode.runAction(self.imageHighlightAction)
node.addChildNode(planeNode)
}
DispatchQueue.main.async {
let imageName = referenceImage.name ?? ""
self.statusViewController.cancelAllScheduledMessages()
// self.statusViewController.showMessage("Detected image “\(imageName)”")
let storyboard = UIStoryboard(name: "Main", bundle: nil)
let second = storyboard.instantiateViewController(withIdentifier: "InfoViewController")as! InfoViewController …Run Code Online (Sandbox Code Playgroud) 我正在使用Xcode9 Beta4,当我构建我的项目时,我收到此错误generate-pch命令失败,退出代码为1(使用-v查看调用)我已清理项目并删除了驱动器数据但仍然得到相同问题.请帮我解决这个问题
我正在使用此CALayer扩展程序:
var borderUIColor: UIColor {
set {
self.borderColor = newValue.cgColor
}
get {
return UIColor(cgColor: self.borderColor!)
}
}
Run Code Online (Sandbox Code Playgroud)
我想也许是因为这个扩展我borderColor从页面底部的提交按钮不会变为白色(我想要它):
但不,我联系了一个IBOutlet并尝试直接设置这样的颜色:
submitButton.layer.borderColor = UIColor.white.cgColor
Run Code Online (Sandbox Code Playgroud)
它是否存在viewDidLoad,viewWillAppear并且viewDidAppear因为我知道在最后的大更新(iOS 10)中,帧渲染从根本上改变了(1000x1000帧的东西),现在可能还有一些类似的改动.但是没有运气.
我在iOS 9,10和11中测试过.它不是关于操作系统,而是关于环境.我正在使用Xcode 9 Beta 5.任何想法如何解决?
我试图在Demo ARKit应用程序中使用苹果提供的代码进行平面检测,但它不能始终如一地工作,在某些情况下它会完美地检测到表面,但在某些情况下,它不会检测到飞机.然后,我也注意到在Demo ARKit app中,平面检测也会发生同样的事情.当它检测到平面时,黄色方块会关闭,但每次都不是这样.有没有人面对同样的?如何使这种平面检测行为保持一致?