目前我正在使用 Swift 语言为我的应用程序编写 FinderSync 扩展。我的扩展需要对在端口号 40322 的本地主机上运行的服务器进行 REST 调用。根据响应,我将创建上下文菜单项。出于同样的原因,我在“FinderSync.swift” 文件中编写了以下代码
let config = URLSessionConfiguration.default
// Session Configuration
let session = URLSession(configuration: config)
// Load configuration into Session
let request_url = URL(string: "http://127.0.0.1:40322/api/get_rclick_settings_and_check_target")!
let task = session.dataTask(with: request_url, completionHandler: {
(data, response, error) in
if error != nil {
print("TAKS ERROR: \(error!.localizedDescription)")
}
else {
do {
if let json = try JSONSerialization.jsonObject(with: data!, options: .allowFragments) as? [String: Any]
{
NSLog("TASK RESPONSE: \(json)")
}
} catch {
NSLog("error in JSONSerialization")
}
}
})
task.resume()
但是给出错误的代码为 “nw_socket_connect connectx failed: [1] Operation not allowed”
但是在导入XCPlayground并将行添加为“XCPSetExecutionShouldContinueIndefinitely(continueIndefinitely: true)”之后,相同的代码正在操场上运行
我的问题是我们是否需要在应用程序或 FinderSync 扩展的“info.plist”中添加任何元素以允许扩展进行 REST 调用,或者是否有其他方法可以解决这个问题?