From f8ef262bf4ea26fc532dfdb206033fc2491c03e9 Mon Sep 17 00:00:00 2001 From: John Estropia Date: Fri, 15 Mar 2024 10:52:31 +0900 Subject: [PATCH] test --- .../StorybookKit/Internals/machOLoader.swift | 33 +++++++++---------- 1 file changed, 15 insertions(+), 18 deletions(-) diff --git a/Sources/StorybookKit/Internals/machOLoader.swift b/Sources/StorybookKit/Internals/machOLoader.swift index c52a37d..4f9f081 100644 --- a/Sources/StorybookKit/Internals/machOLoader.swift +++ b/Sources/StorybookKit/Internals/machOLoader.swift @@ -36,31 +36,28 @@ extension Book { guard !moduleName.isEmpty else { return nil } + let allImageNames: [String?] = (0..<_dyld_image_count()).map { + guard let pathC = _dyld_get_image_name($0) else { + return nil + } + let path = String(cString: pathC) + let imageName = path + .components(separatedBy: "/") + .last? + .components(separatedBy: ".") + .first + print(path) + return imageName + } guard - let imageIndex = (0..<_dyld_image_count()).first( - where: { - guard let pathC = _dyld_get_image_name($0) else { - return false - } - let path = String(cString: pathC) - let imageName = path - .components(separatedBy: "/") - .last? - .components(separatedBy: ".") - .first - if imageName == moduleName { - print(path) - } - return imageName == moduleName - } - ) + let imageIndex = allImageNames.firstIndex(of: moduleName) else { return nil } // Follows same approach here: https://github.com/apple/swift-testing/blob/main/Sources/TestingInternals/Discovery.cpp#L318 guard - let headerRawPtr: UnsafeRawPointer = _dyld_get_image_header(imageIndex) + let headerRawPtr: UnsafeRawPointer = _dyld_get_image_header(.init(imageIndex)) .map(UnsafeRawPointer.init(_:)) else { return nil