小编Bla*_*ade的帖子

FacebookSDK 3.0 - Apple Mach-O链接器错误

我正试图在我的一个应用程序中实现Facebook,因此遵循Hackbook上的官方Facebook教程.https://developers.facebook.com/docs/howtos/login-with-facebook-using-ios-sdk/

我按照描述实现了所有内容,但我没有收到任何错误或警告.然而,当我尝试构建应用程序时,我得到17个Mach-O链接器错误.

Undefined symbols for architecture i386:
  "_FBSessionStateChangedNotification", referenced from:
      -[ForeverMainViewController sessionStateChanged:state:error:] in ForeverMainViewController.o
  "_sqlite3_bind_double", referenced from:
      -[FBCacheIndex _updateEntryInDatabaseForKey:entry:] in FacebookSDK(FBCacheIndex.o)
      -[FBCacheIndex _writeEntryInDatabase:] in FacebookSDK(FBCacheIndex.o)
  "_sqlite3_bind_int", referenced from:
      -[FBCacheIndex _updateEntryInDatabaseForKey:entry:] in FacebookSDK(FBCacheIndex.o)
      -[FBCacheIndex _writeEntryInDatabase:] in FacebookSDK(FBCacheIndex.o)
      -[FBCacheIndex _trimDatabase] in FacebookSDK(FBCacheIndex.o)
  "_sqlite3_bind_text", referenced from:
      -[FBCacheIndex _updateEntryInDatabaseForKey:entry:] in FacebookSDK(FBCacheIndex.o)
      -[FBCacheIndex _writeEntryInDatabase:] in FacebookSDK(FBCacheIndex.o)
      -[FBCacheIndex _readEntryFromDatabase:] in FacebookSDK(FBCacheIndex.o)
      -[FBCacheIndex _removeEntryFromDatabaseForKey:] in FacebookSDK(FBCacheIndex.o)
  "_sqlite3_close", referenced from:
      ___23-[FBCacheIndex dealloc]_block_invoke_0 in FacebookSDK(FBCacheIndex.o)
  "_sqlite3_column_double", referenced from:
      -[FBCacheIndex _readEntryFromDatabase:] in FacebookSDK(FBCacheIndex.o)
  "_sqlite3_column_int", referenced from:
      -[FBCacheIndex _readEntryFromDatabase:] in …
Run Code Online (Sandbox Code Playgroud)

api xcode facebook ios

13
推荐指数
1
解决办法
1万
查看次数

应用程序在4S上工作正常,但由于SIGABRT而在3G上崩溃

当用户第一次启动应用程序时,他会弹出一个并且必须保存图像.它适用于模拟器和4S.但是当我用我的3G开始它时,一旦我选择了一张照片就会给我一个SIGABRT错误.我假设它是因为图片的大小过于挑选并因此声称所有的公羊 - 但这是相当奇怪的,因为我把它做得更小.这是代码:

- (void)viewDidLoad
{ 
    [super viewDidLoad];
    if ([[NSUserDefaults standardUserDefaults] objectForKey:@"bild"] == nil) { 
        picker = [[UIImagePickerController alloc] init];
        picker.delegate = self;
        picker.sourceType = UIImagePickerControllerSourceTypePhotoLibrary;
        [self presentModalViewController:picker animated:YES];
    }
}

- (void)imagePickerController:(UIImagePickerController *) Picker didFinishPickingMediaWithInfo:(NSDictionary *)info {
    double compressionRatio=1;
    NSData *imageData=UIImageJPEGRepresentation([info objectForKey:@"bild"],compressionRatio);
    while ([imageData length]>5000) { 
        compressionRatio=compressionRatio*0.20;
        imageData=UIImageJPEGRepresentation([info objectForKey:@"bild"],compressionRatio);
    }

    UIImage *yourUIImage;
    yourUIImage = [info objectForKey:UIImagePickerControllerOriginalImage];
    imageData = [NSKeyedArchiver archivedDataWithRootObject:yourUIImage];
    [[NSUserDefaults standardUserDefaults] setObject:imageData forKey:@"bild"];
    [[NSUserDefaults standardUserDefaults] synchronize];

    [self dismissModalViewControllerAnimated:YES];
}
Run Code Online (Sandbox Code Playgroud)

我在此行得到SIGABRT错误imageData = [NSKeyedArchiver archivedDataWithRootObject:yourUIImage];

我应该使用其他方法来调整图像大小吗?或者我应该将其保存为本地文件并在应用程序启动时检索它?(如果它是可能的)

iphone nsuserdefaults nscoding uiimagepickercontroller ios

1
推荐指数
1
解决办法
500
查看次数

当字符串包含空格时,应用程序仍然不更新数据库

慢慢地但我肯定我会发疯.在得到我的问题的解决方案和应用程序现在也接受空格后,它仍然不会将包含空格的数据添加到我的mysql数据库.这是代码:

NSString *strURL = [NSString stringWithFormat:@"http://www.bbc.com/phpFile.php?number=%@&name=%@&lastname=%@", number, firstName, lastName];
NSString *webStringURl = [strURL stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];

NSData *dataURL = [NSData dataWithContentsOfURL:[NSURL URLWithString:strURL]];
NSString *strResult = [[NSString alloc] initWithData:dataURL encoding:NSUTF8StringEncoding];

NSLog(@"%@", strResult);
NSLog(@"%@", webStringURl);
Run Code Online (Sandbox Code Playgroud)

NSLog甚至告诉我它完全符合我的要求:

ProjectX[4003:15203] http://www.bbc.com/phpFile.php?number=11166&name=Yong%20Wang%20Ding&lastname=Blamblam
Run Code Online (Sandbox Code Playgroud)

每当变量不包含空格时,它都可以工作.当我在浏览器中打开php文件并手动输入变量(带空格)时,它会将它们添加到我的数据库中.我不知道为什么它与我的应用程序完全相同(?)时拒绝工作.

mysql database spaces ios

1
推荐指数
1
解决办法
149
查看次数

当字符串包含空格时,App不会更新数据库

我遇到了一个奇怪的问题.我构建了一个mysql数据库,用户可以通过应用程序存储他的联系人.他只需点击按钮即可添加联系信息.然后,将数据添加到数据库中.

但是,当联系人的信息在其名字,姓氏或号码之间有空格时,应用程序拒绝接受数据.我没有收到错误消息或类似的东西,但我也没有得到任何确认.该记录在数据库中不存在.

我的php文件没有问题(文件肯定是正确的,我在这里检查了两次).这是我的代码:

NSString *strURL = [NSString stringWithFormat:@"http://www.abc.com/phpFile.php?number=%@&name=%@&lastname=%@", number, firstName, lastName];

NSData *dataURL = [NSData dataWithContentsOfURL:[NSURL URLWithString:strURL]];
        NSString *strResult = [[NSString alloc] initWithData:dataURL encoding:NSUTF8StringEncoding];

        NSLog(@"%@", strResult);
Run Code Online (Sandbox Code Playgroud)

mysql database space contacts ios

0
推荐指数
1
解决办法
274
查看次数