2015-10-05 23 views
7

tôi đang làm việc trên một ứng dụng Mac trong đó sử dụng sau tập tin tiêu đềxcode 7 - "openssl/pkcs7.h" tập tin không tìm thấy trong xcode 7

#include <openssl/pkcs7.h> 
#include <openssl/objects.h> 
#include <openssl/sha.h> 
#include <openssl/x509.h> 
#include <openssl/err.h> 

Gần đây tôi đã cập nhật OSX Yosemite để OSX El Capitan và Xcode 6.4 đến 7.0

Dự án đang chạy thành công trước khi cập nhật. Hiện không có các tệp này.

Tôi cần làm gì để làm cho nó hoạt động trở lại?

Một trong những giải pháp dành cho iOS khi sử dụng nhóm cacao.

Có cách nào khác mà không sử dụng vỏ cacao không?

Trả lời

3

Apple đã ngừng hoạt động một thời gian trước đây, nó không còn là một phần của SDK và chính thư viện đó không giao hàng với OS X kể từ 10.11.

Reference here

Bạn không đề cập đến những gì bạn đang sử dụng openssl cho. Giải pháp phụ thuộc vào nhu cầu của bạn. Nếu bạn phải sử dụng openssl (ví dụ: quá nhiều mã của bạn phụ thuộc vào nó) thì bạn cần tự lấy openssl, biên dịch với các tiêu đề đã tải xuống và bao gồm thư viện với phân phối ứng dụng của bạn. Cocoapods có vẻ như là một cách hợp lý để quản lý điều này nếu bạn không muốn làm điều đó một cách thủ công.

Hoặc sửa đổi mã của bạn để sử dụng các thư viện khác đi kèm với OS X như Security Transforms hoặc CommonCrypto.

CẬP NHẬT: Dường như tài liệu của Apple có chút gây hiểu nhầm (ngạc nhiên!). Thư viện động cho phiên bản cũ của openssl (0.9.8) vẫn được phân phối với 10.11. Chỉ cần kiểm tra một cài đặt mới của 10,11 và libcrypto và libssl vẫn còn đó.

Nếu điều đó là đủ (ví dụ, bạn chỉ sử dụng openssl để xác nhận biên nhận App Store), bạn có thể lấy đi chỉ với các tệp tiêu đề từ 10.10 SDK (tải xuống từ Apple với xcode 6.4) và biên dịch ứng dụng của bạn các tiêu đề. Bạn không cần các tệp nhị phân openssl thực tế.

+0

Tôi đang gặp sự cố để tạo url đã ký để tìm nạp nội dung riêng tư từ thùng S3 sử dụng Cloud Front .Nhưng Openssl gặp lỗi trong Swift. Bất kỳ giải pháp nào khác để tạo url đã ký. Hãy đề nghị nó. – vipulk617

+0

Điều đó không liên quan đến câu hỏi ban đầu nhưng bạn không cần openssl để ký yêu cầu AWS, bạn chỉ cần HMAC, tìm kiếm Swift và HMAC trên Google và bạn sẽ tìm thấy các ví dụ. – danielv

+0

Tôi đã cố gắng sử dụng HMAC và yêu cầu chuyển sang đám mây để truy cập thư bị từ chối phản hồi. openssl làm việc tốt trong Objective C nhưng không nhanh. Bạn có bất kỳ mã demo hoặc tài nguyên nào để truy cập nội dung riêng tư từ đám mây trước nhanh chóng hay không. Vì vậy, xin vui lòng chia sẻ nó. – vipulk617

Các vấn đề liên quan