我尝试在Delphi Rio中编译一个在Delphi tokyo下工作正常的项目。我不能,因为我总是有这个错误:
ld: framework not found Bolts for architecture armv7
但是在我正确设置的全局delphi库路径中:
C:\lib\ios\facebook\Bolts.framework
这是位于Bolts框架的路径:
C:\lib\ios\facebook\Bolts.framework\Headers\...
C:\lib\ios\facebook\Bolts.framework\Modules\...
C:\lib\ios\facebook\Bolts.framework\Info.plist
C:\lib\ios\facebook\Bolts.framework\Bolts
我错过了什么 ?
注意:如果我在全局PlateformSDKs目录中移动C:\lib\ios\facebook\Bolts.framework\
目录,那么它可以工作。
我找到了出路:
如果我有
C:\Dev\Alcinoe\lib\ios\facebook\Bolts.framework
C:\Dev\Alcinoe\lib\ios\facebook\FBSDKCoreKit.framework
C:\Dev\Alcinoe\lib\ios\facebook\FBSDKLoginKit.framework
C:\Dev\Alcinoe\lib\ios\facebook\FBSDKShareKit.framework
我必须在搜索路径中添加所有那些目录,并在项目选项框架路径中添加ROOT路径
C:\Dev\Alcinoe\lib\ios\facebook\
然后它的工作!我还有一个警告
ld:警告:在C:\ Dev \ Alcinoe \ lib \ ios \ facebook / Bolts.framework /中自动链接提供的'C:\ Dev \ Alcinoe \ lib \ ios \ facebook / Bolts.framework / Bolts',框架链接器选项螺栓不是dylib
但它的工作
我用这种方式包含Facebook SDK:
1)将所有FBSDK框架复制到活动SDK中。对于iOS 12.1,它是:D:\Documents\Embarcadero\Studio\SDKs\iPhoneOS12.1.sdk\System\Library\Frameworks
2)告诉Delphi链接器包含SDK。
在Project Options > Building > Delphi Compiler > Linking > Options passed to the LD linker
下,添加以下行:
-ObjC -lz -framework FBSDKCoreKit -weak_framework Bolts