Tôi đã nghe nói rằng bạn cần có máy Mac nếu muốn phát triển ứng dụng iPhone. Điều này có đúng không?
Có thể phát triển ứng dụng iPhone bằng Linux không? Nếu có, tôi cần gì và tải xuống các công cụ cần thiết ở đâu?
Tôi đã nghe nói rằng bạn cần có máy Mac nếu muốn phát triển ứng dụng iPhone. Điều này có đúng không?
Có thể phát triển ứng dụng iPhone bằng Linux không? Nếu có, tôi cần gì và tải xuống các công cụ cần thiết ở đâu?
Câu trả lời:
Để cung cấp một phản hồi khác nhau, tôi đang chạy OS X và Xcode trên máy ảo (VMware) trên Linux. CPU là Core2Quad (Q8800), và nó hoàn toàn nhanh. Tôi đã tìm thấy một máy ảo dựng sẵn trực tuyến (tôi sẽ để nó cho bạn tìm) Phát triển Xcode / iPhone hoạt động hoàn hảo, cũng như gỡ lỗi qua USB vào chính điện thoại.
Nó thực sự làm tôi ngạc nhiên rất nhiều - nhưng tôi không có vấn đề gì cả.
Câu trả lời cho điều này thực sự phụ thuộc vào việc bạn có muốn phát triển ứng dụng sau đó được phân phối thông qua cửa hàng iPhone hay không. Nếu bạn không và không ngại phát triển cho đám đông iPhone "đã bẻ khóa" - thì có thể phát triển từ Linux.
Kiểm tra trang của chap này để biết hướng dẫn toàn diện (nếu hơi phức tạp) về những việc cần làm:
Nó dường như là sự thật cho đến nay. SDK duy nhất có sẵn từ Apple chỉ nhắm vào môi trường MacOS. Tôi đã rất buồn về điều đó, nhưng tôi đang tìm mua một chiếc mac bây giờ, chỉ để phát triển iPhone. Tôi thực sự không thích những gì họ đang làm và tôi hy vọng một SDK tốt sẽ xuất hiện cho các môi trường khác, chẳng hạn như Linux và Windows.
Những trở ngại liên quan đến SDK:
IPhone SDK và phần mềm miễn phí: không phải là đối sánh
Gần đây, Apple đã phát hành một bộ công cụ phát triển phần mềm (SDK) cho iPhone, nhưng nếu bạn hy vọng chuyển hoặc phát triển phần mềm nguồn mở ban đầu với nó, thì tin tức không tốt. Việc ký mã và các điều kiện không tiết lộ làm cho phần mềm miễn phí trở nên dễ dàng.
Bản thân SDK là một bản tải xuống miễn phí, trong đó bạn có thể viết chương trình và chạy chúng trên trình giả lập phần mềm. Nhưng để thực sự phát hành phần mềm bạn đã viết, bạn phải đăng ký Chương trình dành cho nhà phát triển iPhone - một bước tách biệt với việc tải xuống SDK và một phần mềm cần có sự chấp thuận của Apple.
Tôi nghĩ rằng họ khá tinh hoa khi nghĩ rằng chỉ người dùng macos mới đủ khả năng viết chương trình cho điện thoại của họ và thực tế bạn cần mua giấy phép 100 đô la nếu bạn muốn xuất bản nội dung của mình, thực sự gây khó khăn hơn cho lập trình viên sở thích. Mặc dù, nếu đó là những gì bạn cần làm, tôi dự định nhảy qua vòng của họ; Tôi thực sự muốn có một số thứ được phát triển trên iPhone của tôi.
Đã từng có một dự án dành riêng để giải quyết khiếm khuyết này: iphone-dev
Mục tiêu của dự án iphone-dev là tạo ra một chuỗi công cụ miễn phí, di động, chất lượng cao để cho phép phát triển cho iPhone của Apple và các thiết bị nhúng khác dựa trên nền tảng ARM / Darwin.
Về chuỗi công cụ thay thế, trang web của Saurik rất hữu ích nhưng đối với sự phát triển phần sụn mới nhất, anh ta chỉ ra việc xây dựng trên chính iPhone và không cho biết rằng bạn có thể cần phải sao chép các tệp phần sụn iPhone cần thiết vào môi trường Linux của mình. Điều đó không phải là không thể, nhưng chỉ cần có thêm công việc, đặc biệt là để ký mã (cũng có các giải pháp thay thế mở).
Ngoài ra, hãy xem các hướng dẫn khác (cho cùng một chuỗi công cụ) tiếp cận nó một cách có phương pháp hơn.
Tôi đề nghị vẫn thực hiện việc xây dựng và ký mã và đóng gói mã cuối cùng trong XCode (có thể có nghĩa là mượn máy Mac của ai đó) trong trường hợp bạn gặp vấn đề khi gửi ứng dụng cho Apple. Sử dụng chuỗi công cụ thay thế sẽ mở ra (ít nhất là trên Mac) khả năng sử dụng các IDE khác ngoài XCode để phát triển ứng dụng và một lần nữa dùng đến XCode để triển khai và thử nghiệm với trình giả lập.
Tất nhiên, nếu bạn nhận được việc tạo mã / tạo chứng chỉ làm việc từ dòng lệnh bên ngoài XCode thì bạn có thể cài đặt chứng chỉ trên iPhone thực tế của mình và kiểm tra tại đó (cài đặt ứng dụng qua iTunes với chứng chỉ của bạn).
Cách duy nhất tôi biết để thực hiện phát triển Linux cho iPhone là cài đặt Vmware và làm việc để OS X chạy trong máy ảo. Với điều đó nói rằng có một số mối quan tâm "hợp pháp" trong việc đó. Có thông tin rằng OS X Server có thể được ảo hóa nhưng theo như câu chuyện phát triển mà tôi không biết.
Nếu bạn thực sự nghiêm túc, đó là những gì tôi sẽ điều tra.
Chúc may mắn.
Bạn có thể sử dụng Tersus (mã nguồn mở) và nó cho phép bạn xuất ứng dụng dưới dạng dự án Xcode.
Tersus Studio generates native iPhone applications in the form of Xcode projects that you can compile and sign using Apple's iPhone SDK.
Vì vậy, nó sẽ không thể tuân thủ và ký một ứng dụng iOS gốc
Bạn có thể viết mã trên hộp Linux mà cuối cùng sẽ tự tìm thấy trên iPhone hoặc iPad, nhưng cuối cùng bạn sẽ cần máy Mac để kiểm tra hoặc triển khai mã cho iPhone hoặc gửi mã đến cửa hàng Ứng dụng. Vì vậy, cuối cùng bạn cũng cần máy Mac, vì vậy bạn cũng có thể thực hiện công việc trên máy Mac, với tất cả các công cụ mà Apple cung cấp. Có những lựa chọn thay thế cho Xcode & Objective-C, chẳng hạn như Monotouch - nhưng chúng cũng sử dụng các công cụ của Apple.
Bạn có thể với một số công việc chạy OS X trong VM trên Linux. Tuy nhiên tôi nên chỉ ra rằng điều này sẽ phá vỡ thỏa thuận cấp phép OSX, ngay cả khi bạn mua bản sao OSX - vì nó chỉ được cấp phép để chạy trên phần cứng của Apple.
Xin lỗi để cung cấp cho bạn tin tức này - hệ sinh thái xung quanh iPhone / iPad được kiểm soát rất chặt chẽ.
EDIT: Một ngoại lệ chính cho điều này là viết một ứng dụng web cho iPhone. Có một số ứng dụng web tuyệt vời dành cho iPhone gần như trải nghiệm người dùng như ứng dụng gốc. Tuy nhiên tôi đã giải thích câu hỏi của bạn là về phát triển ứng dụng gốc. Các ứng dụng web, mặc dù người dùng có thể tạo biểu tượng để khởi chạy chúng - vẫn là công dân 'hạng hai'.
Tôi đã thành công trong việc xây dựng các ứng dụng iOS trên linux bằng cách sử dụng chuỗi công cụ clang iOS của cjacker . Về cơ bản, nó bao gồm các công cụ clang và llvm ngược dòng từ bản phân phối linux của bạn, một cổng linux của trình liên kết apple và một số công cụ bổ sung để giúp đơn giản hóa quá trình xây dựng (như chuyển đổi các dự án xcode sang định dạng Makefile).
Phải mất vài bước để cài đặt, nhưng bạn là nhà phát triển phần mềm nên bạn sẽ quen với điều đó. Tôi đã đăng một bản cập nhật hướng dẫn cho Debian 7 (Wheezy) trực tuyến:
http://www.ninthavenue.com.au/how-to-build-an-ios-toolchain-for-linux-debian-7
Nếu không, bạn muốn thực hiện theo các hướng dẫn chung cũ hơn một chút:
http://code.google.com.vn/p/ios-toolchain-basing-on-clang-for-linux/wiki/HowTo_en
Chúc may mắn.
Có một khung gọi là Rhodes .
Khái niệm này dựa trên Ruby on Rails và bạn phát triển ứng dụng di động của mình bằng Ruby và HTML và bạn có thể viết mã của mình trong môi trường Linux. Sau đó, bạn có thể tạo một tài khoản tại Rhohub , nơi bạn thêm mã (thông qua GitHub ) và cho phép bạn biên dịch nó cho iPhone, Blackberry, Android, Windows Mobile và Symbian, tất cả cùng một mã. Bạn không phải viết mã trong Objective-C cho iPhone, cũng không phải Java cho Android, v.v. Nó thực hiện các chuyển đổi cho bạn. Tất cả những gì bạn cần làm là tuân thủ Quy tắc tạo ứng dụng iPhone (hoặc Điện thoại bạn muốn phát triển) để có thể chấp nhận ứng dụng này tại iTunes (hoặc thị trường tương đương).
Điều này cũng sẽ cho phép bạn thêm ứng dụng vào iTunes.
Tôi chưa tìm thấy bất kỳ trình giả lập nào, tuy nhiên, điều đó có nghĩa là để kiểm tra ứng dụng của bạn, bạn cần đưa nó lên iPhone, đây là một nhiệm vụ.
Tôi đang sử dụng tùy chọn này vì tôi muốn tạo ứng dụng cho tất cả các điện thoại và tôi đã sử dụng Ruby on Rails. Nếu bạn chỉ muốn tạo một ứng dụng cho iPhone, thì hãy đầu tư vào máy Mac.
Hi vọng điêu nay co ich.
Các điện thoại không jailbreak đúng của bạn được giới hạn trong cửa hàng Ứng dụng của Apple và Apple "có quyền" thực thi bất kỳ quy tắc nào, đó là lãnh thổ hoàn toàn không có quyền. Tuy nhiên, trong khi phát triển, người ta sẽ không phải đối phó với Apple. Bạn có thể sử dụng ví dụ rsync để tải mã lên thiết bị và kiểm tra nó.
Ở một mức độ nhất định, có, nó có thể. Bạn có thể nhập mã Objective-C và thiết lập các dự án của bạn. Bạn thậm chí có thể kiểm tra các phần C và C ++ trong mã của mình bằng gcc.
Những gì bạn không thể làm:
Bạn cần phải có mac cho nó. Có một số chuỗi công cụ có sẵn (như chuỗi win) thực sự cho phép bạn viết và xây dựng các ứng dụng i Phone trên windows. Có một số hướng dẫn liên quan để xây dựng mã Objective C trên Windows. Nhưng có một vấn đề, các ứng dụng do đó được phát triển sẽ chỉ hoạt động trên Bẻ khóa i Điện thoại.
Chúng tôi đã thấy một số hack để vượt qua điều đó và đưa nó lên App Store, nhưng khi Apple tiếp tục cập nhật SDK, chuỗi công cụ cần cập nhật thường xuyên. Đó là một rắc rối để làm cho nó luôn luôn. Nếu bạn muốn có ứng dụng sẵn sàng, bạn cũng có thể nhận trợ giúp từ arcapps ra mắt ứng dụng với giá cả hợp lý. phát triển ứng dụng iphone
Tôi đã cố gắng chuyển cocos2d-iphone sang GNUstep để bạn có thể Phát triển trò chơi dựa trên cocos2d. Tuy nhiên để xuất bản bạn cần một máy mac. cocos2d-GNUstep .
Tôi khuyên bạn nên tải mac vì trình giả lập ios rất tuyệt vời để thử nghiệm trong giai đoạn đầu của ứng dụng. Nhưng tôi biết một công ty nhỏ mà chúng tôi hợp tác phát triển bằng Unity để họ không cần tải mac. Bằng cách đó, họ chỉ cần một máy mac cho văn phòng và đó chỉ là để biên dịch bản dựng cuối cùng. Nó cũng có nghĩa là nó hoạt động trên Android nhưng nó thực sự phụ thuộc vào tòa nhà của bạn bởi vì nó là một công cụ trò chơi. Bạn có thể muốn xem xét các ứng dụng web bằng các khung như Sencha Touch Mobile
Thống nhất: http://unity3d.com/ Sencha Touch: http://www.sencha.com/products/touch/
Nếu bạn coi trọng thời gian của mình, hãy mua máy Mac! Tôi không biết đủ về các tùy chọn phát triển Linux để cung cấp một giải pháp khả thi, nhưng có vẻ như các phương pháp được đề xuất liên quan đến một số công việc vòng xoay đẹp. Nếu bạn có kế hoạch nghiêm túc viết và bán ứng dụng iPhone, tôi nghĩ bạn có thể dễ dàng thu lại chi phí của Mac Mini hoặc Macbook. :-)
Bạn sẽ không bao giờ nhận được ứng dụng của mình được Apple chấp thuận nếu ứng dụng không được phát triển bằng Xcode. Không bao giờ. Và nếu bạn hack SDK để phát triển trên Linux và Apple phát hiện ra, đừng ngạc nhiên khi bạn được phục vụ. Tôi là thành viên của chương trình ADC và nhà phát triển iPhone. Tin tưởng, Apple rất nghiêm túc về điều này.
Đừng mạo hiểm, Mua Macbook hoặc Mac mini (vâng, mini có thể chạy Xcode - mặc dù chậm - tăng RAM nếu bạn đi với mini). Ngoài ra, trong khi tôi thấy OS X bị hack để chạy trên VMware, tôi chưa từng thấy ai chạy Xcode trên VM. Vậy thì chúc may mắn. Và tôi sẽ kiểm tra EULA trước khi bạn gặp rắc rối.
PS: Sau khi đọc phần trên, tôi đồng ý Nếu bạn hack SDK và phát triển trên Linux ít nhất là thực hiện việc đóng gói cuối cùng trên máy Mac. Và gửi nó qua máy Mac. Apple không chạy qua từng dòng mã nên tôi nghi ngờ họ sẽ nắm bắt được điều đó. Nhưng bạn ơi, đó là rất nhiều nếu và công việc. Hãy vui vẻ để làm mặc dù. :)