Tôi có thể tích hợp thư viện C++ hiện có của mình trong ứng dụng iPhone không?Tích hợp thư viện C++ vào ứng dụng iPhone
Trả lời
Mục tiêu C++ được xác định rõ và được hỗ trợ bởi gcc của Apple.
Nhưng bạn không thể kết hợp các lớp C++ và mục tiêu C, điều này khiến cho việc này khá nhanh. Tôi không nghĩ rằng có nhiều dự án trong tự nhiên mà trộn C++ và Objective C đến bất kỳ mức độ nghiêm trọng.
Điều này phụ thuộc vào thư viện của bạn, nhưng nếu (thực tế) khả thi tôi sẽ bọc C++ bên trong thư viện C, sử dụng điểm nhập "C" bên ngoài cho tất cả chức năng thực và liên kết với từ bên trong mã C mục tiêu của bạn ứng dụng iphone của bạn.
Mặc dù bạn không thể kết hợp các lớp C++ trong Objective-C, nhưng bạn có thể kết hợp nó với Objective-C++, mà tôi tin rằng cũng được hỗ trợ trong iPhone. Tích hợp mã C++ với một ứng dụng iPhone không phải là một vấn đề, nhưng nếu bạn muốn ở bên an toàn, sau đó bạn nên xây dựng mã của bạn như một thư viện và sau đó liên kết với nó từ ứng dụng iPhone của bạn; theo cách đó, bạn không cần phải lo lắng về việc trộn lẫn mã Obj-C và các lớp C++.
Đối với phê duyệt của Apple, không ai có thể cung cấp cho bạn câu trả lời chính xác về những gì có thể hoặc không đủ điều kiện ứng dụng của bạn để đưa vào cửa hàng, vì Apple đã đóng cửa hoàn toàn về toàn bộ quá trình. Tuy nhiên, bây giờ khá rõ ràng rằng một số loại ứng dụng nhất định sẽ không thực hiện việc cắt giảm; cụ thể là:
- Ứng dụng "lạm dụng" hoặc biến iPhone SDK theo cách mà Apple không thích. IE, thiết lập độ sáng của thiết bị
- Sử dụng quá nhiều băng thông hoặc tài nguyên hệ thống (thoát tuổi thọ pin không cần thiết)
- nhân đôi chức năng của Apple ở đâu đó (ví dụ, làm cho một mail client, trình duyệt web, vv)
- Lợi dụng danh nghĩa các mức giá và sơ đồ định giá
Thực ra, tốt hơn là chỉ google ví dụ về các ứng dụng bị cấm để có cảm giác tốt hơn về nó. Nhưng dòng dưới cùng là, nó không phải là cách ứng dụng của bạn làm điều gì đó, đó là những gì ứng dụng của bạn đang thực hiện sẽ dẫn đến việc ứng dụng bị cấm.
Tôi vừa mới bắt đầu với việc phát triển iPhone, nhưng tôi đã có thể sử dụng thành công một số thư viện C++ hiện có mà không có bất kỳ thay đổi nào. Tôi đã mang về một số lớp OpenGL mà tôi đã viết và chúng hoạt động tốt vì lib lib trên iPhone là tất cả C và không phải là Obj-C. Tôi, ví dụ, tải một kết cấu vào một mảng GLubyte bằng cách sử dụng Obj-C để có được các nguồn lực, kích thước, vv sau đó đi qua các giá trị vào mã C++ của tôi mà các cuộc gọi gl để tạo ra các kết cấu. Điều tương tự cũng áp dụng cho việc tải hình học.
Chỉ cần thay đổi tệp .m thành .mm và mọi thứ dường như hoạt động. Các lớp C++ mục tiêu có thể có các thành viên là các lớp C++ (mặc dù tôi không nghĩ cách khác áp dụng, đó có thể là một vấn đề).
- 1. Tích hợp chức năng khách POP3 vào ứng dụng C#?
- 2. Tích hợp ứng dụng iPhone với Shibboleth
- 3. Sử dụng thư viện c/C++ sử dụng mạng cho mục tiêu ứng dụng iphone c
- 4. Thư viện để tích hợp kết hợp OAuth/OpenID của Google trong Ứng dụng web Java?
- 5. thư viện tích hợp dotnet HL7
- 6. gặp lỗi trong tích hợp DropBox với ứng dụng iphone
- 7. lỗi khi tích hợp thư viện mupdf
- 8. Thư viện phân tích tình cảm C++
- 9. Tích hợp ShareKit 2.0 trong Ứng dụng iPhone
- 10. Bạn thấy thư viện OAuth nào phù hợp nhất với Objective-C/iPhone?
- 11. Tích hợp CUDA vào ứng dụng C++ để sử dụng lớp C++ hiện có
- 12. Thư viện PDF nguồn mở cho ứng dụng C/C++?
- 13. Nhúng Thư viện C++ vào .Net Thư viện
- 14. Tích hợp CFNetwork và Bonjour để tích hợp iPhone vào Mac
- 15. Ứng dụng iPhone trên iPhone vào Android
- 16. Thư viện ảnh của iPhone
- 17. Cách thích hợp để liên kết với các thư viện từ thư viện cho iPhone/CocoaTouch
- 18. Sử dụng Go để viết thư viện cho ứng dụng iPhone
- 19. Tích hợp Qt vào ứng dụng MFC cũ
- 20. Tích hợp Equinox OSGi vào ứng dụng web Apache Tomcat
- 21. Tích hợp Google Analytics vào ứng dụng GWT
- 22. Tích hợp ứng dụng Zend vào Drupal 6/7
- 23. Tích hợp "Trợ giúp" vào ứng dụng WinForms
- 24. Thư viện nén C++ (zip) cho ứng dụng nguồn đóng
- 25. Sử dụng thư viện tăng C++?
- 26. Tạo thư viện tĩnh cho iPhone
- 27. thư viện bộ nhớ cache cho Objective-C (iPhone)
- 28. Phương tiện phân tích cú pháp Thư viện C++
- 29. iphone - thư mục ứng dụng coredata
- 30. Tích hợp quảng cáo Leadbolt trong iPhone
"sao chép chức năng của Apple ở đâu đó", thật buồn cười vì không có nhiều lứa tuổi trước đây, có vấn đề là các nhà cung cấp trình duyệt không quá hài lòng với IE có độc quyền trên Windows. Tôi nghe nói có một số vụ kiện liên quan. Nhưng này, nó không giống với táo, – lurscher