This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.
DetectImageType is an iOS utility that detects image file formats by analyzing binary magic bytes. Supports: PNG, JPEG, JPEG2000, GIF, BMP, TIFF, ICO, ICNS, WebP, HEIC/HEIF, AVIF, and SVG.
# Build
xcodebuild -project DetectImageType.xcodeproj -scheme DetectImageType -sdk iphonesimulator build
# Test
xcodebuild -project DetectImageType.xcodeproj -scheme DetectImageType -sdk iphonesimulator testCore logic is in Data+Extension.swift:
ImageTypeenum withfileExtensionandmimeTypepropertiesdetectImageType()instance method usingwithUnsafeBytesfor efficient byte accessdetectFtypFormat()helper for HEIC/AVIF detection (ISO base media file format)detectSVG()helper for XML-based SVG detection- Static convenience methods for
Data,URL, file path, and bundle resources
- PNG (8 bytes) → JPEG (3 bytes) → JPEG2000 (4-8 bytes)
- GIF (6 bytes) → BMP (2 bytes) → TIFF (4 bytes)
- ICO (4 bytes) → ICNS (4 bytes) → WebP (12 bytes)
- HEIC/AVIF via ftyp box → SVG via text patterns
let type = data.detectImageType()
print(type.mimeType) // "image/png"
print(type.fileExtension) // "png"