可选(错误域= ContentBlockerErrorDomain代码= 1"(null)")

时间:2015-10-28 09:25:24

标签: swift2 safari-extension safari-content-blocker

使用SFContentBlockerManager.reloadContentBlockerWithIdentifie加载json文件时出现以下错误

可选(错误域= ContentBlockerErrorDomain代码= 1"(null)")

// This is my code to get attachment 

let documentDirectoryURL = try! NSFileManager.defaultManager().URLForDirectory(.DocumentDirectory, inDomain: .UserDomainMask, appropriateForURL: nil, create: true)
let jsonFileUrl =  documentDirectoryURL.URLByAppendingPathComponent("phantom.json")
let data = NSData(contentsOfURL: jsonFileUrl)
let attachment = NSItemProvider(item: data,typeIdentifier: kUTTypeJSON as String)
let item = NSExtensionItem()
item.attachments = [attachment]
context.completeRequestReturningItems([item], completionHandler: nil);

// Following code for SFContentBlockerManager
try! SFContentBlockerManager.reloadContentBlockerWithIdentifier("\(NSBundle.mainBundle().bundleIdentifier).PhantomBlocker", completionHandler: {(error) in print(error)})

2 个答案:

答案 0 :(得分:1)

我在运行其中一个开源项目时面临同样的问题,而不是在经常尝试后我知道应用程序正在使用“Bundle Identifier”,所以我在代码中使用它并开始运行。

答案 1 :(得分:0)

我猜您可能在json文件中犯了错误。如果json文件中出现任何类型的错误,Xcode会抛出此错误。有些网站可以验证您的文件。这可以帮助您解决问题。

例如:

  1. http://jsonlint.com
  2. https://jsonformatter.curiousconcept.com