事情是这样的,之前委托第三方开发了一个 iOS App ,使用了第四方的库。第四方库依赖 libstdc++
众所周知,xcode 10 以后,需要迁移到 libc++了。但是第四方库已死,不再维护,当然也不会针对 libc++重新编译。
开始是用网上找到的把 xcode 9 的 libstdc++.dylib 放到 xcode 后续版本上继续凑合用的方式,撑过了 xcode 10 、11 、12 。到 Xcode 13 这个方法不行了。
然后又想了一招,通过从网上下载 support 文件的方式,苟延残喘到 iOS 15 。到 iOS 16 ,这个方法好像又不行了。
网上搜了一下,似乎以上两个方法也不是完全不行,可能我打开方式不对。
求助 iOS 高手,该怎么整,考虑有偿咨询。别建议我们重新开发,因为已经在重新开发了(换了一个第四方库),但是周期太长了
1
oxromantic 2023-09-25 19:34:44 +08:00
把你们现在的 iOS 开发全开除了换一批新的就搞定
|
2
Ricepig OP @oxromantic 朋友,希望提供一些可行的建议
|
3
felixlong 2023-09-25 20:48:39 +08:00 1
@Ricepig iOS App 应该都是 Static Library 吧?可不可以直接强制 Link 到 libc++?
|
5
32uKHwVJ179qCmPj 2023-09-25 21:57:39 +08:00
只要 iOS 16 系统内包含 libstdc++.dylib 那就没问题,自己弄个 tbd 或者用旧的 tbd 试试
|
6
datou 2023-09-26 00:15:48 +08:00
iOS17 都发布了还在研究适配 iOS16 吗?
|
7
liuidetmks 2023-09-26 08:36:43 +08:00
不如付费让第三方,更新。
|
8
653513754 2023-09-26 09:21:26 +08:00
尝试用 otool 修改四方库里面的依赖库,直接删除 libstdc++ 或者替换成 libc++
|
9
Ricepig OP @7v9TEc53 编译就过不去,第四方库的.h 文件包含了 libstdc++头文件的引用,加上吧,又和 libc++头文件冲突
|
11
Ricepig OP @liuidetmks 第三方这个产品线砍掉了,估计开发都裁掉了
|
13
liuidetmks 2023-09-26 09:35:04 +08:00
@Ricepig 开发被柴了,代码应该还在,能不能找个认识的人,修改下就行了 (花些钱
|
15
linKnowEasy 2023-09-26 10:19:44 +08:00
提供一个思路. 如果是 github 上面的. 可以看看能不能找到 fork 的人有没有继续更新
|
16
c2const 2023-09-26 10:54:10 +08:00
libstdc++、libc++、ios 新版本,坑不小。这坑想彻底解决,还是得重写,周期长就加人 :(
|
17
32uKHwVJ179qCmPj 2023-09-26 11:29:53 +08:00
@Ricepig 头文件冲突是最简单的
|
18
LLaMA2 2023-09-26 18:54:11 +08:00
关键的问题,所以,你说的第四方库到底叫什么,这才是问题的关键啊。
|
19
Wander11 2023-09-26 22:44:12 +08:00
为啥要一直升级 Xcode ?一直需要使用新的特性吗?不升级 Xcode 和系统应该就可因解决编译问题
|