gpt4 book ai didi

Facebook-iOS-SDK:如何正确构建框架并将其添加到项目中?

转载 作者:行者123 更新时间:2023-12-02 22:15:37 26 4
gpt4 key购买 nike

我为 iPad 开发了一个应用程序。

现在,我在iPad-5.1模拟器上测试应用程序。

由于我的不高兴,应用程序失败了。

1) 我使用FacebookSDK 3.0
2) 将FacebookSDK编译成框架FBiOSSDK
3) 添加框架FBiOSSDK到项目
4) 查看Linker日志
5) i386架构 undefined symbol : “_sqlite3_open_v2”和多对“_sqlite3_*”符号。

也许我在将 facebook-sdk 项目构建到框架时设置了错误的选项?

有人可以帮忙吗?

经过搜索,我找到了解决方案:

“添加到项目libsqlite3.0.dylib”

但是Linker说: “忽略文件/path/libsqlite3.dylib,文件中缺少所需的架构 i386”

-- 主要问题--

一个小时后,我发现我以错误的方式链接框架。

脚本在本地目录中创建它(而不是在System/Library/FrameworksLibrary/Frameworks中)。

添加后,框架搜索路径更改为非默认值。

如何正确构建框架?

谢谢!

最佳答案

所以,经过很长一段时间,我做了这样的事情来使这个 FacebookSDK 工作:

1)首先,我删除FacebookSDK框架的构建(rm -rf)并运行构建框架的脚本(build_framework.sh)

2)之后,我添加到项目(项目 -> 构建阶段 -> 将二进制文件与库链接)FacebookSDK .framework(来自本地目录,使用按钮添加其他)和libsqlite3。 0dyliblibsqlite3.dylib (只需在搜索字段中搜索即可!)

0) 或 3) 然后我做了这个:找到目录 ~/Library/Developer/Xcode/DerivedData 并删除所有内容由此。 (使用命令rm -rf dir_name/*)

您可以从步骤 3) 开始执行此操作,我也将其命名为步骤 0)。

这里我提供一个脚本,可以帮助你

#!/usr/bin/perl
my $pathToCacheDirectory = qq(~/Library/Developer/Xcode/DerivedData/);

sub TaskToDo{
my ($refToArgv)=@_;
die "can't work with too much parameters" unless(scalar(@$refToArgv)==1);
my $what = shift @$refToArgv;
my $time = 30; #wait 30 seconds in each iteration
my $workRef = sub{
print "i will delete: ";
print qx(ls $pathToCacheDirectory);
qx(rm -rf $pathToCacheDirectory);
};
#view help
if ($what eq 'help'){
print qx(perldoc -t $0);
}
#list directory
if ($what eq 'watch'){
print qx(ls $pathToCacheDirectory);
}
#kill files instantly
if ($what eq 'now'){
print 'kill now'.qq(\n);
$workRef->();
print 'see result'.qq(\n);
print qx(ls $pathToCacheDirectory);
}
#switch on watcher
if ($what eq 'work'){
for(;;){
#in INF loop
for my $s(0..4){
#print "this is <<$_>>\n";
print "time remaining: ".(5-$s)*$time." sec \n";
sleep($time);
}
$workRef->();
sleep(10);
}
}
}

TaskToDo(\@ARGV);



__END__

=head1 DESCRIPTION

This script clear directory with cache from Xcode

-- 'help' will show this log

-- 'work' will run script as observer and killer

-- 'watch' will show info about directory with cache

-- 'now' will kill all instantly

Example: perl scriptName.pl help

=cut

关于Facebook-iOS-SDK:如何正确构建框架并将其添加到项目中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11686252/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com