sim*_*sid 1 xcode facebook-ios-sdk cocoapods
我被要求重建使用Facebook-IOS-SDK的现有IOS应用程序。该应用程序至少已使用5年,所以我希望一切都已弃用。我在XCode和IOS方面的经验有限,但距离专家还很远。直到今天我从未使用过鳕鱼。我安装了cocoapods,并运行了pod init。没有错误地加载了Facebook-IOS-SDK版本3.24.4(其他吊舱,包括Bolt,也没有错误)。
我已经阅读了FB开发页面上有关版本的迁移说明,这暗示我应该能够使用3.24。当我进行干净的构建时,出现错误:
(FBRequest *)requestForUpdateOpenGraphObject(id<FBOpenGraphObject>)object
{
return [FBRequest requestForUpdateOpenGraphObjectWithId:object[@"id"] graphObject:object];
}
Expected method to read dictionary element not found on object of type 'id<FBOpenGraphObject>'
Run Code Online (Sandbox Code Playgroud)
此错误在cocoapod代码FBRequest.m中,而不在我的客户代码中。此代码被标记为只读。如果这是正确的Pod版本,但我无法更改它,那么(大型)项目中是否还有其他需要更新的依赖项?
Podfile:
# Uncomment this line to define a global platform for your project
platform :ios, "9.0"
target "tbd" do
pod 'IQKeyboardManager'
pod 'UICKeyChainStore'
pod 'CocoaLumberjack', '~> 2.0.0-beta'
pod 'SDURLCache'
pod 'HockeySDK'
pod 'Facebook-iOS-SDK', '~> 3.23'
pod 'GoogleAnalytics-iOS-SDK'
pod 'UIActionSheet-Blocks', '~> 1.0'
end
target "tbdTests" do
end
Run Code Online (Sandbox Code Playgroud)
小智 5
我发现的唯一讨厌的解决方案是手动更改FBRequest.m中的代码。
将第370行更改为:
return [FBRequest requestForUpdateOpenGraphObjectWithId:object[@"id"] graphObject:object];
Run Code Online (Sandbox Code Playgroud)
至
return [FBRequest requestForUpdateOpenGraphObjectWithId:object.objectID graphObject:object];
Run Code Online (Sandbox Code Playgroud)
这应该使您的项目再次运行。
再次,这不是一个很好的解决方案,但是它可以工作:) Emilio
| 归档时间: |
|
| 查看次数: |
258 次 |
| 最近记录: |