我已经直接使用git中的代码集成到了ios应用程序VimeoNetworking中,因为我无法使用cocoapods(与其他pod兼容使用use_frameworks!)集成到某些视频的私人链接(我有一个专业人士帐户)
我能够验证和请求视频信息。返回请求并将其分配给类(VIMVideo)时,对象未正确加载。
如果我得到返回的响应,则正确返回包含30条视频信息的字典。
我已经从VimeoNetworking示例代码中检查了相同的代码,并且该代码在另一个项目中有效(使用相同的凭据,只有不同的一个使用Vimeo的pod,而另一个不使用)
如果我比较两个json响应,则它们都具有相同的数据,但顺序不同。我觉得问题出在AFNetworking(3.1.0)使用的反序列化
let authenticationController = AuthenticationController(client: VimeoClient.defaultClient, appConfiguration: AppConfiguration.defaultConfiguration, configureSessionManagerBlock: nil)
authenticationController.accessToken(token:tkn) { result in
switch result
{
case .success(let account):
print("authenticated successfully: \(account)")
break;
case .failure(let error):
print("failure authenticating: \(error)")
}
}
let requestdir: Request<VIMVideo> = Request<VIMVideo>(path: "/videos/XXXXXXXX")
let _ = VimeoClient.defaultClient.request(requestdir) { [weak self] result in
switch result
{
case .success(let response):
//Here videodir have not value, but
var videodir: VIMVideo! = response.model
case .failure(let error):
let title = "Video Request Failed"
let message = "\(requestdir.path) could not be loaded: \(error.localizedDescription)"
let alert = UIAlertController(title: title, message: message, preferredStyle: .alert)
let action = UIAlertAction(title: "OK", style: .default, handler: nil)
alert.addAction(action)
strongSelf.present(alert, animated: true, completion: nil)
}
}
控制台捕获(1)
def shared_pods
pod 'AFNetworking', '3.1.0'
pod 'SwiftLint', '0.25.1'
pod 'VimeoNetworking', :path => '../VimeoNetworking'
end
target 'LibroDig' do
pod 'RestKit', '~> 0.27.3'
pod 'JSONModel'
pod 'SDWebImage', '~>3.8'
pod 'AFNetworking', '3.1.0'
end
我希望VIMVideo正确加载所有属性。我找不到这两种实现之间的区别。
预先感谢
答案 0 :(得分:0)
如果其他所有条件都相同,则可能会因选择不使用use_frameworks!
而遇到问题。
例如,当我将其从VimeoNetworking
示例项目中使用的Podfile中删除时,会看到以下警告:
Swift窗格VimeoNetworking-iOS
依赖于AFNetworking-iOS
,后者未定义模块。要选择生成模块映射的目标(在将其作为静态库构建时从Swift导入它们是必需的),可以在Podfile中全局设置use_modular_headers!
,或为特定依赖项指定:modular_headers => true
。
This article explains对use_modular_headers!
的需求,并提到了与Objective-C的互操作性。 VimeoNetworking
依赖于Objective-C中定义的模型类,我想知道映射到这些模型是否受到影响。