求助遗留(Legacy)App 的编译问题(iOS)

275 天前
 Ricepig

事情是这样的,之前委托第三方开发了一个 iOS App ,使用了第四方的库。第四方库依赖 libstdc++

众所周知,xcode 10 以后,需要迁移到 libc++了。但是第四方库已死,不再维护,当然也不会针对 libc++重新编译。

开始是用网上找到的把 xcode 9 的 libstdc++.dylib 放到 xcode 后续版本上继续凑合用的方式,撑过了 xcode 10 、11 、12 。到 Xcode 13 这个方法不行了。

然后又想了一招,通过从网上下载 support 文件的方式,苟延残喘到 iOS 15 。到 iOS 16 ,这个方法好像又不行了。

网上搜了一下,似乎以上两个方法也不是完全不行,可能我打开方式不对。

求助 iOS 高手,该怎么整,考虑有偿咨询。别建议我们重新开发,因为已经在重新开发了(换了一个第四方库),但是周期太长了

1677 次点击
所在节点    程序员
19 条回复
oxromantic
275 天前
把你们现在的 iOS 开发全开除了换一批新的就搞定
Ricepig
275 天前
@oxromantic 朋友,希望提供一些可行的建议
felixlong
275 天前
@Ricepig iOS App 应该都是 Static Library 吧?可不可以直接强制 Link 到 libc++?
Ricepig
275 天前
@felixlong 似乎是有 dylib 的,静态链接上去会报一坨符号冲突。
7v9TEc53
275 天前
只要 iOS 16 系统内包含 libstdc++.dylib 那就没问题,自己弄个 tbd 或者用旧的 tbd 试试
datou
275 天前
iOS17 都发布了还在研究适配 iOS16 吗?
liuidetmks
274 天前
不如付费让第三方,更新。
653513754
274 天前
尝试用 otool 修改四方库里面的依赖库,直接删除 libstdc++ 或者替换成 libc++
Ricepig
274 天前
@7v9TEc53 编译就过不去,第四方库的.h 文件包含了 libstdc++头文件的引用,加上吧,又和 libc++头文件冲突
Ricepig
274 天前
@datou ios17 同样的问题啊
Ricepig
274 天前
@liuidetmks 第三方这个产品线砍掉了,估计开发都裁掉了
Ricepig
274 天前
@653513754 直接不用代码重新编译,可以替换到 libc++?
liuidetmks
274 天前
@Ricepig 开发被柴了,代码应该还在,能不能找个认识的人,修改下就行了 (花些钱
653513754
274 天前
@Ricepig 嗯,没有试,理论上没有什么问题
linKnowEasy
274 天前
提供一个思路. 如果是 github 上面的. 可以看看能不能找到 fork 的人有没有继续更新
c2const
274 天前
libstdc++、libc++、ios 新版本,坑不小。这坑想彻底解决,还是得重写,周期长就加人 :(
7v9TEc53
274 天前
@Ricepig 头文件冲突是最简单的
LLaMA2
274 天前
关键的问题,所以,你说的第四方库到底叫什么,这才是问题的关键啊。
Wander11
274 天前
为啥要一直升级 Xcode ?一直需要使用新的特性吗?不升级 Xcode 和系统应该就可因解决编译问题

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/977065

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX