Ký một .app bao bọc tập lệnh shell sử dụng OS X 10.11 không xác minh được trên 10.10 hoặc thấp hơn. Tôi có thể ký vào 10.10 và 10.9 và nó xác minh trên 10.9, 10.10 và 10.11.Việc ký các ứng dụng gói shell script có bị hỏng trong OS X 10.11 không?
Tôi đã đặt hai ứng dụng mẫu và tập lệnh trên github để hiển thị điều này. Hai HelloWorld.app chỉ khác nhau trong nhị phân trong Contents/MacOS/HelloWorld. Một là một kịch bản lệnh shell, phần còn lại được biên dịch mục tiêu-c.
công trình Ký và xác minh trên 10.11 cho cả hai phiên bản:
Shell Script phiên bản:
codesign -s "${signing_identity}" -v shell-script/HelloWorld.app
signed bundle with generic [liamsharp.helloworld]
codesign -vv shell-script/HelloWorld.app
shell-script/HelloWorld.app: valid on disk
shell-script/HelloWorld.app: satisfies its Designated Requirement
Objective-C phiên bản:
codesign -s "${signing_identity}" -v objective-c/HelloWorld.app
signed bundle with Mach-O thin (x86_64) [liamsharp.helloworld]
codesign -vv objective-c/HelloWorld.app
objective-c/HelloWorld.app: valid on disk
objective-c/HelloWorld.app: satisfies its Designated Requirement
Nhưng phiên bản shell script thất bại trong việc xác minh trên 10.10 và 10.9:
codesign -vv shell-script/HelloWorld.app
shell-script/HelloWorld.app: invalid signature (code or signature have been modified)
Tôi đã có quyền truy cập vào một máy 10,11 khác và cùng một vấn đề xảy ra khi nó ký .app's. Tôi có quyền truy cập vào máy 10.9 và cũng không thể xác minh.
Có sự khác biệt trong thư mục _CodeSignature được tạo cho tập lệnh shell .app.
Sau đây là cách nó được khi ký ngày 10.10:
CodeDirectory
CodeRequirements
CodeResources
CodeSignature
Nhưng khi ký kết vào ngày 10.11, chúng tôi có được thêm một số tập tin:
CodeDirectory
CodeRequirements
CodeRequirements-1
CodeResources
CodeSignature
CodeTopDirectory
Có một lựa chọn kỳ diệu tôi là thiếu cho codesign để cho phép điều này để làm việc? Hoặc là có một lỗi?
Điều này dường như là lỗi với 'codesign' trên OS X 10.11. Lỗi này cũng ảnh hưởng đến các gói '.definition' của Automator. Tôi đã gửi lỗi với Apple là rdr: // 26297046. –
Tôi cũng đã điền 26363618. – CodeBuddy
Cảm ơn bạn. Tôi đánh giá cao việc bạn đặt câu hỏi này và tạo ra trường hợp thử nghiệm. Đó là yên tâm để tìm những người khác gặp phải lỗi OS X này. –