我正努力为我的公司做好这件事:https://developers.facebook.com/docs/tutorials/mobile-app-ads/
我用这里的说明把它输入到我们的应用程序:https://developers.facebook.com/docs/getting-started/facebook-sdk-for-ios/3.1/
从我最初试图集成和获取数据的尝试来看,这似乎只适用于iOS 6。当我为iOS 6模拟器运行应用程序时,它运行得很好,但是对于运行iOS 5的实际设备,它在链接期间失败了:
ld:找不到社会的框架
这个FB功能只适用于iOS 6+应用程序,这是真的吗?如果是这样的话,有没有人知道如何与FB移动广告集成,为支持iOS 4.3到iOS 6+的应用提供报告。
谢谢!
发布于 2012-11-12 02:38:17
新的SDK实际上需要6。
不确定是什么导致了错误,但是为了消除构建问题,我刚刚清理了build文件夹,从项目中删除了派生数据,并删除了&重新添加了facebook库。
然后,为了防止在iOS 6发布前的情况下,我将其添加到我的应用程序中:
+ (BOOL)isSocialFrameworkAvailable
{
static BOOL available = NO;
static dispatch_once_t onceToken;
dispatch_once(&onceToken, ^{
available = NSClassFromString(@"SLComposeViewController") != nil;
});
return available;
}
- (BOOL)application: (UIApplication *) application didFinishLaunchingWithOptions: (NSDictionary *) launchOptions
{
// [...]
if ([[self class] isSocialFrameworkAvailable]) {
[FBSettings setLoggingBehavior:[NSSet setWithObjects:
FBLoggingBehaviorFBRequests,
FBLoggingBehaviorFBURLConnections,
FBLoggingBehaviorAccessTokens,
FBLoggingBehaviorPerformanceCharacteristics,
FBLoggingBehaviorSessionStateTransitions,
nil]];
NSDate *facebookIdPublishedDate = [[NSUserDefaults standardUserDefaults] objectForKey:@"facebookIdPublishedDate"];
if (!facebookIdPublishedDate) {
[[NSUserDefaults standardUserDefaults] setObject:[NSDate date] forKey:@"facebookIdPublishedDate"];
[FBSettings publishInstall:@"XXXXXXXXXXXXXXXX"];
}
}
// [...]
}发布于 2012-11-12 19:26:57
澄清一下,Facebook iOS SDK支持OS4.3和更高版本。但是,如果您想使用iOS6,那么您需要链接3个框架:“Account”、“AdSupport”和“Social”。非常重要的是,当您链接这些框架时,您会使它们成为可选的,以避免在iOS6之前在设备上运行时出现编译错误。
因此,移动广告安装应该与版本4.3+一起工作,因为Facebook支持4.3+。
发布于 2012-11-08 23:28:36
我认为新的SDK需要iOS 5或6 --我不认为在5之前的iOS版本中使用3.1SDK的方法--关于支持5和6的详细信息,请参阅Facebook with iOS5 and iOS6,但我认为这不适用于4
https://stackoverflow.com/questions/13299474
复制相似问题