Swift3 iOS 10请求授权
我不知道这段代码出了什么问题,它总是告诉我这样一件事:Swift3 iOS 10请求授权,swift3,ios10,mpmedialibrary,Swift3,Ios10,Mpmedialibrary,我不知道这段代码出了什么问题,它总是告诉我这样一件事:致命错误:在展开可选值时意外发现nil 当我尝试访问mpmediabrary时,我得到了这样的信息,代码如下: if (MPMediaLibrary.authorizationStatus() == MPMediaLibraryAuthorizationStatus.notDetermined) { // Access has not been determined. MPMediaLibra
致命错误:在展开可选值时意外发现nil
当我尝试访问mpmediabrary
时,我得到了这样的信息,代码如下:
if (MPMediaLibrary.authorizationStatus() == MPMediaLibraryAuthorizationStatus.notDetermined) {
// Access has not been determined.
MPMediaLibrary.requestAuthorization({ (status: MPMediaLibraryAuthorizationStatus) in
if (status == MPMediaLibraryAuthorizationStatus.authorized) {
let albumsQuery: MPMediaQuery = MPMediaQuery.albums()
let albumItems: [MPMediaItemCollection] = self.albumsQuery.collections! as [MPMediaItemCollection]
}
})
}
测试选项,而不是强制打开它们。@Phillip Mills我不懂,我的英语是一周,我是swift新手:)学习swift选项。你真的需要理解他们才能使用语言。对于您的情况,当您使用
时你是说你保证变量是非零的。如果你违背了承诺,你的应用程序会因你提到的消息而崩溃。当我按下“允许”按钮时,它会显示错误,但我们重新启动应用程序时,错误消失了,我使用的代码是:If(status=.authorized){//Access已被授予。让albumItems:[MPMediaItemCollection]=AlbumSkry.collections!作为[MPMediaItemCollection]如果albumItems.isEmpty==false{print(“此处为1”)}
不要使用!
。测试.collections
是否实际具有有效值。测试选项,而不是强制展开它们。@Phillip Mills我不懂,我的英语是一周,我是swift新手:)学习swift选项。使用该语言时,你真的需要理解它们。就你的情况而言,当你使用!
您是说您承诺变量为非零。如果您违反该承诺,您的应用程序将崩溃,并显示您提到的消息。当我按“允许”时,它会显示该错误,但我们重新启动应用程序时,错误消失了,我使用的代码是:If(status=.authorized){//已授予访问权限。如果albumItems.isEmpty==false{print(“此处1”)},则将albumItems:[MPMediaItemCollection]=AlbumSkry.collections!设为[MPMediaItemCollection]
不要使用!
。测试.collections
是否实际具有有效值。