Câu hỏi Làm thế nào tôi có thể phát triển cho iPhone bằng cách sử dụng một máy phát triển Windows?


Có cách nào để tinker với iPhone SDK trên một máy Windows? Có kế hoạch cho một phiên bản iPhone SDK cho Windows?

Cách duy nhất khác mà tôi có thể nghĩ là thực hiện điều này là chạy một hình ảnh Mac VM trên VMWare máy chủ đang chạy trên Windows, mặc dù tôi không chắc chắn về cách thức hợp pháp này.


1081


gốc


Miguel de Icaza của Mono đã đăng về sử dụng và biên dịch Mono (một cổng Linux của .NET Framework) trên iPhone. - Jon Limjap
Làm thế nào về macincloud.com ? :) - Salman Abbas
Bạn có thể sử dụng Unity3D. Bạn có thể phát triển cho tất cả nền tảng di động với điều này, chỉ với 1 phát triển. - ababab5
Hoặc không bận tâm cố gắng chạy nó trên cửa sổ: Mua một "Mac mini" đã được tân trang lại. apple.com/shop/browse/home/specialdeals/mac/mac_mini  hoặc google "mua mini mac đã được tân trang". Đính kèm màn hình hiện tại của bạn và sử dụng bàn phím và chuột không dây (tôi sử dụng Logitech's, sử dụng bộ thu USB hợp nhất của họ). - ToolmakerSteve
Phonegap (các ứng dụng đơn giản, không có nguồn gốc) cung cấp một dịch vụ biên dịch đám mây để gói các ứng dụng của bạn cho một số điện thoại bao gồm cả iPhone. build.phonegap.com Tất cả phát triển được thực hiện trên PC. Tôi chưa sử dụng nó, nhưng sau khi đọc những lựa chọn thay thế này, tôi sắp sửa. - Chloe


Các câu trả lời:


Nó chắc chắn có thể phát triển trên một máy Windows, trên thực tế ứng dụng đầu tiên của tôi được phát triển độc quyền trên Dell Precision cũ mà tôi đã có vào thời điểm đó :)

Có ba tuyến đường;

  1. cài đặt, dựng lên OSx86 (aka iATKOS / Kalyway) trên phân vùng / đĩa thứ hai và khởi động kép.
  2. Chạy Mac OS X Server trong VMWare (Mac OS X 10.7 (Lion) trở đi, đọc bản cập nhật bên dưới).
  3. Sử dụng Delphi XE4 và dịch vụ macincloud. Đây là một bộ công cụ thương mại, nhưng hỗ trợ thành phần và lib đang phát triển.

Tuyến đầu tiên yêu cầu sửa đổi (hoặc sử dụng một hình ảnh trước khi sửa đổi) của Leopard có thể được cài đặt trên PC thông thường. Đây không phải là khó như bạn nghĩ, mặc dù tỷ lệ thành công / nỗ lực của bạn sẽ phụ thuộc vào mức độ chặt chẽ của phần cứng trong PC của bạn khớp với phần cứng trong Mac - ví dụ: nếu bạn đang chạy Core 2 Duo trên bo mạch chủ Intel, với một card đồ họa NVIDIA bạn đang cười. Nếu bạn đang chạy một máy AMD hoặc một cái gì đó mà không có SSE3 nó được tham gia nhiều hơn một chút.

Nếu bạn mua (hoặc đã sở hữu) một phiên bản của Leopard thì đây là một khu vực màu xám kể từ khi EULA Leopard nói rằng bạn chỉ có thể chạy nó trên một máy "Được gắn nhãn Apple". Như nhiều điểm ra nếu bạn dán một nhãn dán Apple trên máy tính của bạn, bạn có thể được bảo hiểm.

Lựa chọn thứ hai là tốn kém hơn. EULA cho phiên bản máy trạm của Leopard ngăn không cho nó chạy dưới mô phỏng và kết quả là không có hỗ trợ trong VMWare cho việc này. Tuy nhiên, máy chủ Leopard có thể chạy theo mô phỏng và có thể được sử dụng cho các mục đích trên máy tính để bàn. Leopard máy chủ và VMWare là tốn kém tuy nhiên.

Nếu bạn quan tâm đến tùy chọn 1), tôi khuyên bạn nên bắt đầu từ Insanelymac và đọc các phần OSx86.

