Skip to content

Instantly share code, notes, and snippets.

@dalexsoto
Forked from fabiopelosin/Output
Created March 5, 2014 21:08
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save dalexsoto/9376612 to your computer and use it in GitHub Desktop.
Save dalexsoto/9376612 to your computer and use it in GitHub Desktop.
-> CopyPNGFile
Copies a .png file resource, optionally compressing it.
$ copypng [options] $(IPHONE_OPTIMIZE_OPTIONS) [input] [output]
-> Code Sign
Code-sign a framework, application, or other built target.
$ /usr/bin/codesign
-> Strip Symbols
Remove or modify the symbol table of a Mach-O binary
$ strip [options] [input]
-> Code Sign
Code-sign a framework, application, or other built target.
$ /usr/bin/codesign
-> Product Packaging Utility
$ <com.apple.tools.product-pkg-utility> [input] [options] -o [output]
-> Code Sign
Code-sign a framework, application, or other built target.
$ /usr/bin/codesign
-> Product Packaging Utility
$ builtin-productPackagingUtility [input] [options] -o [output]
-> Data Model Compiler (MOMC)
MOMC: compiler of data model files .xcdatamodel into .mom
$ momc [options] $(InputFile) $(ProductResourcesDir)/$(InputFileBase).mom
-> Data Model Version Compiler (MOMC)
MOMC: compiler of data model version files .xcdatamodeld into .momd
$ momc [options] $(InputFile) $(ProductResourcesDir)/$(InputFileBase).momd
-> Core Data Mapping Model Compiler (MAPC)
MAPC: compiler of mapping model files .xcmappingmodel into .cdm
$ mapc [options] $(InputFile) $(ProductResourcesDir)/$(InputFileBase).cdm
-> CopyPlistFile
Copies a .plist file resource to the product, optionally validating it and changing its format.
$ builtin-copyPlist [options] --outdir $(ProductResourcesDir) -- $(InputFileRelativePath)
-> CopyStringsFile
Copies a .strings file to the product
$ builtin-copyStrings [options] --outdir $(ProductResourcesDir) -- $(InputFileRelativePath)
-> CopyTiffFile
Copies a .tiff file resource with optional compression of the destination file
$ builtin-copyTiff [options] --outdir $(ProductResourcesDir) -- $(InputFileRelativePath)
-> Cpp
Standalone C Preprocessor
$ cc -E -P -x c -Wno-trigraphs [input] -F$(BUILT_PRODUCTS_DIR) [options] -o [output]
-> DTrace
Invoke the 'dtrace' command line utility to compile a DTrace script file.
$ /usr/sbin/dtrace [options] -s $(InputFileRelativePath) -o $(DerivedFilesDir)/$(InputFileBase).h
-> Iconutil
Icon conversion utility
$ iconutil [options] --convert icns --output [output] [input]
-> Ld
Link executable using Apple Mach-O Linker (ld)
$ $(gcc_compiler_driver_for_linking) -arch $(arch) [options] [special-args] -o $(OutputPath)
-> Libtool
Create a static library using Apple Mach-O Librarian (libtool)
$ $(LIBTOOL) -static -arch_only $(arch) [options] [special-args] -o $(OutputPath)
-> MiG
Mach Interface Stub Generator
$ mig [special-args] [options] [input]
-> Nasm
Assemble Using NASM (Netwide 80x86 Assembler)
$ $(DEVELOPER_BIN_DIR)/nasm $(InputFile) [options] -o $(ObjectsDir)/$(InputFileBase)$(InputFileBaseUniquefier).o
-> OSACompile
AppleScript Compiler
$ /usr/bin/osacompile -l AppleScript -d -o $(ProductResourcesDir)/$(InputFileBase).scpt [options] $(InputFileRelativePath)
-> Validate
Validate binary
$ $(PLATFORM_DEVELOPER_BIN_DIR)/Validation [options] [input]
-> ResMerger
Create a Carbon resource file using Apple's Carbon Resource Merger
$ $(DEVELOPER_BIN_DIR)/ResMerger [inputs] [options] -o $(OutputPath)
-> StripSymbols
Remove or modify the symbol table of a Mach-O binary
$ strip [options] [input]
-> TiffUtil
Combine a set of images at different resolutions into one HiDPI compliant file using TiffUtil
$ tiffutil -cathidpicheck [inputs] -out $(ProductResourcesDir)/$(OutputFileBase).tiff
-> Interface Builder XIB Compiler
Compiles Interface Builder XIB files into deployable NIB files.
$ ibtool [options] --output-format human-readable-text --compile $(ProductResourcesDir)/$(InputFileBase).nib $(InputFile) --sdk $(SDKROOT)
-> Interface Builder NIB Postprocessor
Strips design-time content from Interface Builder NIB files to reduce deployment size.
$ ibtool [options] --output-format human-readable-text $(InputFile)
-> Interface Builder Storyboard Compiler
Compiles Interface Builder Storyboard files into deployable, compiled files.
$ ibtool [options] --output-format human-readable-text --compile $(ProductResourcesDir)/$(InputFileBase).storyboardc $(InputFile) --sdk $(SDKROOT)
-> Interface Builder Storyboard Postprocessor
Strips design-time content from Interface Builder storyboardc files to reduce deployment size.
$ ibtool [options] --output-format human-readable-text $(InputFile)
------------------------------------------------------------------------
Unhandled
------------------------------------------------------------------------
IBCompiler.xcspec
Core Build System.xcspec
iPhoneClangOptions.xcspec
iPhoneCompilerOptions.xcspec
iPhoneLinkerOptions.xcspec
iPhoneOSArchitectures.xcspec
iPhoneOSPackageTypes.xcspec
iPhoneOSProductTypes.xcspec
iPhoneXcode4Options.xcspec
Native Build System.xcspec
IBCompiler.xcspec
Core Build System.xcspec
iPhone Simulator Architectures.xcspec
iPhone Simulator PackageTypes.xcspec
iPhone Simulator ProductTypes.xcspec
Native Build System.xcspec
Core Build System.xcspec
MacOSX Architectures.xcspec
MacOSX Package Types.xcspec
MacOSX Product Types.xcspec
Native Build System.xcspec
Built-in build phase types.xcspec
Built-in property condition flavors.xcspec
Core Build System.xcspec
External Build System.xcspec
Jam Build System.xcspec
Native Build System.xcspec
Built-in build phase types.xcspec
Built-in property condition flavors.xcspec
Core Build System.xcspec
External Build System.xcspec
Jam Build System.xcspec
Native Build System.xcspec
Clang LLVM 1.0.xcspec
Lex.xcspec
OpenCL.xcspec
PBXCp.xcspec
Rez.xcspec
Yacc.xcspec
GCC 4.2.xcspec
GCC Generic.xcspec
LLVM GCC 4.2.xcspec
require 'plist'
require 'pathname'
require 'nokogiri-plist'
XCODE_PATH = '/Applications/Xcode.app/'
# Get the xcspecs
p spec_paths = Dir.glob(XCODE_PATH + '**/*.xcspec')
# relative_spec_paths = File.open('XcodeSpecs', 'r').read.lines
# spec_paths = relative_spec_paths.map { |sp| Pathname.new(XCODE_PATH + sp.gsub("\n", "")) }
Pathname.new('xcspecs').rmtree
Pathname.new('xcspecs').mkpath
def print_plist(plist)
name = plist["Name"]
description = plist["Description"]
command_line = plist["CommandLine"]
if name && command_line
puts "-> " + name
puts " " + description if description && description.downcase != name.downcase
puts " $ " + command_line if command_line
puts
true
else
false
end
end
# read the plist
unhandled = []
puts
spec_paths.each do |path|
path = Pathname.new(path)
xml_plist = "./xcspecs/#{path.basename}.plist"
output = `plutil -convert xml1 -o "#{xml_plist}" "#{path}"`
raise "plutil error" unless $?.to_i.zero?
plist = Nokogiri::PList(open(xml_plist))
printed = false
if plist.is_a?(Hash)
printed = print_plist(plist)
elsif plist.is_a?(Array)
plist.each do |plist|
printed = print_plist(plist)
end
end
unhandled << path.basename unless printed
end
puts "\n" + '-' * 72
puts "Unhandled"
puts '-' * 72 + "\n\n"
puts unhandled
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment