Спасибо @Mike за ссылку на анализатор времени сборки, это здорово. Оказалось, что XCode займет 330 секунд, чтобы составить только:
func asJson() -> JSON {
let dict: [String: Any?] = [
"video": video.asJson,
"asset": asset.url.path,
"canBeShared": canBeShared,
"videoSource": videoSource.path,
"previewSource": previewSource.documentPath,
"expectedResizedVideo": expectedResizedVideo.documentPath,
"videoDestination": videoDestination,
"previewDestination": previewDestination,
"fileId": fileId,
"isRecordCreated": isRecordCreated,
"isPreviewUploaded": isPreviewUploaded,
"isPreviewRegistered": isPreviewRegistered,
"isSharingPreviewReady": isSharingPreviewReady,
"isVideoUploaded": isVideoUploaded,
"isVideoRegistered": isVideoRegistered,
"isPosted": isPosted,
"isPostRegistered": isPostRegistered,
"didResizeVideo": didResizeVideo,
]
return JSON(dict)
}
который я переписать
func asJson() -> JSON {
var dict = [String: Any?]()
dict["video"] = video.asJson
dict["asset"] = asset.url.path
dict["canBeShared"] = canBeShared
dict["videoSource"] = videoSource.path
dict["previewSource"] = previewSource.documentPath
dict["expectedResizedVideo"] = expectedResizedVideo.documentPath
dict["videoDestination"] = videoDestination
dict["previewDestination"] = previewDestination
dict["fileId"] = fileId
dict["isRecordCreated"] = isRecordCreated
dict["isPreviewUploaded"] = isPreviewUploaded
dict["isPreviewRegistered"] = isPreviewRegistered
dict["isSharingPreviewReady"] = isSharingPreviewReady
dict["isVideoUploaded"] = isVideoUploaded
dict["isVideoRegistered"] = isVideoRegistered
dict["isPosted"] = isPosted
dict["isPostRegistered"] = isPostRegistered
dict["didResizeVideo"] = didResizeVideo
return JSON(dict)
}
и что работает просто отлично. Я открою ошибку с Apple
Посмотрите этот инструмент от Robert Gummesson: https://github.com/RobertGummesson/BuildTimeAnalyzer-for-Xcode –
спасибо, это здорово. Я переписываю несколько тернарных условий/коалесценций, и сейчас все намного лучше. От 5mn построить время до 10s ...... – Guig