我使用的是Unity2019.3.2f1,在将UnityAds更新到3.4.4之后,出现了一些错误。
duplicate symbol '_NetworkChange' in:
/Users/Desktop/UnityAdsTest/ios/Libraries/libiPhone-lib.a(SSRVConnectivityMonitor.o)
/Users/Desktop/UnityAdsTest/ios/Frameworks/Plugins/iOS/UnityAds.framework/UnityAds(UnityAds)
duplicate symbol '_kChinaIsoAlpha2Code' in:
/Users/Desktop/UnityAdsTest/ios/Libraries/libiPhone-lib.a(SSRVSdkProperties.o)
/Users/Desktop/UnityAdsTest/ios/Frameworks/Plugins/iOS/UnityAds.framework/UnityAds(UnityAds)
duplicate symbol '_kChinaIsoAlpha3Code' in:
/Users/Desktop/UnityAdsTest/ios/Libraries/libiPhone-lib.a(SSRVSdkProperties.o)
/Users/Desktop/UnityAdsTest/ios/Frameworks/Plugins/iOS/UnityAds.framework/UnityAds(UnityAds)
ld: 3 duplicate symbols for architecture arm64我已经尝试创建了新的项目,问题仍然存在。重复方法:
中运行
我不启用UnityAds服务器,也不启用XCode中的一个UnityAds.framework文件。看起来有些内容被打包到libiPhone-lib.a中。
有没有人遇到过同样的问题?
发布于 2020-04-27 09:56:59
我通过从UnityAds.framework中删除3个符号来解决这个问题:
首先,把折叠的3行写成"sym_need_remove.txt“
_NetworkChange
_kChinaIsoAlpha2Code
_kChinaIsoAlpha3Code然后,提取库并移除这3个符号。
cd UnityAds.framework
lipo UnityAds -thin arm64 -output UnityAds-64.a
strip -u -S -R sym_need_remove.txt UnityAds-64.a如果需要同时支持armv7和arm64,还需要:
lipo UnityAds -thin armv7 -output UnityAds-v7.a
strip -u -S -R sym_need_remove.txt UnityAds-v7.a
lipo -create UnityAds-64.a UnityAds-v7.a -output UnityAdsStrip.a最后,将UnityAds-64.a或UnityAdsStrip.a替换回UnityAds.framework/UnityAds
会起作用的。
我希望这能帮上忙~
https://stackoverflow.com/questions/61359158
复制相似问题