Alamofire对此提出错误

时间:2016-12-07 11:05:02

标签: ios swift alamofire

我正在尝试使用下面的

从appstore获取我的appversion
func checkfornewVersionofApp () {

    let appId = NSBundle.mainBundle().infoDictionary!["CFBundleIdentifier"]
    let appIdString = appId as! String

    let theitunesUrl  = "http://itunes.apple.com/en/lookup?bundleId=" + appIdString           

    Alamofire.request(.GET, theitunesUrl, parameters: nil).responseJSON { response in    
        switch response.result {
            case .Success(let JSON):
                print("success with json : \(JSON)") 
                break
            case .Failure(let error):
                print("some error occured : \(error.localizedDescription)")
                break
        }
    }
}

它始终转到error并提供以下内容

  

无法完成操作。 JSON无法序列化。   输入数据为零或零长度

是什么原因。我们的帮助。

1 个答案:

答案 0 :(得分:4)

您的网址存在问题。请检查此链接Link for iTunes API

更改您的代码

let theitunesUrl = "http://itunes.apple.com/lookup?bundleId=" + appIdString

#Start-Process -FilePath "C:\Windows\system32\msiexec.exe" -ArgumentList "/i", `"$MSIDirectoryPathAndFolderName`", "/qn", "/l*v", "`"L:\Log\InstallLog.log`"", "SQLSERVER=`"XXXXXX`"", "DBAUTOBACKUP=`"0`"", "APPPOOLDOMAIN=`"XXXXX`"", "APPPOOLUSER=`"XXX_XXXX`"", "APPPOOLPASSWD=`"XXXX`"", "ADQUERY=`"XXX-XXXX.com`"", "ADDLOCAL=`"AirportMap`"" -NoNewWindow -Wait

此外,您可以将国家/地区参数添加到查询中,以获取特定国家/地区App Store的结果。

例如:

  

http://itunes.apple.com/lookup?bundleId=com.yelp.yelpiphone&country=de

不同App Store国家/地区之间的说明,用户评分和其他字段可能会发生变化。