ios - Swift 1.2 发布方案编译时出现段错误

标签 ios swift

我刚刚升级到 Swift 1.2,当我尝试使用 Release 方案编译 iOS 应用程序时,我收到“段错误:11”。

0  swift                    0x00000001105a9a08 llvm::sys::PrintStackTrace(__sFILE*) + 40
1  swift                    0x00000001105a9ee4 SignalHandler(int) + 452
2  libsystem_platform.dylib 0x00007fff9a724f1a _sigtramp + 26
3  libsystem_platform.dylib 0x00007fff4fd6f6b0 _sigtramp + 3043272624
4  swift                    0x00000001100e837a (anonymous namespace)::DCE::markControllingTerminatorsLive(swift::SILBasicBlock*) + 346
5  swift                    0x00000001100e8109 (anonymous namespace)::DCE::markValueLive(swift::ValueBase*) + 201
6  swift                    0x00000001100e791f (anonymous namespace)::DCE::run() + 1983
7  swift                    0x000000011008f55e swift::SILPassManager::runFunctionPasses(llvm::ArrayRef<swift::SILFunctionTransform*>) + 1310
8  swift                    0x000000011008ffe9 swift::SILPassManager::runOneIteration() + 633
9  swift                    0x000000011008ea56 swift::runSILOptimizationPasses(swift::SILModule&) + 790
10 swift                    0x000000010fe92ee7 frontend_main(llvm::ArrayRef<char const*>, char const*, void*) + 4695
11 swift                    0x000000010fe91ae6 main + 1814
12 libdyld.dylib            0x00007fff995665c9 start + 1

当我使用 Dev/Debug 方案时,应用程序可以完美地编译和运行。

我已将编译器问题缩小到一个文件和几行代码。

let directPhoneType = PhoneNumber.Codes.Contacts["D"]
phoneTypes = phoneTypes.filter { $0 != directPhoneType }

我已经尝试更改过滤代码(使用“element in”等),但每次尝试仍然会导致段错误。我们的应用程序中还有其他过滤逻辑可以正常编译。

如果我删除过滤代码或将其更改为手动过滤电话类型的循环,应用程序在发布方案中运行良好。

我尝试将优化级别设置为“Fastest, Unchecked”或“Fastest”,段错误仍然出现。如果我将优化级别设置为“无”;项目构建。

这段代码在 Swift 1.2 之前的两种方案中都运行良好。

有人知道这里发生了什么吗?

更新:看起来 Xcode 6.3.1 已经修复了我的段错误问题。

最佳答案

遇到了同样的问题,但没有与您类似的代码。关闭整个模块优化(默认情况下处于关闭状态)为我解决了这个问题,这意味着我仍然能够使用最快优化设置进行归档。

关于ios - Swift 1.2 发布方案编译时出现段错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29570167/

相关文章:

ios - 在像 Twitter 这样的 UIImageView 中缩放图像

iOS NSOutputStream 在第一次签名后拆分数据

ios - 在 UIButton 上覆盖 'isSelected' 或 'isEnabled' 不起作用

ios - 为什么我的 UIView de 在删除观察者后第一次没有初始化,但之后却初始化了?

ios - GCDAsyncSocket - 如何写入可变数据?

ios - 我的 IBAction 中的 NSDictionary 变为零

ios - heightForHeaderInSection 没有被调用?

ios - AVKit 播放器 View Controller Segue 中断

iphone - 导入 Xcode 项目并访问不同项目的文件

ios - Swift Combine-多线程上的Publishers.CombineLatest