2011-01-06 30 views
8

Tôi có một ứng dụng iPhone/iPad mà tôi muốn chuyển sang MacOSX. Hầu hết các lớp C mục tiêu của tôi sẽ hoạt động tốt miễn là chúng không chứa các công cụ UIKit. Rõ ràng giao diện sẽ khác.Cùng một mã cơ sở cho ứng dụng iPhone/Desktop

Cách tốt nhất để thực hiện điều này trong Xcode là gì? Bắt đầu một dự án hoàn toàn mới? Thêm mục tiêu mới? Làm cách nào để giữ cho các nền tảng khác nhau được đồng bộ hóa? Tôi có nên dùng git với nhiều nhánh không?

Trả lời

9

Tôi đã gặp khó khăn trong việc thiết lập một dự án thống nhất với các mục tiêu khác nhau cho hai loại hệ điều hành, vì vậy tôi thường chia thành hai dự án chia sẻ tệp nguồn.

Đối với ứng dụng sẽ được nhắm mục tiêu Mac và iOS, tôi có xu hướng tạo một thư mục cho ứng dụng. Tôi đặt hai dự án vào trong đó và thiết lập một thư mục cho các tệp nguồn được chia sẻ, một tệp cho các nội dung cụ thể cho iOS và một thư mục thứ ba dành cho các nội dung cụ thể của Mac. Bằng cách này, bạn có thể có các dự án khác nhau, nhưng các tệp được chia sẻ sẽ cập nhật giữa chúng khi chúng được thay đổi. Thời gian duy nhất bạn phải đồng bộ hóa hai lần là khi một tệp được chia sẻ mới được thêm vào ứng dụng và phải được thêm vào cả hai dự án một cách độc lập.

Bạn sẽ có thể cấu trúc lại dự án hiện tại của mình để hỗ trợ điều này mà không gặp nhiều rắc rối.

+0

Bạn có thể hướng dẫn tôi cách sử dụng ứng dụng Mac OS để làm việc trong ứng dụng iOS hay không. Do đó tôi có thể sử dụng ứng dụng đó làm thư viện cho ứng dụng iOS .. – siva

0

Bạn cũng có thể chỉ cần thêm các tệp từ một dự án làm tham chiếu đến một dự án khác. Chỉ cần kéo chúng từ dự án nguồn (nơi các tệp thực sự cư trú) vào dự án khác. Hộp thoại sẽ hỏi bạn có muốn sao chép các tệp hay không. Chọn không. Điều này sẽ làm cho dự án thứ hai trỏ đến các tệp trong dự án đầu tiên. Chỉnh sửa đi vào cả hai dự án.

Hãy cẩn thận với điều này, tuy nhiên, vì có một số khác biệt giữa các API trong iOS và MacOS, ngay cả khi chúng được gọi giống nhau.

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