Только потому, что я не до конца понял, как принятый ответ действительно достиг цели, я использую комбинацию скрипта для генерации шестнадцатеричной кодировки:
#!/usr/bin/env ruby
# Makes resource (.r) text from binaries.
def usage
puts "usage: #{$0} infile"
puts ""
puts " infile The file to convert (the output will go to stdout)"
exit 1
end
infile = ARGV[0] || usage
data = File.read(infile)
data.bytes.each_slice(16) do |slice|
hex = slice.each_slice(2).map { |pair| pair.pack('C*').unpack('H*')[0] }.join(' ')
# We could put the comments in too, but it probably isn't a big deal.
puts "\t$\"#{hex}\""
end
Вывод этого вставляется в переменную во время сборки, а затем переменная заканчивается в шаблоне (мы используем Ant для этого, но особенности не особенно интересны):
data 'RTF ' (5000, "English SLA") {
@english.licence@
};
Единственное, что понадобилось для выяснения, - это то, что 'RTF '
может использоваться непосредственно для ресурса. Документы Apple говорят, что нужно отдельно вставлять 'TEXT'
(только с простым текстом) и 'styl'
(только со стилем). Конечно, есть инструменты для этого, но это был еще один инструмент, и я никогда не мог понять, как заставить гиперссылки работать в получающемся DMG. С 'RTF '
гиперссылки просто работают.
Надеясь, что это сэкономит кому-то время в будущем.