Câu hỏi chung: khi tôi không sở hữu một định dạng tệp cụ thể, nhưng không có ai được định nghĩa bởi một người khác, làm cách nào để sử dụng định dạng tệp đó?Tôi cần mở tệp ở định dạng không có định dạng UTI được xác định trước, nhưng tôi không sở hữu định dạng. Tôi nên xuất UTI như thế nào?
Tình huống cụ thể: Tôi đang tạo plugin QuickLook cho các tệp .torrent và .nzb. (Lưu ý: các tập tin .nzb tương tự như các tập tin .torrent, ngoại trừ thay vì trỏ đến một trình theo dõi bittorrent, chúng trỏ tới máy chủ Usenet.) Tôi muốn plugin hiển thị dữ liệu nào .nzb/.torrent tập tin trỏ đến, tệp nào sẽ được tải xuống nếu chúng được mở và bất kỳ siêu dữ liệu hiện hành nào khác. Để làm điều này, tôi phải đặt ra Uniform Type Identifiers cho hai loại tệp này. Trong khi các tệp .torrent có một UTI được chỉ định của tệp com.bittorrent.torrent, .nzb không - định dạng NZB là defined by newzbin.com, không xuất bản ứng dụng riêng của nó (và do đó không xác định Mã định danh Kiểu Đồng bộ Mac OS X cho tôi sử dụng).
Các tùy chọn dường như là:
- xuất khẩu và sử dụng một UTI theo hình thức com.example.nzb, nơi example.com được sở hữu bởi tôi. Điều này có vẻ sai, bởi vì tôi không sở hữu định dạng nzb.
- Xuất và sử dụng UTI theo dạng com.newzbin.nzb, trong đó newzbin.com là không phải là do tôi sở hữu. Điều này có vẻ sai, bởi vì tôi không sở hữu newzbin.com.
- Làm như ví dụ: Unison (ứng dụng Mac OS X) thực hiện và bỏ qua toàn bộ UTI và sử dụng
CFBundleTypeExtensions
trong tệpInfo.plist
của tôi. Điều này có vẻ sai, bởi vì không chỉ làCFBundleTypeExtensions
không được chấp nhận cho mỗi Apple's documentation, nhưng tôi không nghĩ rằng tôi có thể kết hợp sử dụngCFBundleTypeExtensions
vàLSBundleContentTypes
(nếuLSBundleContentTypes
hiện diện, vì tôi phải sử dụng com.bittorrent.torrent UTI, sau đóCFBundleTypeExtensions
bị bỏ qua).
Điều phải làm trong trường hợp này là gì?
Câu hỏi hay. :) –