# Required for Python to search this directory for module files import hashlib import struct # The default location for Xcode's "DerivedData" (build output and intermediate # files) is a unique directory in ~/Library/Developer/Xcode/DerivedData with a # name incorporating a hash based on the full path of the project or workspace # being built. The following function takes that path and returns the # corresponding hash. # # The algorithm is adapted from the following article: # # def xcode_hash_for_path(path): def convert_to_string(n): s = '' for _ in range(0, 14): (n, r) = divmod(n, 26) s = chr(r + 97) + s return s (part1, part2) = struct.unpack(">QQ", hashlib.md5(path.encode()).digest()) return convert_to_string(part1) + convert_to_string(part2)