2010-05-15 39 views
6

Tôi chưa tìm thấy danh sách đầy đủ các bước được yêu cầu để sử dụng API riêng tư từ Thư viện iPhone. Cụ thể, tôi muốn biết cách lấy các tệp tiêu đề, nếu chúng được yêu cầu, làm sao để biên dịch (khi tôi chỉ cần thêm tiêu đề, nó than phiền rằng các hàm không được xác định), và tài nguyên nào người ta có thể sử dụng để tìm hiểu về các API riêng tư (ví dụ như từ trải nghiệm của người dùng khác, chẳng hạn như http://iphonedevwiki.net/ có một vài tài nguyên).Cách sử dụng API riêng tư SDK của iPhone

Tôi đã đọc ở những nơi khác mà mọi người khuyên bạn nên sử dụng class-dump để nhận tiêu đề. Có phương pháp thay thế nào không? Tôi đã nhận thấy rằng có some repositories SDK Riêng tư trên iPhone, tài nguyên cập nhật nhất bạn muốn giới thiệu là gì?

Hầu hết previousquestions về tài liệu về API riêng tư, tất cả được liên kết với Erica Sadun's website, dường như không có tài liệu nữa (tất cả các liên kết ở bên trái bị gạch chéo).

Vui lòng lưu ý kiến ​​về việc không sử dụng riêng của API ... Tôi biết những rủi ro lớn nhất:

  • App sẽ bị từ chối bởi Apple.
  • Ứng dụng sẽ đột nhập trong các bản cập nhật trong tương lai cho Hệ điều hành.

Tôi đang nói về sử dụng hợp pháp, chẳng hạn như:

  • sử dụng ứng dụng cá nhân (ví dụ như đối với kiểm tra đơn vị, hoặc rối tung xung quanh để xem những gì có thể)
+0

Trùng lặp: http://stackoverflow.com/questions/1150360/iphone-private-api-documentation – rjstelling

+0

StackExchange đề xuất: http://area51.stackexchange.com/proposals/18154/jailbreak-iphone-development?referrer= EuWVi6IpN0_KzzEhC7I-Qw2 – rjstelling

Trả lời

5

Objective-C có đủ thông tin trong nhị phân biên dịch để gần như hoàn toàn tái tạo lại các tiêu đề. Những điều duy nhất còn thiếu là các tên đối số, thường có thể được xấp xỉ từ kiểu mẫu hoặc phương thức nguyên mẫu, và một số định nghĩa cấu trúc và enum. Đó là lý do tại sao các chương trình như class-dump là cách tốt nhất để có được các tiêu đề. Họ là toàn diện, bao gồm mọi phương pháp cho dù đó là trong tiêu đề thực sự hay không, cập nhật và không cần phải được phân phối. Một cách khác để có được các tiêu đề là tìm trong phiên bản công khai của cùng một khung công tác, ví dụ WebKit chỉ là riêng tư trên iPhone và được ghi lại bằng tài liệu khác.

Nếu bạn quan tâm đến những thứ bên cạnh Objective-C, bạn phải làm điều đó theo cách cũ, slogging thông qua tháo gỡ để đoán đối số chức năng. Một khi bạn nhận được một vài biểu tượng, tìm kiếm cho họ và có thể bạn sẽ tìm thấy một tiêu đề người khác đã đăng. otool là một nơi tốt để bắt đầu.

Nếu bạn bao gồm tiêu đề, có thể là đối tượng C hoặc C, bạn cũng phải bao gồm các khung hoặc thư viện mà tiêu đề khai báo phương thức, giống như bất kỳ tiêu đề nào khác. Hầu hết các công cụ Objective-C nằm trong một thư mục PrivateFrameworks ngay bên cạnh thư mục Frameworks thông thường. Bạn có thể tìm trong thư mục usr/lib để tìm thư viện.

Lưu ý rằng có rất nhiều sự khác biệt giữa trình giả lập và thiết bị, vì vậy hãy đảm bảo bạn tạo tiêu đề từ thiết bị thực. Ngoài ra còn có một số phương pháp mà bạn sẽ không có quyền chạy dưới dạng ứng dụng hộp cát.

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