所以我一直在玩新的xcode 8 beta,我可以将图像加载到.image属性中,但是我没有成功加载带有.mediaFileURL属性的音频文件.这是我的
var message = MSMessage()
var template = MSMessageTemplateLayout()
viewDidLoad() {
if let filePath2 =
Bundle.main().pathForResource("synth", ofType: "wav") {
let fileUrl = NSURL(string: filePath2)
let URL2 = fileUrl as! URL
template.mediaFileURL = URL2
}
message.layout = template
guard let conversation = activeConversation else {
fatalError("Expected a conversation") } conversation.insert(message,
localizedChangeDescription: nil) { error in
if let error = error {
print(error)
}
}
}
Run Code Online (Sandbox Code Playgroud) 所以我对整个swift很新,所以请耐心等待..我的查询在swift 2中工作但是在我迁移到swift 3之后我得到了错误
对成员请求的不明确引用(_:withMethod:parameters:encoding:headers :)'
下面是它出现的代码:
Alamofire.request(.GET, serverRequest).validate().responseJSON( { response in
switch response.result{
case .Success:
if let JSON = response.result.value {
let final = JSON[wantedClass] as! String//forces output to string
self.failure("You asked what your " + wantedClass + " is, it is:", message: final)
}
case .Failure(let error):
print(error)
}
})
Run Code Online (Sandbox Code Playgroud)
我不知道是什么问题.
我刚刚使用Xcode 8的转换功能将Swift 2应用程序转换为Swift 3.
我的代码有一个标记为的类WCSessionDelegate.
在Swift 2中,它编译时没有方法sessionDidBecomeInactive和sessionDidDeactivate.
如果我编译Swift 3版本,编译器会抱怨我的类不符合协议WCSessionDelegate,这显然是正确的.
然后它提供插入两个函数的存根:
public func sessionDidBecomeInactive(_ session: WCSession) { }
public func sessionDidDeactivate(_ session: WCSession) { }
Run Code Online (Sandbox Code Playgroud)
插入这些存根后,会报告以下错误:
Cannot override 'sessionDidBecomeInactive' which has been marked unavailable
Cannot override 'sessionDidDeactivate' which has been marked unavailable
Run Code Online (Sandbox Code Playgroud)
我该如何解决这个问题?
当我尝试在升级到Xcode 8之前运行完全运行的项目时,我不断收到错误
对于使用Swift的目标,需要正确配置"使用Legacy Swift语言版本"(SWIFT_VERSION).使用[Edit> Convert> To Current Swift Syntax ...]菜单选择Swift版本或使用Build Settings编辑器直接配置构建设置.
尝试转换为swift 3.0后,我不断得到错误:
转换为当前Swift语法失败无法找到CastleTests的测试主机:TEST_HOST评估为:(我的项目和测试文件夹的文件位置)
我已经尝试将另一个项目转换为swift 3并且它工作得很好,但是这个项目不起作用.产品的所有位置设置与工作项目中的位置相同我很困惑为什么我不断收到此错误
我正在将Xcode 7/Swift 2.2 mac OS X项目迁移到Xcode 8/Swift 3,我在我的视图控制器类MyViewController中使用undoManager遇到了一个问题,它有一个函数undo.
在Xcode 7/Swift 2.2中,这很好用:
undoManager?.prepareWithInvocationTarget(self).undo(data, moreData: moreData)
undoManager?.setActionName("Change Data)
Run Code Online (Sandbox Code Playgroud)
在Xcode 8/Swift 3中,使用https://developer.apple.com/library/content/documentation/Swift/Conceptual/BuildingCocoaApps/AdoptingCocoaDesignPatterns.html中推荐的模式
这应该改为:
if let target = undoManager?.prepare(withInvocationTarget: self) as? MyViewController {
target.undo(data, moreData: moreData)
undoManager?. setActionName("Change Data")
}
Run Code Online (Sandbox Code Playgroud)
但是,向MycastController的向下转换始终失败,并且未注册撤消操作.
我错过了一些明显的东西,或者这是一个错误?
在调试模式下,我试图查看变量的值,但它没有显示任何内容.我用Xcode8.一起使用Objective - C和Swift分类.我没有objective-C部分问题,我可以清楚地看到价值观.我阅读了很多帖子和答案,但没有一个帮助我.我尝试在Swift编译器中设置优化级别=无BuildSettings.还尝试将o2和-O0添加到其他linker flags.我检查了编辑方案,它处于调试模式.所以我卡住了.顺便说一句,如果我用快速语言创建项目,我可以看到变量的值.提前致谢.
当我创建一个版本来测试我的iPhone xcode 8崩溃时,当我重新打开xcode时突然发现这个错误来自于无处.
命令/Applications/Xcode.app/Contents/Developer/usr/bin/ibtool失败,退出代码255的工具可能已经坠毁.请在http://bugreport.apple.com上使用上述输出提交错误报告,并附上ibtool,ibtoold,Xcode和Interface Builder Cocoa Touch Tool在此失败时创建的所有崩溃日志.这些日志可以在〜/ Library/Logs/DiagnosticReports或/ Library/Logs/DiagnosticReports中找到.
任何人都可以告诉我如何解决这个问题.
我正在尝试使用#imageLiteralXcode 8中的资源文件夹中的新内联图像分配,而不是整个UIImage(named: "")语法,它只是显示的图像,如此处所示.
但是当我这样做时,当它是一个函数时,我得到错误"返回结果中的预期表达式".
这是一个简单的例子:
func img() -> UIImage {
return #imageLiteral(resourceName: "small-checkmark")
}
Run Code Online (Sandbox Code Playgroud)
在Xcode中它显示的small-checkmark是预期的,但由于上述错误,它将无法编译.一切都为我自动完成,文件在资产文件夹(PDF).我不明白出了什么问题.如果我回来UIImage()它编译好.
我该怎么办?
我正在使用XCode 8.2.1.我刚刚了解了颜色配置文件,并且RGB值不是通用的.但仍然无法理解如何在代码中使其正确.在Interface Builder中,我为标签选择了预定义的"深灰色".通用RGB配置文件中为(85,85,85).同样在代码中我将另一个标签颜色设置为[UIColor darkGrayColor].我希望它们具有相同的颜色,但它们是不同的.
我用的方法
- (BOOL)getRed:(nullable CGFloat *)red green:(nullable CGFloat *)green blue:(nullable CGFloat *)blue alpha:(nullable CGFloat *)alpha
Run Code Online (Sandbox Code Playgroud)
获取RGB值.对于在IB中设置颜色的标签,我看到实际上(104,104,104)的值对应于当切换到设备RGB配置文件时IB中的值.所以似乎在代码中使用了设备RGB配置文件.
所以我的问题是:
我收到此错误:
我在Build in Build设置中完成了设置:
我在Build in Build设置中完成了设置:
我使用了以下解决方案
1)#pragma unused(parameterName),这是有效的
但问题是,我使用了太多文件,这个错误即将到来,所以我想知道是否有任何常见的解决方案.
(*)任何人都可以尝试以下步骤来找到这种错误:sample-videochat-webrtc
创建快速项目
添加文件,导入和构建然后会出现错误