[expo-modules-jsi] SDK 57 本地 iOS 版本在 Swift 6.2+ 版本上无法运行: RuntimeScheduler 构造函数中的 SWIFT_RETURNS_RETAINED
最小可复制的例子
https://GitHub.com/thiago-slb/expo-modules-jsi-swift62-repro 互联网档案馆的存檔,存档日期2014-12-22.
页:1
空白的 SDK 57 应用程序( " 创建- expo- app -- template blain " , 没有更改应用程序代码) 无法为 iOS 构建 。 expo-moules-jsi''的Runtime Scheduler.h'中有两个构件被注解为`SWIFT RETURNS Researched',Swift 6.2+拒绝:
node modules/expo-modules-jsi/apple/ sources/ExpoModulesJSI-Cxx/Including/Runtime Scheduler.h:53:26: :
错误: “ RuntimeScheduler” 无法附加 SWIFT RETURNS 已保存 或
SWIFT RETNS UNRIED 因为它没有返回 SWIFT SHED REFENCE 类型
SWIFT RETURNS 被保存的运行时定时器( void * 调度器, 调度Fn fn) 除外
节点/expo-modules-jsi/apple/ sources/ExpoModulesJSI-Cxx/Including/Runtime Scheduler.h:61:26: :
错误 : (相同)
SWIFT RETURNS 已包含运行时排行器( )
** BUILD 故障
失败阶段:`[CP-用户]建立ExpoModulesJSI x框架'。
does级搭载了"SWIFT SHARED-Refence",但只在收尾架上(90行),而附加说明的构造器则在53行和61行上. Swift 6.2+ 拒绝使用**进口-参考 ' 类型的构件**返回-保留'。
expo-modules-jsi'不是直接依赖——它通过expo-expo-expo-Modules-core-expo-modules-jsi'运出,因此,这影响到每个SDK 57项目在使用Swift 6.2+(即目前的Xcode)的机器上制造本地iOS。
- 复制步骤
平台:iOS,独立/本地建设,软件包管理器npm.
{\fn黑体\fs22\bord1\shad0\3aHBE\4aH00\fscx67\fscy66\2cHFFFFFF\3cH808080}你觉得呢? git Clone https://GitHub.com/thiago-slb/expo-modules-jsi-swift62-repro 互联网档案馆的存檔,存档日期2013-12-22. cd expo-modules-jsi-swift62-repro npm 安装 npx expo 预建 -p ios -- no- install cd ios && sock 安装 xcodebuilding - 工作空间 reprojsi.xcworkspace - scheme reprojsi \
- 配置 释放 - sdk iphoneos - 目的地 '基因/平台=iOS'
代码( I)
** 预期:** 建筑成功。
** 实际:** 与上述两个错误相符合。
已经排除了
- ** 不存在 " node modules/expo-modules-jsi/apple/Products " ;xcramework是从零开始建造的。 还转载于`rm-rf ios'后,并清除了` /图书馆/开发商/Xcode/DerivedData'。
- ** 在下一个主要部分没有固定。 ** `npm back [email protected]', diffed at 57.1.0:标题的字节完全相同,说明和后面的`SWIFT-SHARED-REFENCE'均包括在内。
- ** 非声明令。 ** 将“SWIFT SHARED REFENCE”移到类声明(保留/释放功能的前置声明)上,使标题在“clang++”下独立编译 -fslax-只使用语法 , 但是 xcramework 构建失败 。
-** 未经更新的X码固定。 ** 也转载于Xcode 26.6 / Apple Swift 6.3.3 ( " swiftlang-6.3.3.1.3 clang-2100.1.1.101 " ). 新斯威夫特更严格,而不是松散.
宏来自活动工具链中的 QQSwift/ bridging QQ, 包含 QQC INTEROP HAS ATTRIBUTE( swift attr) 真实的—— 这些是真实的属性定义, 而不是空的
. . . . . . .
内容来源: expo/expo