Tôi nghĩ bạn nên cân nhắc xem liệu thời gian bạn sẽ đầu tư có xứng đáng với số tiền bạn sẽ tiết kiệm hay không. Đó là vì tôi vì tôi thích tinkering với loại công cụ này và tôi bắt đầu trong quá trình thử nghiệm iPhone sớm, vài tháng trước khi App Store của họ có sẵn.

Ngoài ra, bạn có thể lấy một chiếc Mac Mini có độ phân giải thấp từ eBay. Bạn không cần nhiều sức ngựa để chạy SDK và bạn luôn có thể bán nó sau này nếu bạn quyết định ngừng phát triển hoặc mua một chiếc Mac tốt hơn.

Cập nhật: Bạn không thể tạo máy ảo Mac OS X Client cho OS X 10.6 trở về trước. Apple không cho phép các hệ điều hành máy khách này được ảo hóa. Với Mac OS X 10.7 (Lion) trở đi, Apple đã thay đổi thỏa thuận cấp phép của họ liên quan đến ảo hóa. Nguồn: VMWare KnowledgeBase


477



OSX chạy trong một máy ảo, vì vậy trong lý thuyết nó có thể. Tuy nhiên, có một vài vấn đề. Nhận hỗ trợ mạng trong máy ảo (tôi đang nói về VMWare) cho OSX là vô cùng cứng. Ngoài ra, toàn bộ mọi thứ sẽ rất chậm, và tôi không nghĩ đó là trường hợp ném RAM vào nó. - Dmitri Nesteruk
@ DennisPalmer Tôi sẽ không recommand mua này như là giá rẻ Intel Core 2 Duo Mac Minis là chậm và thường được vận chuyển mà không cần bàn phím + chuột. Tôi nghĩ rằng đối với 650 $, bạn có thể có được một chiếc Macbook thực sự tuyệt vời (pro hoặc air) với bộ nhớ 4 Gb. - Zakaria
Tôi chỉ muốn chỉ ra rằng sử dụng VMWare ESX miễn phí miễn là bạn không có nhiều hơn 32 GB RAM, bạn trả lời nói rằng chạy VMWare là rất tốn kém: / - Mr. King
Từ taobao.com, bạn chỉ cần chi tiêu RMB 980 để mua Mac Mini. - Will Wu
Không có hành vi phạm tội, nhưng điều này nghe có vẻ rắc rối hơn rất nhiều so với nó có giá trị. Mac cũ có giá rẻ trên eBay và có thể chạy Xcode tốt. - sudo


Xamarin bây giờ là phiếu bầu hàng đầu của tôi. Mua bởi Microsoft và được xây dựng trực tiếp vào Visual Studio ngay bây giờ và có thể sử dụng C # và với tất cả các bản cập nhật và tính năng họ đang thêm, bạn có thể làm mọi thứ trên Windows, thậm chí biên dịch, xây dựng và bắt đầu triển khai. Bạn chỉ cần một Mac Mini để hoạt động như máy chủ triển khai, nhưng bạn không bao giờ cần phải viết bất kỳ mã nào trên đó.

Cho những trò chơi, Unity 3D là lựa chọn hàng đầu của tôi. Trình chỉnh sửa miễn phí lên đến 100 nghìn doanh thu hàng năm (hoàn hảo cho indie). Unity 5+ được mở khóa hoàn toàn, ngay cả phiên bản miễn phí. Unity hỗ trợ iOS, Android và hầu hết các nền tảng khác. Đối với iOS và MAC, chỉ cần có MAC Mini rẻ nhất mà bạn có thể tìm thấy để thực hiện việc xây dựng, nhưng tất cả sự phát triển có thể được thực hiện trên Windows.

Sự lựa chọn khác:

PhoneGap cũng hoạt động, nhưng tôi đã thấy nó không phải là khá tốt cho chơi game, nhưng nó khá tốt cho các ứng dụng GUI thông thường. Một lần nữa, bạn sẽ cần một máy Mac để đăng nhập và kiểm tra ứng dụng của bạn và tuân thủ các điều khoản sử dụng của Apple.


156



