通过Swift 4中的窥视孔优化组合SIL指令

通过Swift 4中的窥视孔优化组合SIL指令,swift,xcode,swift4,xcode9,Swift,Xcode,Swift4,Xcode9,当我为应用商店归档项目时,我有一个错误 1.运行pass#317780 SILFunctionTransform“”联合SIL时 Instructions via Peephole Optimization"" on SILFunction "@_T08myapp20ItchMessageViewModelC05photoC0AA0bcE8Protocol_pfgAA04ChatbcE0C_Tg5". for getter for photoMessage at /Users/work/Desk

当我为应用商店归档项目时,我有一个错误 1.运行pass#317780 SILFunctionTransform“”联合SIL时

Instructions via Peephole Optimization"" on SILFunction "@_T08myapp20ItchMessageViewModelC05photoC0AA0bcE8Protocol_pfgAA04ChatbcE0C_Tg5".
for getter for photoMessage at /Users/work/Desktop/myappProject/myappiOS/myapp/Groups/ChatGroup/ChatFactory/Bubbles/VideoBubble/Model/ItchMessageViewModel.swift:38:16
这个代码看起来像这样

open class ItchMessageViewModel<ItchMessageModelT: ItchMessageModelProtocol>: ItchMessageViewModelProtocol {

    public var itchID: String
    public var itchName: String

    public var photoMessage: ItchMessageModelProtocol { **This is 38 line**
        return self._itchMessage
    }

    public let _itchMessage: ItchMessageModelT
    public var transferStatus: Observable<TransferStatus> = Observable(.idle)
    public var transferProgress: Observable<Double> = Observable(0)
    public var transferDirection: Observable<TransferDirection> = Observable(.download)
    public var image: Observable<UIImage?>
    open var imageSize: CGSize {
        return self.photoMessage.imageSize
    }
    public let messageViewModel: MessageViewModelProtocol
    open var showsFailedIcon: Bool {
        return self.messageViewModel.showsFailedIcon || self.transferStatus.value == .failed
    }

    public init(itchMessage: ItchMessageModelT, messageViewModel: MessageViewModelProtocol) {
        self._itchMessage = itchMessage
        self.image = Observable(itchMessage.image)
        self.messageViewModel = messageViewModel
        self.itchName = itchMessage.itchName
        self.itchID = itchMessage.itchID
    }

    open func willBeShown() {
        // Need to declare empty. Otherwise subclass code won't execute (as of Xcode 7.2)
    }

    open func wasHidden() {
        // Need to declare empty. Otherwise subclass code won't execute (as of Xcode 7.2)
    }
}
开放类ItchMessageViewModel:ItchMessageViewModelProtocol{
公共变量ID:字符串
公共变量名称:String
public-var-photoMessage:ItchMessageModelProtocol{**这是38行**
返回自我信息
}
公共let\u itchMessage:ItchMessageModelT
公共var transferStatus:可观察=可观察(.idle)
公共进度:可观察=可观察(0)
公共var传输方向:可观察=可观察(.download)
公众形象:可观察
open var imageSize:CGSize{
返回self.photoMessage.imageSize
}
public let messageViewModel:messageViewModel协议
打开var showsfailediction:Bool{
返回self.messageViewModel.showsFailedIcon | | self.transferStatus.value==。失败
}
public init(itchMessage:ItchMessageModelT、messageViewModel:MessageViewModelProtocol){
self.\u itchMessage=itchMessage
self.image=可观察(itchMessage.image)
self.messageViewModel=messageViewModel
self.itchName=itchMessage.itchName
self.itchID=itchMessage.itchID
}
open func willBeShown(){
//需要声明为空。否则子类代码将不会执行(从Xcode 7.2开始)
}
打开func wasHidden(){
//需要声明为空。否则子类代码将不会执行(从Xcode 7.2开始)
}
}

但是没有设备或错误模拟器的构建时间。我该如何修复它?

我认为这不是最理想的解决方案,但它帮助了我

在项目设置中,我选择了targetMyApp->Build settings->Optimization Level->Release None[-Onone]。

我正在考虑为苹果创建一个bug报告,因为这段代码来自,我也不打算这么做