Perspective
Perspective copied to clipboard
Xcode 10 beta 趟坑
Xcode | macOS |
---|---|
10 beta 2 | 10.14 beta 2 |
$(TeamIdentifierPrefix)
- Xcode 10 已知 Bug,无法自动替换。
Workaround
- 可以手动将 entitlements 文件的
Pass Type ID
值设置为 mobileversion 文件中com.apple.developer.pass-type-identifiers
对应值。
libstdc++
- Xcode 10 取消了内置支持的 libstdc++ 库,需等待某些第三方 SDK 修复。
Workaround
- 手动将 Xcode 9(
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/usr/lib
)中的库libstdc++.6.tbd
&libstdc++.6.0.9.tbd
复制到 Xcode 10(/Applications/Xcode-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/usr/lib
)。
SWIFT_UNAVALIABLE
- 在 Obj-C 中调用 Swift 子类的 Obj-C 父类的构造器,提示 Unavaliable,由 Xcode 生成的
*-Swift.h
会将方法标记为SWIFT_UNAVALIABLE
。这是因为子类没有继承的构造器,将无法被调用。 - Reference:
Workaround
- 将构造器在 Swift 子类中重写(内部直接调用
super
即可),并用public
修饰。
ld: symbol(s) not found for architecture arm64
- 可以尝试仍使用传统构建系统(Legacy build system)构建,在 File-Workspace Settings 中设置;
- 但在我们的项目中,使用新旧构建系统均会出错,具体原因和解决方法未知。
致谢 趟坑前辈 :)
@HowardWang-HT 😄
Thanks!
libstdc++.6.tbd & libstdc++.6.0.9.tbd 这两个库能否提供下载连接,直接升级XCODE10了...XCODE9不在了
@HowardWang-HT @zshowing 不客气哈。另外,这篇趟坑其实略有过时(如开篇所题针对 Xcode 10 beta 2),如果有其他问题欢迎探讨。
@songhongkang 幸好非常及时,我正在自己的 Mac 上更新 Xcode 10,不过迫于网速,还没有更完。你可以下载下面的文件,来尝试:
@HowardWang-HT @zshowing 不客气哈。另外,这篇趟坑其实略有过时(如开篇所题针对 Xcode 10 beta 2),如果有其他问题欢迎探讨。
@songhongkang 幸好非常及时,我正在自己的 Mac 上更新 Xcode 10,不过迫于网速,还没有更完。你可以下载下面的文件,来尝试:
压缩文件中没有libstdc++.6.tbd这个文件,在压缩一下吧
不错哈
@wangjinyang 这个是因为 libstdc++.6.tbd 是 libstdc++.6.0.9.tbd 类似快捷方式的 Reference(可以右键 Make Alias),所以无法压缩哈。
@choiceyou 感谢您的鼓励哈😊。
@kingcos 打扰了, 请教一下, 我们在使用 Xcode 10 正式版的时候 $(TeamIdentifierPrefix) 依然有问题. 目前是手写写死解决的. 麻烦请教您这边是否可以呢? 谢谢.
@hanyx1992 如果没记错的话,应该在 beta 6 之后的时候就已经不存在这个问题了。您要不在不同机器上试一下?或者更改完 Clean 重新 Build 等操作尝试一下呢?
@hanyx1992 如果没记错的话,应该在 beta 6 之后的时候就已经不存在这个问题了。您要不在不同机器上试一下?或者更改完 Clean 重新 Build 等操作尝试一下呢?
感谢回复. 以为是 Xcode 10 的 Bug, 发现是配置的有问题. 谢谢.
@hanyx1992 不客气,解决就好😊