Xem thêm câu hỏi này về phát triển ứng dụng đa nền tảng để có thêm ý kiến ​​về PhoneGap và Marmalade: Công cụ phát triển ứng dụng dành cho thiết bị di động đa nền tảng tốt nhất - Ignitor
Phonegap rất tuyệt, nhưng bạn không thể phát triển ứng dụng của mình hoàn toàn trên PC Windows và sau đó chỉ cần đăng nhập trên iMac và hy vọng là tốt nhất. Trừ khi ứng dụng của bạn thuộc loại HelloWorld, bạn thực sự cần phải kiểm tra và gỡ lỗi. - Wytze
Có một phần mở rộng Visual Studio được gọi là Nomad không hỗ trợ phát triển hoàn toàn trên PC của bạn bằng cách đẩy PhoneGap xây dựng ra dịch vụ đám mây. - Mark Cheverton
Tôi không tin rằng Marmalade là miễn phí nữa, các điều khoản cấp phép đã thay đổi. - Jamie
Không thể sử dụng Xamarian trừ khi có một số PC MAC trên mạng


Nếu bạn có iPhone bị bẻ khóa, bạn có thể cài đặt iphone-gcc toolchain vào iPhone thông qua Cydia và bằng cách đó bạn có thể chỉ compilie các ứng dụng trên iPhone. Các ứng dụng được phát triển theo cách này vẫn có thể được gửi đến App Store.

Và mặc dù ông Valdez cho biết đó là một khu vực màu xám (mà nó được), jailbreaking là vô cùng dễ dàng và khá nhiều rủi ro miễn phí. Có, nó che giấu warrenty của bạn nhưng bạn chỉ có thể làm một khôi phục và họ sẽ không bao giờ biết.


141



Chỉ cập nhật: Việc bẻ khóa không còn che giấu bảo hành của bạn, ít nhất là không ở Hoa Kỳ - sudo
@ 9000 Có một nguồn? Mặc dù jailbreaking không còn là vi phạm DCMA (điều mà Apple chưa bao giờ thi hành), và có thể hoặc không làm mất hiệu lực warrenty (nó có mục đích mơ hồ), doese vi phạm EULA và apple sẽ từ chối dịch vụ trên một thiết bị bẻ khóa support.apple.com/kb/HT3743 - Josh Hunt
Làm thế nào họ có thể từ chối dịch vụ nếu bạn khôi phục thiết bị về trạng thái trước khi bẻ khóa bằng cách sử dụng iTunes - Khôi phục? Họ không thể phát hiện ra rằng nó đã từng được bẻ khóa - JoelFan
@JoelFan iOS có thể có cùng thứ với Android; một 'flash ticker'. Điều này được lưu trữ trong NVRAM và gia số mỗi lần system bị xóa, có nghĩa là nó có thể phát hiện được nếu nó bị nhòe hoặc bắt nguồn từ. Các thiết bị iOS có thể có cùng một thứ (trên thực tế, tôi sẽ ngạc nhiên nếu chúng không). - cybermonkey
Tôi từ chối Google Valdez. Nếu ai đó có thể cho chúng tôi biết tôi sẽ bị bắt buộc. - Harry Ninh


Hầu hết các "giải pháp Windows được gọi là để phát triển iOS mà không cần máy Mac" yêu cầu Mac ở cuối chỉ để ký và gửi đến cửa hàng ứng dụng. Tôi đã kiểm tra một vài, không phải tất cả mặc dù (ai có thời gian?)

Cuối cùng nó chỉ là quá nhiều rắc rối để tìm hiểu "siêu đặc biệt của họ cách dễ dàng để chương trình iOS mà không có Objective-C", họ có rất nhiều lỗi. Thực sự mục tiêu mà họ đang thiết lập là không thể thực hiện được trong quan điểm của tôi.

Cũng rất nhiều thời gian họ làm cho bạn sử dụng các câu lệnh tương đương Objective-C đơn giản bằng ngôn ngữ khác. Họ trông giống nhau nhưng luôn có những khác biệt tinh tế mà bạn phải học trên đầu trang của obj-c. Mà cũng làm cho cảm giác ít hơn, bởi vì bây giờ thay vì học ít hơn, bạn phải tìm hiểu thêm. Vậy lợi ích ở đâu? Họ cũng tốn rất nhiều tiền, bởi vì họ rất khó phát triển.

Nhiều người thiếu bất kỳ khả năng gỡ lỗi nào.

Theo ý kiến ​​trung thực của tôi, nếu bạn là một nhà phát triển iOS lõi cứng thì chắc chắn mua máy Mac tốt nhất và tìm hiểu mục tiêu-c. Đó là tốn kém và mất thời gian, nhưng nếu đó là con đường của bạn, nó có giá trị nó.

Để sử dụng thường xuyên, việc thuê dịch vụ Mac từ xa trở nên dễ dàng hơn, như XCodeClub.com 


68



