使用Xcode 9 GM,我似乎无法使用可视内存调试器.单击内存图标图标只会暂停程序,但不会发生任何其他情况.方案:禁用NSZombie检测,启用内存日志记录.
还有什么可能是错的?
我ARKit使用测试版的Xcode 9 创建了一个项目,我可以在我的真实设备上运行而没有任何问题.
昨天,我升级到Xcode 9 GM,没有触及任何东西,Xcode显示多个错误,说它不知道ARSessionConfiguration即:
使用未声明类型'ARSessionConfiguration'
和:
使用未声明类型'ARWorldTrackingSessionConfiguration'
...对于此代码:
let session = ARSession()
var sessionConfig: ARSessionConfiguration = ARWorldTrackingSessionConfiguration()
Run Code Online (Sandbox Code Playgroud)
我已经导入ARKit并使用了ARSCNViewDelegate我的ViewController.
从Xcode的测试版打开项目时,它不会显示错误,我可以再次在手机上运行该应用程序.
知道如何解决这个问题吗?
今天我在Xcode 9,iPhone 6运行iOS 11上推出了完全可用的Unity3D游戏.它在发布时崩溃了.
每次崩溃都在相同的功能:SetupMetalFBO
这是控制台日志:
validateRenderPassDescriptor:487: failed assertion `Texture at colorAttachment[0] has usage (0x01) which doesn't specify MTLTextureUsageRenderTarget (0x04)'
Run Code Online (Sandbox Code Playgroud)
相同的代码与Xcode 8.3.3 iOS 10完美配合.
如何修复Xcode 9中的崩溃?
UPDATES_SOLUTION:
解决方案很简单,只需转到Xcode-> Product-> Scheme-> Edit Scheme,禁用Metal API验证.这个修复崩溃.

在iOS 10中,我使用了a Launch Screen File而不是Launch Images:
在iOS 11的Xcode 9中转换为Swift 4后,我收到以下警告:
缺少"Default-568h@2x.png"启动图像
为什么在已经启动屏幕时需要启动图像?
我正在使用NSPredicate来过滤Swift中的数组.问题是在更新到iOS 11(Xcode 9/w Swift 4)之后,我一直在过滤器线上崩溃.这是崩溃日志:
因未捕获的异常'NSUnknownKeyException'而终止应用程序,原因:>'[valueForUndefinedKey:]:此类不是键>符号值与键名相符.
这是我有一个数组的类的示例:
final class Model: NSObject {
let name: String
init(name: String) {
self.name = name
}
}
Run Code Online (Sandbox Code Playgroud)
这是崩溃的代码:
let myArray = [Model(name: "Jason"), Model(name: "Brian")]
let predicate = NSPredicate(format: "name == 'Jason'")
let filteredArray = myArray.filter { predicate.evaluate(with: $0)}
Run Code Online (Sandbox Code Playgroud)
问题是为什么现在我更新到iOS 11会崩溃?
下面的代码将SCNPlane放置到触摸点上,但是平面朝向(旋转)到应用程序启动时手机所处的位置.理想情况下,我希望将节点定位到物理墙或相机的当前方向.如何用ARKit完成?
override func touchesBegan(_ touches: Set<UITouch>, with event: UIEvent?) {
guard let touch = touches.first else {return}
let result = sceneView.hitTest(touch.location(in: sceneView), types: [ARHitTestResult.ResultType.featurePoint])
guard let hitResult = result.last else {return}
let hitTransform = SCNMatrix4.init(hitResult.worldTransform)
let hitVector = SCNVector3Make(hitTransform.m41, hitTransform.m42, hitTransform.m43)
createPlane(position: hitVector)
}
func createPlane(position: SCNVector3) {
let background = SCNNode()
background.geometry = SCNPlane.init(width: 0.12, height: 0.10) // better set its size
background.geometry?.firstMaterial?.diffuse.contents = "odinBW2.jpeg"
background.position = position
sceneView.scene.rootNode.addChildNode(background)
}
Run Code Online (Sandbox Code Playgroud) 我正在为iOS 11实现文件提供程序扩展.
通过https://developer.apple.com/videos/play/wwdc2017/243/观看会议并浏览Apple的文档,我似乎无法理解如何实现NSFileProviderExtension和NSFileProviderEnumerator对象的某些方法.
我成功实现了NSFileProviderItem,其中所有这些都列在了Navite iOS 11文件应用程序中.但是,我无法触发任何基于文档的应用程序在选择文件时打开.
我覆盖了NSFileProviderExtension的所有方法.有些仍然是空的,但我设置了一个断点来检查它们何时被调用.
NSFileProviderExtension看起来像这样:
class FileProviderExtension: NSFileProviderExtension {
var db : [FileProviderItem] = [] //Used "as" a database
...
override func item(for identifier: NSFileProviderItemIdentifier) throws -> NSFileProviderItem {
for i in db {
if i.itemIdentifier.rawValue == identifier.rawValue {
return i
}
}
throw NSError(domain: NSCocoaErrorDomain, code: NSNotFound, userInfo:[:])
}
override func urlForItem(withPersistentIdentifier identifier: NSFileProviderItemIdentifier) -> URL? {
guard let item = try? item(for: identifier) else {
return nil
}
// in this implementation, all …Run Code Online (Sandbox Code Playgroud) 在Xcode 9视图调试器中,我想在视图的三维爆炸图中选择一个视图,然后在左侧的层次结构中显示该视图.我知道我可以通过双击它或从上下文菜单中选择"Focus on UIView"来"聚焦"该视图.我知道我也可以按照我想要查找的视图类型的某些部分进行过滤,但实际上我只想查看我在一个步骤中在完整层次结构的上下文中进行选择.我还没有办法做到这一点 - 我错过了什么吗?
我正在尝试从XCode 9中导出我的Apple ID.
出现的错误消息显示:
无法与帮助应用程序通信.
再试一次你的操作.如果失败,请退出并重新启动应用程序,然后重试.
我确实重新启动了所有内容并重新创建了我的证书 - 没有运气.
我的操作系统是macOS High Sierra.
谁知道如何解决这个问题?
我在Xcode 9上.我刚买了我的iPhone XS Max.我试着将我的应用安装到它上面.
我不断得到
iPhone不支持任何应用程序的架构.您可以将iPhone的arm64e架构添加到应用程序的架构构建设置中.
构建设置
如何进行并防止此错误?
我现在对任何建议持开放态度.
任何提示/建议/帮助将非常感谢!