Unity RTM iOS编译错误

clone的https://github.com/AgoraIO-Community/Unity-RTM Unity RTM工程。

平台选择为iOS后报错:

Assets\AgoraEngine\Scripts\AgoraRtmSDK\RtmWrapperWindows.cs(266,14): error CS0101: The namespace ‘io.agora.rtm’ already contains a definition for ‘RtmWrapperDll’

尝试:

  1. 删除RtmWrapperWindows.cs文件;
    2.注释EditorDllRelease.cs中的RtmWrapperDll.release().

结果可以导出xcode工程。

但在xcode中编译时报错:

截屏2020-07-20下午6.10.52

ld: warning: arm64 function not 4-byte aligned: _unwind_tester from /Users/su/Desktop/ios/Libraries/libiPhone-lib.a(unwind_test_arm64.o)
Undefined symbols for architecture arm64:
“_res_9_ninit”, referenced from:
agora::commons::network::get_dns_list(bool) in AgoraRtmKit(libagora_rtm_sdk.a-arm64-master.o)
“_res_9_ndestroy”, referenced from:
agora::commons::network::get_dns_list(bool) in AgoraRtmKit(libagora_rtm_sdk.a-arm64-master.o)
“_res_9_getservers”, referenced from:
agora::commons::network::get_dns_list(bool) in AgoraRtmKit(libagora_rtm_sdk.a-arm64-master.o)
ld: symbol(s) not found for architecture arm64
clang: error: linker command failed with exit code 1 (use -v to see invocation)

请问能否帮忙解答一下?

非常感谢!

试着把完整的正确的代码复制粘贴到另外一个新建.CS文件中。再运行这个新建的.CS文件。也可能你项目同名了,吧cs文件改个名

感谢回复,新建之后还是不行,换了一台mac重新编译。

在unity中没有遇到error了,顺利导出xcode工程。

但在xcode中编译ios的app时仍然遇到上述问题:

截屏2020-07-20下午6.10.52

能否再帮忙看一下?

我看下

少个系统依赖库,你在xcode中手动导入一下

感谢回复,编译的问题已解决!

在iphone上运行时会出现crash,麻烦您再帮忙看一下:

复现条件:输入user name 点击 login按钮

直接在unity中运行同样也在这里报错:


麻烦看一下,多谢!

你去后台检查下你的appid,token之类的参数

以及频道名

您好,我检查了appid是正常的,问题只存在iOS平台,Windows,macOS,Android都是正常的。

问题定位在执行init()函数时crash:
RtmWrapperDll.init(appId, onConnectionStateChanged, onMessageReceived, onPeersOnlineStatusChanged, onRtmKitTokenDidExpire);

和token,频道名应该没关系吧?