下载Xcode 9 beta后,我发现文件模板系统发生了变化.
例如,我有一个创建2个文件的简单模板(它可能根本不应该以这种方式工作).基本文件名是
___ ___ FILEBASENAME斯威夫特
和
___ ___ FILEBASENAME View.swift
它创建了TableCell.swift和TableCellView.swift,这里是代码:
//
// ___FILENAME___
// ___PROJECTNAME___
//
// Created by ___FULLUSERNAME___ on ___DATE___.
//___COPYRIGHT___
//
import Foundation
import UIKit
class ___FILEBASENAME___: UITableViewCell {
let mainView = ___FILEBASENAME___View()
override init(style: UITableViewCellStyle, reuseIdentifier: String?) {
super.init(style: style, reuseIdentifier: reuseIdentifier)
setupCell()
contentView.addSubview(mainView)
mainView.setupView()
}
fileprivate func setupCell() {
backgroundColor = UIColor.clear
selectionStyle = .none
}
required init?(coder aDecoder: NSCoder) {
fatalError("init(coder:) has not been implemented")
}
}
Run Code Online (Sandbox Code Playgroud)
并查看文件:
//
// ___FILENAME___ …Run Code Online (Sandbox Code Playgroud) 我有一个用obj-C编写的iOS应用程序和用于Swift应用程序的UI测试.我最近安装了Xcode 9 beta 2并想编译应用程序.我收到以下错误:
"依赖性分析错误>必须将"Swift语言版本"(SWIFT_VERSION)构建设置设置为使用Swift的目标支持的值.此设置可以在构建设置编辑器中设置.
当我去构建设置时,没有任何可能为Swift语言设置版本.这代表一个错误吗?此外,应用程序本身不使用Swift,只使用自动UI_tests.
我正在尝试使用FileManager's 将一些(媒体)文件从一个文件夹复制到另一个文件夹copyItem(at:path:),但我收到错误:
CFURLCopyResourcePropertyForKey失败,因为它传递了一个没有方案的URL错误Domain = NSCocoaErrorDomain Code = 262"由于不支持指定的URL类型,因此无法打开该文件."
我正在使用Xcode 9 beta和Swift 4.
let fileManager = FileManager.default
let allowedMediaFiles = ["mp4", "avi"]
func isMediaFile(_ file: URL) -> Bool {
return allowedMediaFiles.contains(file.pathExtension)
}
func getMediaFiles(from folder: URL) -> [URL] {
guard let enumerator = fileManager.enumerator(at: folder, includingPropertiesForKeys: []) else { return [] }
return enumerator.allObjects
.flatMap {$0 as? URL}
.filter { $0.lastPathComponent.first != "." && isMediaFile($0)
}
}
func move(files: [URL], to location: URL) {
do {
for …Run Code Online (Sandbox Code Playgroud) 根据发行说明,Xcode 9增加了对获取索引的支持:
"数据模型编辑器为Core Data的新获取索引功能及其现有的属性索引和实体复合索引功能提供了统一的接口.旧的数据模型被转换为获取索引形式以进行编辑,并在必要时保存为旧的文件格式编译部署目标低于iOS 11,watchOS 4,macOS 10.13或tvOS 11的数据模型继续生成兼容的编译形式.(30843153)"
我的项目目前已将部署目标设置为iOS 9,但我无法编译我的CoreData模型,它为每个具有复合索引集的实体提供了以下错误:
Model.xcdatamodeld/Model.xcdatamodel:MyEntity|compoundIndex[0]: error: Expression requires a concrete result type.
Model.xcdatamodeld/Model.xcdatamodel:MyEntity|compoundIndex[0]: error: Expression attributes are not compatible with the current deployment target.
Model.xcdatamodeld/Model.xcdatamodel:MyEntity|compoundIndex[1]: error: Expression requires a concrete result type.
Model.xcdatamodeld/Model.xcdatamodel:MyEntity|compoundIndex[1]: error: Expression attributes are not compatible with the current deployment target.
Model.xcdatamodeld/Model.xcdatamodel:MyEntity: error: Fetch Indexes feature requires iOS deployment target 11.0 or later
Model.xcdatamodeld/Model.xcdatamodel:MyEntity: error: Fetch Indexes feature requires Xcode 9.0 tools or later
Run Code Online (Sandbox Code Playgroud)
知道如何修复构建错误吗?
更新:
除了从关系创建的情况外,Xcode 9正确地将复合索引转换为获取索引,如"已知问题"部分所述:
数据模型编辑器仅支持从此测试版中的属性和表达式创建获取索引,而不是从关系创建.(32407895)
受影响的提取索引如下所示,可以从下拉菜单中选择唯一的属性: …
我一直在实施Apple在WWDC2017中引入的新Vision框架的测试.我特别关注条形码检测 - 我从相机/图库扫描图像后得知这是条形码图像.但是,在查看barcodeDescriptor时,我无法看到实际的条形码值或有效负载数据.https://developer.apple.com/documentation/coreimage/cibarcodedescriptor页面上似乎没有任何内容可以识别任何属性.
我收到这些错误:
- 无法连接到远程服务:错误域= NSCocoaErrorDomain代码= 4097"连接到名为
com.apple.BarcodeSupport.BarcodeNotificationService的服务"- libMobileGestalt MobileGestalt.c:555:无法访问InverseDeviceID(请参阅问题/ 11744455>)
- 连接到名为com.apple.BarcodeSupport.BarcodeNotificationService的服务错误
域= NSCocoaErrorDomain代码= 4097
有没有办法从VNBarcodeObservation访问条形码值?任何帮助将不胜感激.谢谢!这是我正在使用的代码:
@IBAction func chooseImage(_ sender: Any) {
imagePicker.allowsEditing = true
imagePicker.sourceType = .photoLibrary
present(imagePicker, animated: true, completion: nil)
}
@IBAction func takePicture(_ sender: Any) {
if(UIImagePickerController .isSourceTypeAvailable(UIImagePickerControllerSourceType.camera)){
imagePicker.sourceType = UIImagePickerControllerSourceType.camera
self .present(imagePicker, animated: true, completion: nil)
}
else{
let alert = UIAlertController(title: "Warning", message: "Camera not available", preferredStyle: UIAlertControllerStyle.alert)
alert.addAction(UIAlertAction(title: "Dismiss", style: UIAlertActionStyle.default, handler: nil))
self.present(alert, animated: true, completion: nil)
}
}
//PickerView …Run Code Online (Sandbox Code Playgroud) 代码折叠不适用于 Xcode 9中的键绑定 Shift + Alt + Cmd + < - left.是否有人对Xcode 9有同样的问题?
滚动浏览时,UICollectionView它会显示多个滚动指示器.我注意到集合中的每个部分都有一个.查看同时显示三个的屏幕截图:
有谁遇到同样的问题?我正在使用Xcode 9 beta 3.我的collectionview设置很常见:
private let formCollectionView: UICollectionView = {
let collectionViewLayout = UICollectionViewFlowLayout()
collectionViewLayout.minimumLineSpacing = 0
collectionViewLayout.minimumInteritemSpacing = 0
let collectionView = UICollectionView(frame: .zero, collectionViewLayout: collectionViewLayout)
collectionView.translatesAutoresizingMaskIntoConstraints = false
collectionView.backgroundColor = UIColor.clear
return collectionView
}()
Run Code Online (Sandbox Code Playgroud)
编辑10/16/2017
甚至Twitter似乎也有这个问题:
我使用Xcode9 Beta6来构建项目,在iOS10设备上正确调用了该操作,但它在iOS11设备上无法正常工作.
在我的项目中,有一些viewControllers顶部有一个UIToolBar,而toolBar包含一些UIBarButtonItems.
有一种这样的viewController,当我点击UIBarButtonItem时,不会调用其UIBarButtonItem动作.我可以看到点击动画(图标变得暗淡,手指释放后恢复正常)
最后viewDidLoad,我打印信息toolbar.items表明正确设置了目标操作.
在Xcode 7和8中,我已经能够通过在包含框架项目的xcworkspace中运行包含应用程序来调试我一直在开发的框架.如果我在框架中设置断点,它们将在运行时触发.
在Xcode 9 beta 6中,情况已不再如此.到目前为止,执行只在模拟器上调试时停止在框架断点处.当我在物理设备上进行调试时,框架断点不会停止执行,看起来它们被完全忽略.
如何在Xcode 9中调试iOS 11上的框架时,如何使框架断点正常工作?
FWIW:xcworkspace是通过pod install在框架根目录内运行创建的.然后我将示例应用程序的xcodeproj添加到xcworkspace.直到在Xcode 9 beta 6上进行测试之前,这一功能一直有效.
编辑:确认此行为仍发生在Xcode 9.0的GM种子上.
我CoreNFC sample在Xcode 9.0 beta 2中运行代码时遇到此错误并且应用程序崩溃
dyld: Library not loaded: @rpath/CoreNFC.framework/CoreNFC
Referenced from: /var/containers/Bundle/Application/2837709C-C852-4811-B696-38F2725554D4/iOS-11-by-Examples.app/iOS-11-by-Examples
Reason: image not found
Run Code Online (Sandbox Code Playgroud)
有谁知道如何解决这个问题?
xcode9-beta ×10
ios ×4
swift ×4
ios11 ×3
xcode ×3
apple-vision ×1
barcode ×1
code-folding ×1
core-data ×1
core-nfc ×1
debugging ×1
iphone ×1
macos-sierra ×1
swift4 ×1
templates ×1
xcode9 ×1