Ios &引用;致命错误:在展开可选值“0”时意外发现“0”将图像发布到FaceBook
我收到这个信息: 致命错误:在展开可选值时意外发现nil 我意识到这是一个常见的错误,这里有许多线程与它的可能来源有关。我只是不知道为什么会收到错误消息 当我按下“FaceBook共享”按钮时,就会出现这个错误——该按钮会在应用程序中截图并将其发布到FaceBook。这是我的代码:Ios &引用;致命错误:在展开可选值“0”时意外发现“0”将图像发布到FaceBook,ios,swift,facebook,image,runtime-error,Ios,Swift,Facebook,Image,Runtime Error,我收到这个信息: 致命错误:在展开可选值时意外发现nil 我意识到这是一个常见的错误,这里有许多线程与它的可能来源有关。我只是不知道为什么会收到错误消息 当我按下“FaceBook共享”按钮时,就会出现这个错误——该按钮会在应用程序中截图并将其发布到FaceBook。这是我的代码: import UIKit import MessageUI import Social class ViewController: UIViewController, MFMailComposeViewContro
import UIKit
import MessageUI
import Social
class ViewController: UIViewController, MFMailComposeViewControllerDelegate, MFMessageComposeViewControllerDelegate {
@IBAction func shareToFB(sender: AnyObject) {
// Declare the snapshot boundaries
let top: CGFloat = 70
let bottom: CGFloat = 100
// The size of the cropped image
let size = CGSize(width: view.frame.size.width, height: view.frame.size.height - top - bottom)
// Start the context
UIGraphicsBeginImageContextWithOptions(size,true,0.0)
// use context
let context = UIGraphicsGetCurrentContext()!
// Transform the context
CGContextTranslateCTM(context, 0, -top)
// Draw the view into the context (the snapshot)
view.layer.renderInContext(context)
let snapshot = UIGraphicsGetImageFromCurrentImageContext()
// End the context
UIGraphicsEndImageContext()
let composeSheetFB = SLComposeViewController(forServiceType: SLServiceTypeFacebook)
composeSheetFB.addImage(snapshot)
self.presentViewController(composeSheetFB, animated: true, completion: nil)
}
我有相同的代码在推特上分享被裁剪的图片,它工作正常,没有任何错误——在推特和FaceBook之间有明显的参考变化
如果有人能让我知道我做错了什么,我将不胜感激。谢谢 根据Apple文档,您只能在
UIView()
中的drawRect()
函数内调用UIGraphicsGetCurrentContext()
,否则它返回nil,强制展开会抛出错误。否则,您需要首先使用UIGraphicsPushContext()
希望这能有所帮助
编辑:
这里也有人问:哪一行会崩溃?我相信是这一行:
let context=UIGraphicsGetCurrentContext()代码>谢谢。我来看看那些参考资料。看起来很奇怪,我的电子邮件、短信、推特和其他共享都使用了相同的代码,并且没有错误,但是当涉及到FaceBook共享时,它会出现致命错误?