一直在研究这个没有成功.我有一个函数,UIButton仅用于执行对使用所有JSON的rails api的alamofire调用.
我正在使用Swift 2,Alamofire 3,XCode 7和Rails 4为我的api部署到Heroku
当我关闭该功能时,我不断收到此错误:
alamofire.error Code = -6006"JSON无法序列化.输入数据为零或零长度.
这是我的代码:
@IBAction func Save(sender: AnyObject) {
let postsEndpoint: String = "https://APIURL"
let parameters = [
"users": [
"name": "James McHarty",
"avatar": "Some binary data",
"post": [
"title": "First Test Post",
"body": "This is the first test post for the API",
"liked": "8", //will make INT later
"img": "more binary data"
]
]
]
Alamofire.request(.POST, postsEndpoint, parameters: parameters, encoding: .JSON)
.responseJSON { response in
guard response.result.error == …Run Code Online (Sandbox Code Playgroud) 任何人都知道如何在Swift中使用NSURLRequest配置HTTP标头?我在我的服务器上设置了身份验证,它只需要传递给它的令牌,但我在设置标头时遇到问题
我的代码:
func getLatestData() {
var loggedInUsersNumber:String = SharingManager.sharedInstance.userID
var usersDataPoint:String = StormDataPoint + loggedInUsersNumber
activityIND.hidden = false
activityIND.startAnimating()
let request = NSURLRequest(URL: NSURL(string: usersDataPoint)!)
let tokenString = SharingManager.sharedInstance.authToken
//request.setValue("Token " + tokenString, forKey: "Authorization")
let urlSession = NSURLSession.sharedSession()
let task = urlSession.dataTaskWithRequest(request, completionHandler: {
(data, response, error) -> Void in
if let error = error {
print(error)
return }
Run Code Online (Sandbox Code Playgroud)
我创建了一个属性"tokenString"作为传递到标题的标记,并在我评论它的下一行.request.setvalue - 我弹出它并得到"无法覆盖数据类型"的错误.我的所有搜索都显示了Objective C的帮助.有没有更好的方法来尝试传递标头?
经过几个小时的麻烦尝试在常规脚本和rails应用程序中安装twill-ruby gem后,我来到了专业人士.
我得到的错误是"在Gemfile中:twilio-ruby被解析为5.2.0,这取决于libxml-ruby"
我尝试将libxml gem安装到我的gem文件中,并且错误"Gem :: Ext :: BuildError:ERROR:无法构建gem本机扩展".然后在底部显示"安装libxml-ruby(3.0.0)时发生错误,Bundler无法继续.请确保gem install libxml-ruby -v '3.0.0'在捆绑之前成功."
我使用的rails版本是4.2.4,我的操作系统是MACOS Sierra.当我尝试使用twilio gem捆绑安装时的整个输出如下.我已经在Stack上阅读了一些文章但到目前为止没有任何帮助:
Gem::Ext::BuildError: ERROR: Failed to build gem native extension.
current directory: /Users/jameshart/.rvm/gems/ruby-2.3.0/gems/libxml-ruby-3.0.0/ext/libxml
/Users/jameshart/.rvm/rubies/ruby-2.3.0/bin/ruby -r ./siteconf20170829-79771-thonjl.rb extconf.rb
checking for libxml/xmlversion.h in
/opt/include/libxml2,/opt/local/include/libxml2,/usr/local/include/libxml2,/usr/include/libxml2... no
*** extconf.rb failed ***
Could not create Makefile due to some reason, probably lack of necessary
libraries and/or headers. Check the mkmf.log file for more details. You may
need configuration options.
Provided configuration options:
--with-opt-dir
--with-opt-include
--without-opt-include=${opt-dir}/include
--with-opt-lib
--without-opt-lib=${opt-dir}/lib
--with-make-prog
--without-make-prog …Run Code Online (Sandbox Code Playgroud)