我在Xcode 9 Beta 3中使用了第三方库.我在完成调用中收到以下错误,我无法解决此错误:
DispatchQueue.main.asyncAfter(deadline: .now() + delay) {
self.animationView?.alpha = 0
self.containerView.alpha = 1
completion?() // -> Error: Missing argument parameter #1 in call.
}
Run Code Online (Sandbox Code Playgroud)
并在完成功能中获得以下警告:
func openAnimation(_ completion: ((Void) -> Void)?) {
// -> Warning: When calling this function in Swift 4 or later, you must pass a '()' tuple; did you mean for the input type to be '()'?
}
Run Code Online (Sandbox Code Playgroud) 如何绘制边框以突出显示SCNNode并向用户指示该节点已被选中?在我的项目中,用户可以放置多个虚拟对象,用户可以随时选择任何对象.选择后,我应该向用户显示高亮显示的3D对象.有没有办法直接实现这个或在SCNNode上绘制边框?
我是SceneKit的新手,无法掌握Xcode场景编辑器.我正在对最近推出的iOS ARKit进行一些研究.我用SceneKit模板创建了一个示例项目.它带有默认的ship.scn.
我删除了这个ship.scn并创建了一个新的SCN,将示例.DAE模型拖放到此SCN中.我可以使用所有纹理清楚地查看放在.SCN文件中的对象.
但是当我在设备中运行它时,对象出现在相机顶部并放大并且没有正确定位在相机框架中.我不得不放弃为对象的位置x: 0,y: -60,z: -60在Xcode场景编辑器,使其在相机取景框中央可用.但是,如果我这样做,对象将永远是-60相机的度数,我将无法通过触摸手势正确移动/调整大小.
任何人请帮助我如何在相机框架的中心提供对象,使对象也支持旋转/调整大小/移动等.
我创建了如下的场景并将其添加到场景视图中:
let scene = SCNScene(named: "art.scnassets/Lowpoly_Notebook_2.scn")!
Run Code Online (Sandbox Code Playgroud)
我使用Apple的链接作为移动/调整对象大小的参考.
我有一个使用Storyboard和UIKit构建的 iOS 项目。现在我想使用SwiftUI开发新屏幕。我向现有Storyboard添加了一个托管视图控制器,并用它来显示我新创建的SwiftUI视图。
但我不知道如何创建一个可以在整个应用程序中的任何地方使用的@EnvironmenetObject 。我应该能够在任何基于 UIKit 的 ViewController 以及SwiftUI视图中访问/设置它。
这可能吗?如果是的话该怎么办呢?在纯SwiftUI应用程序中,我们设置环境对象如下,
@main
struct myApp: App {
@StateObject var item = Item()
var body: some Scene {
WindowGroup {
MainView()
.environmentObject(item)
}
}
}
Run Code Online (Sandbox Code Playgroud)
但就我而言,没有这样的函数,因为它是一个包含AppDelegate和SceneDelegate的现有 iOS 项目。初始视图控制器在 Storyboard 中标记。如何设置它并在应用程序中的任何位置访问该对象?
我在尝试向用户请求 Xcode 9 Beta 中的位置许可时收到以下错误。我尝试在 info.plist 中添加“隐私 - 使用时的位置使用说明”和“隐私 - 位置使用说明”说明,但仍然遇到相同的错误。
该应用程序试图在没有使用说明的情况下访问隐私敏感数据。应用程序的 Info.plist 必须包含 NSLocationAlwaysAndWhenInUseUsageDescription 和 NSLocationWhenInUseUsageDescription 键,以及向用户解释应用程序如何使用此数据的字符串值
当我尝试添加“隐私 - 位置始终和使用时使用说明”时,它会自动重命名为info.plist 中的“隐私 - 位置使用说明”
我正在尝试在我的应用程序(Tabbed应用程序)中实现iOS 11 beta的ARKit.但正如在ARKit会话暂停和不恢复线程中所述,每当我将选项卡更改为另一个视图控制器并返回时,ARSession就会冻结而不会恢复.
是否可以在选项卡式应用程序中实现ARSCNView,这样如果你回来我可以恢复ARSession?如果是这样怎么办?
当我尝试设置虚拟对象的simdPosition时,我在使用iOS 11 ARKit(Scenekit - Xcode 9 beta)时出现此错误.我需要知道是否可以在swift 中将SCNMatrix4转换为matrix_float4x4.如果是这样,如何转换它.
我正在开发一个3D模型的AR应用程序。
点击子节点后,我将通过使用CALayer创建动画并将其加载到diffuse.contents中(通过遵循此线程)来显示GIF图像将CALayer的内容设置为动画GIF?
let animation : CAKeyframeAnimation = createGIFAnimation(url: gifImageURL!)!
let layer = CALayer()
layer.bounds = CGRect(x: 0, y: 0, width:600, height:200)
layer.add(animation, forKey: "contents")
let newMaterial = SCNMaterial()
newMaterial.isDoubleSided = true
newMaterial.diffuse.contents = layer
let plane = SCNPlane(width: 5, height: 5)
plane.materials = [newMaterial]
let node = SCNNode(geometry: plane)
self.sceneView.scene.rootNode.addChildNode(node)
Run Code Online (Sandbox Code Playgroud)
我能够在SCNNode中渲染gif图像,但它只显示其中的四分之一(GIF的最右下半部分仅可见)。我尝试了以下步骤来纠正此问题,但仍然徒劳。
任何人都可以帮助我如何使用CALayer在SCNPlane中渲染完整的gif图像。
我尝试了最近在iOS中引入的Core ML来识别和分类图像.问题是,它没有为发送的图像提供正确的结果.
如果我发送一个地球图像(Globe)它会给我作为泡泡的课程.以下是我使用的代码,
let model = Resnet50()
let pixelBuffer: CVPixelBuffer = (modelImg.pixelBuffer())!
if let prediction = try? model.prediction(image: pixelBuffer) {
print( "Found it!! It is a/an \(prediction.classLabel)")
}
Run Code Online (Sandbox Code Playgroud)
是否可以在现有Core ML模型的基础上使用自定义用例训练模型?(例如Resnet50)
我使用健康套件为 Apple Watch Model MJ3T2B/A创建了一个应用程序。它带有 watch OS 2.0 版本。我使用 Xcode 版本 7.3.1 创建该应用程序,并使用 diawi 将其安装在我的 iPhone 中。我无法直接运行它,因为它说手表应用程序的部署版本是 2.2,而我正在使用的是 2.0。
当我在 Apple Watch 中启用“显示应用程序”时,它会在一段时间后在 iPhone(iOS 9.3.2)手表应用程序中自动禁用。我需要使用不同的 xcode 版本来创建我的应用程序吗?我的 iPhone 应用程序中也没有收到任何操作系统更新。它说手表操作系统2.0和软件是最新的。
我正在研究一种基于AR的解决方案,其中使用SceneKit和ARKit渲染了一些3D模型。我还集成了CoreML以识别对象并在场景中渲染相应的3D对象。
但是现在,我一检测到对象就将其呈现在屏幕中央(仅适用于我拥有的对象列表)。是否可以获取现实世界对象的位置,以便可以在对象上方显示一些叠加层?
也就是说,如果我扫描了水瓶,则应该能够找到水瓶的位置。它可能在水瓶中的任何地方,但不应放在水瓶外面。使用SceneKit是否可能?
ios11 ×8
arkit ×6
swift ×6
scenekit ×5
ios ×4
xcode ×3
xcode9-beta ×3
coreml ×2
apple-watch ×1
plist ×1
swift4 ×1
swiftui ×1
uikit ×1
xcode9beta6 ×1