baxi 6 dni temu
rodzic
commit
96ec1521d8

+ 9 - 1
native/engine/ios/FACEBOOK.md

@@ -17,12 +17,20 @@ AppDelegate 直接持有 FBWrapper 单例,无需在 service.json 再次注册
 
    若 target 改名,额外设置 `COCOS_IOS_TARGET="实际 target 名"`。
    SDK 固定为 18.1.1(CoreKit/LoginKit/ShareKit),最低 iOS 12。
-3. 打开生成工程旁的 `FacebookGame.xcworkspace`,设置签名,在 iPhone 上运行。
+3. 打开生成工程旁的 `game_2c.xcworkspace`(名称由 Podfile 的 workspace 指定),设置签名,在 iPhone 上运行。
    Creator 重新生成 Xcode 工程后,重新执行 pod install;不要只打开 xcodeproj。
 4. 在 Meta 后台增加 iOS 平台,Bundle ID 必须与实际包一致;开发模式账号须有应用角色/测试权限。
 
 当前 Windows 环境未进行 Xcode 编译、CocoaPods 安装或真机验证。
 
+## Objective-C++ 找不到 Facebook 类型
+
+FBWrapper.mm 需要同时导入 CoreKit、LoginKit、ShareKit 的普通头文件和对应的 `模块名-Swift.h`。
+SDK 中 Swift 实现的登录类、分享协议通过这些生成头文件暴露给 Objective-C++。
+若出现 `Unknown type name FBSDKLoginManager` 或找不到 `FBSDKSharingDelegate`,先确认这些导入已同步到 Mac。
+仅修改 .mm 导入后无需重新安装 Pods;在 Xcode 执行 Product → Clean Build Folder 后重新 Build。
+若报的是 `-Swift.h file not found`,则检查 Pods 安装、应用 target 和 workspace 是否匹配。
+
 ## 登录结果与后端
 
 默认使用 Limited Login,不主动请求 ATT,不开启广告追踪。

+ 1 - 1
native/engine/ios/Podfile

@@ -1,4 +1,4 @@
-source 'https://mirrors.tuna.tsinghua.edu.cn/git/CocoaPods/Specs.git'
+source 'http://mirrors.tuna.tsinghua.edu.cn/git/CocoaPods/Specs.git'
 platform :ios, '12.0'
 use_frameworks!
 

+ 3 - 0
native/engine/ios/service/FBWrapper.mm

@@ -1,7 +1,10 @@
 #import "FBWrapper.h"
 #import <FBSDKCoreKit/FBSDKCoreKit.h>
+#import <FBSDKCoreKit/FBSDKCoreKit-Swift.h>
 #import <FBSDKLoginKit/FBSDKLoginKit.h>
+#import <FBSDKLoginKit/FBSDKLoginKit-Swift.h>
 #import <FBSDKShareKit/FBSDKShareKit.h>
+#import <FBSDKShareKit/FBSDKShareKit-Swift.h>
 #import "platform/apple/JsbBridgeWrapper.h"
 #include "application/ApplicationManager.h"
 #include "application/BaseApplication.h"