Tôi không đủ quen thuộc với PhoneGap để viết bài đánh giá nhưng tôi thích ý tưởng: Các ứng dụng đa nền tảng được viết bằng các kỹ thuật HTML5 + JavaScript phổ biến rộng rãi. - Ignitor
[VirtualMacOSX.com] [1] có kế hoạch phát triển xCode, từ (tính đến nay) $ 10 một tháng. Tôi chắc rằng những người khác cũng vậy. [1]: virtualmacosx.com/index.php/xcode-plans - Prof. Falken
@ArtA. xcodeclub.com bây giờ là THÊM so với maincloud. - Anonymous Penguin
Tôi không có ý tưởng dịch vụ này thậm chí còn tồn tại. Tôi chỉ muốn khám phá và chơi với nó và đã từ bỏ bây giờ làm tất cả các cách giải quyết điên rồ, nhưng điều này dễ dàng hơn nhiều. Mẹo tuyệt vời! - Alex Beardsley
"bây giờ [...] bạn phải học nhiều hơn. Ngoài ra họ cũng tốn rất nhiều [...]" ..... "mua máy Mac tốt nhất và tìm hiểu mục tiêu-c. Nó đắt tiền và mất thời gian [...]" Kết luận: iOS phát triển trong cả hai trường hợp đắt tiền và mất thời gian. ;) - MA-Maddin


Bạn có thể dùng WinChain

Trích dẫn trang dự án:

Đó là cách dễ nhất để xây dựng chuỗi công cụ iPhone trên máy tính Windows XP / Vista, từ đó, có thể lấy mã nguồn Objective-C mà bạn viết bằng cách sử dụng Tiêu đề UIKit của chúng (kèm theo winChain) và biên dịch nó thành ứng dụng mà bạn có thể sử dụng trên iPhone của bạn.


53



như vậy là miễn phí để sử dụng và bạn có thể phát triển các ứng dụng ios mà bạn có thể đặt trên cửa hàng táo ?? - BlueShark
Rất tiếc !! Bản dựng mới nhất là vào ngày 3 tháng 12 năm 2007 ????


SDK chỉ khả dụng trên OS X, buộc bạn phải sử dụng mac. Nếu bạn không muốn mua một mac, bạn có thể chạy OS X trên một máy ảo trên hộp windows của bạn, hoặc bạn có thể cài đặt OS X trên máy tính của bạn.

Theo kinh nghiệm của tôi, giải pháp máy ảo rất chậm (trên máy tính xách tay đôi core2 với ram 2G). Nếu bạn muốn thử tìm torrent. Nó có lẽ không đáng giá.

Các tùy chọn khác là cài đặt OS X trên PC của bạn, thường được gọi là hackintosh. Hackintosh hoạt động khá tốt - bạn tôi chỉ bán chiếc mac của mình vì chiếc laptop lõi tứ Dell của Dell thực sự nhanh hơn nhiều so với phần cứng của Apple (và giá khoảng 1/3). Bạn có thể tìm thấy rất nhiều bài viết về cách làm điều này; đây là một cách để cài đặt trên máy tính xách tay Dell Inspirion 1525: hackbook pro hướng dẫn

Tất nhiên cả hai tùy chọn này có khả năng chống lại một số chương trình cấp phép, do đó, tiến hành nguy cơ của riêng bạn.


52



Liên kết trong câu trả lời này đã lỗi thời. Ai đó có thể cập nhật nó? - ρss
Thông tin hackintosh trở nên lỗi thời khá dễ dàng, tốt hơn là theo dõi các trang web dành riêng cho chủ đề (như osxlatitude cho các mô hình dell) - prusswan


Bạn không cần sở hữu một chiếc Mac cũng như bạn không cần phải tìm hiểu Objective-C. Bạn có thể phát triển trong các môi trường khác nhau và biên dịch vào Objective-C sau này.

phát triển cho iphone và ipad bằng cách chạy osx 10.6 (báo tuyết)

Bài viết này một trong những nhà phát triển của chúng tôi đã viết cho một bước đi khá toàn diện thông qua cài đặt OS X Snow Leopard trên Windows bằng cách sử dụng iBoot, sau đó cài đặt Vmware (với hướng dẫn), sau đó nhận được môi trường dev iPhone của bạn ... và một vài điều juicy thêm. Siêu hữu ích cho tôi.

Hy vọng rằng sẽ giúp. Nó sử dụng Phonegap để bạn có thể phát triển trên nhiều nền tảng điện thoại thông minh cùng một lúc.


25