我下载了Apple的MyLife示例项目,并尝试使用Xcode 8 beta 6构建和运行它.
在执行prepare(for:sender:)故事板segue之前,视图控制器有两个地方实现了调用以执行操作.
override func prepare(for segue: UIStoryboardSegue, sender: AnyObject?) {
Run Code Online (Sandbox Code Playgroud)
该行有一个错误,说"方法不会覆盖其超类中的任何方法".
如果我删除覆盖,应用程序构建但该方法不应该被调用.
xcode的8个β6取代AnyObject通过Any.
在某些情况下,我用于a.classForCoder调试原因,看看它里面有什么.有了AnyObject这个工作.有了Any这不起作用了.
现在我必须使用Any:在类型变量中查看哪种类型的首选方法是什么Any?
转换AnyObject似乎不是非常有用,因为在许多情况下这是一个String并且自Xcode 8 beta 6以后String不再确认AnyObject.
我在ios应用程序中使用Amazon Cognito和Facebook登录.直到beta 5 ,这个SO线程的代码工作:
class CustomIdentityProvider: NSObject, AWSIdentityProviderManager {
var tokens: [NSString: NSString]?
init(tokens: [NSString: NSString]) {
self.tokens = tokens
}
@objc func logins() -> AWSTask<NSDictionary> {
return AWSTask(result: tokens) // Compile error in beta 6
}
}
Run Code Online (Sandbox Code Playgroud)
在测试版6中,我得到了这个编译错误:
Cannot convert value of type '[NSString:NSString]?' to expected argument type '_?'
Run Code Online (Sandbox Code Playgroud)
当我将线路更改为
return AWSTask(result: tokens! as [AnyObject: AnyObject])
Run Code Online (Sandbox Code Playgroud)
我收到了错误
Type 'AnyObject' does not conform to protocol 'Hashable'
Run Code Online (Sandbox Code Playgroud)
这是快速的.3.
我正在使用Xcode 8 beta 6,我正在请求访问Health App.requestAuthorization(toShare:read:completion:)请求授权的方法总是true在完成处理程序返回时产生- success在我的下面的代码中.即使我拒绝模拟器中的所有内容,我也会得到一个true.这是我处理授权的代码.我的代码中的某些内容是错误的还是这是一个Xcode错误?
import Foundation
import HealthKit
class HealthManager {
private let healthStore = HKHealthStore()
class var sharedInstance: HealthManager {
struct Singleton {
static let instance = HealthManager()
}
return Singleton.instance
}
private var isAuthorized: Bool? = false
func authorizeHealthKit(completion: ((_ success: Bool) -> Void)!) {
let writableTypes: Set<HKSampleType> = [HKQuantityType.quantityType(forIdentifier: HKQuantityTypeIdentifier.distanceWalkingRunning)!, HKWorkoutType.workoutType(), HKQuantityType.quantityType(forIdentifier: HKQuantityTypeIdentifier.stepCount)!, HKQuantityType.quantityType(forIdentifier: HKQuantityTypeIdentifier.activeEnergyBurned)!, HKQuantityType.quantityType(forIdentifier: HKQuantityTypeIdentifier.heartRate)!]
let readableTypes: Set<HKSampleType> = [HKQuantityType.quantityType(forIdentifier: HKQuantityTypeIdentifier.distanceWalkingRunning)!, HKWorkoutType.workoutType(), HKQuantityType.quantityType(forIdentifier: HKQuantityTypeIdentifier.stepCount)!, HKQuantityType.quantityType(forIdentifier: HKQuantityTypeIdentifier.activeEnergyBurned)!, …Run Code Online (Sandbox Code Playgroud) 使用xcode 8,我试图设置约束来处理iPhone SE - iPhone 6s +屏幕尺寸.
现在,使用Phone 6+,我手动设置了约束,而男孩在实际设备上看起来很漂亮.这是相当每个6S +和6S因为心不是额外的空间是多少.
所以现在我要接受SE限制.可以使用的空间很小,但我设法让它工作,购买缩小的字体.
现在,听到是困扰我的部分...我切换回6s +只是为了发现我的美丽UI被超小SE尺寸取代.为什么?因为6s+- 4s都被视为w:Compact, h:Regular.
也许我忽略了一些超级简单 也许这是一个可怕的设计缺陷?IDK.我所知道的是,新的特征系统应该使通用故事板更容易.所以我的问题是如何为每个设备大小设置约束?
我刚刚更新到Xcode 8 beta 6并且出现了错误的重载(毫不奇怪),我把它们中的大部分都整理好了,但有两个错误,我不确定如何修复.
为此,我得到了这个错误 Method does not override any method from its superclass
override func prepare(for segue: UIStoryboardSegue, sender: AnyObject?) {
if(segue.identifier == "***"){
}
}
Run Code Online (Sandbox Code Playgroud)
为此,我得到了这个错误 init has been renamed to init(describing:)
return String(self.type)
Run Code Online (Sandbox Code Playgroud) 是否有更好的方法来获取本地化格式并使用Xcode 8 Swift 3替换字符串?我是否需要使用NSString,并在NSString和String之间来回转换?
let localizedDue = NSString.localizedStringWithFormat(NSLocalizedString("Due: %@", comment: "due date label with date") as NSString, formattedDate) as String
Run Code Online (Sandbox Code Playgroud) 重要编辑:我刚刚意识到,在以前的版本中,该应用程序用于在顶部角落显示图标但现在不在此新版本中.为什么发生这样的资产目录是相同的!我认为资产一定存在问题,但我知道资产本身并不存在.
我有一个应用程序正在抛出一个线程1 EXC_BAD_INSTRUCTION(代码= EXC_I386_INVOP,子代码= 0x0),但根本没有在控制台中打印任何内容.以下是突出显示的代码行:
var examples:[String: UIImage] = ["A": #imageLiteral(resourceName: "b"), "C" : #imageLiteral(resourceName: "d"), "E": #imageLiteral(resourceName: "f"), "G": #imageLiteral(resourceName: "H"), "I": #imageLiteral(resourceName: "j")]
Run Code Online (Sandbox Code Playgroud)
在这里,我只是声明一个包含与UIImages相对应的字符串的数组.这些UIImages位于我的资源文件夹中,我仔细检查过它们是否存在于名为"cover"的子文件夹的assets文件夹中.此外,当输入他们的名字时,Xcode会建议他们的名字并显示uiimage的样子,所以我知道它肯定存在.因此我不知道问题是什么.
我已经在该行之前和之后完成了断点,并确定它发生在该行上.此外,当我更改图像以显示不在资源文件夹中的UIImages时,我在项目中使用assets文件夹中的图像的另一行上获得相同的异常(因此可能与资产文件夹有关).
其他说明:没有控制台输出(我在其他地方打印,所以我知道控制台正在工作)当它崩溃时,我正在与使用github的人合作,并在我的合作伙伴的最后一次提交之前(这对班级没有任何改变)这是错误的)它工作(我不知道为什么它停止工作),我正在使用Xcode 8 beta 6
以下是我所看到的一些图像:
当然,在控制台中没有任何东西,但是(lldb)和我在应用程序启动时打印的一些内容.
编辑:我重新安装了Xcode 8 beta 6并下载了一个非github连接版本的应用程序并试图运行它但仍然没有任何结果.我已多次清理项目了.试图做一些聪明的断点,但一无所获.
编辑2:我已经下载了Xcode 8,尝试清除派生数据文件夹,尝试将派生数据文件夹链接到我桌面上的文件夹,但链接到git的本地项目文件中的文件夹给了我数百个警告,仍然什么都行不通