ฉันจะพัฒนา iPhone โดยใช้เครื่องพัฒนา Windows ได้อย่างไร


1185

มีวิธีใดบ้างที่คนจรจัดด้วย iPhone SDK บนเครื่อง Windows มีแผนสำหรับ iPhone SDK เวอร์ชันสำหรับ Windows หรือไม่

วิธีเดียวที่ฉันสามารถทำได้คือเรียกใช้อิมเมจ Mac VM บนเซิร์ฟเวอร์VMWare ที่ทำงานบน Windows แม้ว่าฉันจะไม่แน่ใจว่ากฎหมายนี้เป็นเช่นไร


1
มิเกลเดกาซาของโมโนโพสต์เกี่ยวกับการใช้และการรวบรวมโมโน (พอร์ตลินุกซ์ของ .NET Framework) บน iPhone
Jon Limjap

1
TOS ได้รับการอัปเดตและอนุญาตให้ C # (ในภาษาอื่น ๆ ): macgasm.net/2010/09/09/…
jjxtra

26
แล้วmacincloud.comล่ะ? :)
Salman von Abbas

3
คุณสามารถใช้ Unity3D ได้ คุณสามารถพัฒนาแพลตฟอร์มมือถือทั้งหมดได้ด้วยการพัฒนาเพียง 1 ครั้ง
ababab5

5
หรือไม่ต้องพยายามเรียกใช้บน windows: ซื้อ "Mac mini" ที่ได้รับการตกแต่งใหม่ apple.com/shop/browse/home/specialdeals/mac/mac_mini หรือ google "ซื้อ mac mini ที่ตกแต่งใหม่" แนบจอภาพที่มีอยู่ของคุณและใช้คีย์บอร์ดและเมาส์ไร้สาย (ฉันใช้ Logitech's ที่ใช้ตัวรับสัญญาณ Unify USB)
ToolmakerSteve

คำตอบ:


502

แน่นอนว่าเป็นไปได้ที่จะพัฒนาบนเครื่อง Windows อันที่จริงแล้วแอปพลิเคชั่นแรกของฉันได้รับการพัฒนาโดยเฉพาะบน Dell Precision ที่ฉันมีอยู่ตอนนั้น :)

มีสามเส้นทาง;

  1. ติดตั้งOSx86 (aka iATKOS / Kalyway) บนพาร์ติชั่น / ดิสก์ตัวที่สองและบูตคู่
  2. เรียกใช้ Mac OS X Server ภายใต้ VMWare (Mac OS X 10.7 (Lion) เป็นต้นไปอ่านการอัพเดทด้านล่าง)
  3. ใช้ Delphi XE4 และบริการ macincloud นี่เป็นชุดเครื่องมือเชิงพาณิชย์ แต่การสนับสนุนส่วนประกอบและ lib กำลังเพิ่มขึ้น

เส้นทางแรกต้องมีการแก้ไข (หรือการใช้อิมเมจที่แก้ไขล่วงหน้า) ของ Leopard ซึ่งสามารถติดตั้งบนพีซีปกติ สิ่งนี้ไม่ยากอย่างที่คิดแม้ว่าอัตราความสำเร็จ / ความพยายามของคุณจะขึ้นอยู่กับว่าฮาร์ดแวร์ในพีซีของคุณตรงกับที่อยู่ในฮาร์ดแวร์ Mac เช่นถ้าคุณใช้ Core 2 Duo บนเมนบอร์ด Intel กับ NVidia กราฟิกการ์ดที่คุณหัวเราะ หากคุณใช้งานเครื่อง AMD หรือบางอย่างที่ไม่มี SSE3 จะมีส่วนเกี่ยวข้องเพิ่มขึ้นอีกเล็กน้อย

หากคุณซื้อ (หรือเป็นเจ้าของแล้ว) รุ่นของ Leopard แล้วนี่เป็นพื้นที่สีเทาเนื่องจาก Leopard EULA ระบุว่าคุณสามารถเรียกใช้บนเครื่อง "Apple Labeled" เท่านั้น ถ้าหากคุณติดสติ๊กเกอร์ Apple บนพีซีของคุณ

ตัวเลือกที่สองมีราคาแพงกว่า EULA สำหรับเวอร์ชันเวิร์กสเตชันของ Leopard ป้องกันไม่ให้ทำงานภายใต้การจำลองและดังนั้นจึงไม่มีการสนับสนุนใน VMWare สำหรับเรื่องนี้ เซิร์ฟเวอร์เสือดาวอย่างไรก็ตามสามารถทำงานภายใต้การจำลองและสามารถใช้สำหรับวัตถุประสงค์เดสก์ท็อป เซิร์ฟเวอร์เสือดาวและ VMware มีราคาแพงอย่างไรก็ตาม

หากคุณสนใจในตัวเลือก 1) ฉันขอแนะนำให้เริ่มต้นที่Insanelymacและอ่านหัวข้อ OSx86

ฉันคิดว่าคุณควรพิจารณาว่าเวลาที่คุณจะลงทุนจะคุ้มค่ากับเงินที่คุณจะประหยัดหรือไม่ สำหรับฉันเพราะฉันสนุกกับงานประเภทนี้และฉันเริ่มต้นในช่วงเช้า iPhone ตอนต้นเดือนก่อนที่ App Store จะเปิดให้ใช้งาน

หรือมิฉะนั้นคุณสามารถเลือก Mac Mini ขนาดเล็กจาก eBay ได้ คุณไม่จำเป็นต้องมีแรงม้ามากนักในการใช้งาน SDK และคุณสามารถขายมันได้ในภายหลังหากคุณตัดสินใจที่จะหยุดพัฒนาหรือซื้อ Mac ที่ดีกว่า

อัปเดต: คุณไม่สามารถสร้างเครื่องเสมือน Mac OS X Client สำหรับ OS X 10.6 และรุ่นก่อนหน้า Apple ไม่อนุญาตให้ใช้ระบบปฏิบัติการไคลเอ็นต์เหล่านี้เป็นแบบเสมือน ด้วย Mac OS X 10.7 (Lion) เป็นต้นไป Apple ได้เปลี่ยนแปลงข้อตกลงใบอนุญาตในส่วนที่เกี่ยวกับการจำลองเสมือน ที่มา: VMWare KnowledgeBase


OSX ทำงานใน VM ดังนั้นในทางทฤษฎีมันเป็นไปได้ อย่างไรก็ตามมีปัญหาเล็กน้อย ได้รับการสนับสนุนเครือข่ายใน VM (ฉันพูดคุยเกี่ยวกับ VMWare) สำหรับ OSX เป็นอย่างมากยาก นอกจากนี้ทุกอย่างกำลังจะช้ามากและฉันไม่คิดว่ามันเป็นกรณีของการขว้างปาแรมเลย
Dmitri Nesteruk

@DennisPalmer ฉันจะไม่แนะนำการซื้อนี้เนื่องจาก Intel Core 2 Duo Mac Minis ราคาถูกช้าและจัดส่งโดยทั่วไปโดยไม่มีแป้นพิมพ์ + เมาส์ ฉันคิดว่าราคา 650 เหรียญคุณจะได้ Macbook ที่ยอดเยี่ยม (มือโปรหรือทางอากาศ) ที่มีหน่วยความจำ 4 Gb
Zakaria

@Zakaria ใช่มีการเปลี่ยนแปลงมากมายในช่วง 3 ปีที่ผ่านมา! ฉันมีคีย์บอร์ดเม้าส์และจอมอนิเตอร์มากมายเมื่อฉันซื้อ Mac Mini ดังนั้นตอนนี้มันเป็นตัวเลือกที่ดี โอ้และฉันจ่ายแค่ $ 360 เท่านั้น ยังไม่ได้ซื้อ eBay สำหรับ Macbooks มือสองมานาน แต่นั่นเป็นข้อเสนอแนะที่ดี
CoderDennis

12
ฉันแค่อยากจะชี้ให้เห็นว่าการใช้ VMWare ESX นั้นฟรีตราบใดที่คุณไม่มี RAM มากกว่า 32 GB คุณตอบว่าการใช้ VMWare มีราคาแพงมาก: /
นายคิง

4
ไม่มีความผิด แต่นี่ฟังดูเหมือนเป็นปัญหามากกว่าที่ควรค่า Mac เก่า ๆ นั้นราคาถูกบน eBay และสามารถรัน Xcode ได้ดี
sudo

175

ซามารินเป็นตัวเลือกที่มั่นคง มันถูกซื้อโดย Microsoft และตอนนี้สร้างขึ้นใน Visual Studio โดยตรง คุณรหัสใน C # ด้วยการอัปเดตและฟีเจอร์ที่เพิ่มเข้ามาคุณสามารถทำทุกอย่างได้ แต่ส่งไปยัง App Store จาก Windows แม้กระทั่งการคอมไพล์สร้างและปรับใช้กับอุปกรณ์ iOS

สำหรับเกมUnity 3Dเป็นตัวเลือกที่ยอดเยี่ยม บรรณาธิการมีอิสระที่จะใช้สำหรับการพัฒนาและแม้กระทั่งสำหรับการจัดจำหน่าย (ถ้าคุณมีรายได้ต่อปีน้อยกว่า 100K USD) Unity รองรับ iOS, Android และแพลตฟอร์มอื่น ๆ ส่วนใหญ่ อาจเป็นไปได้ที่จะใช้คุณสมบัติ "สร้างเมฆ" ของ Unity เพื่อหลีกเลี่ยงการใช้ Mac สำหรับการปรับใช้แม้ว่าโดยปกติแล้ว Unity จะแยกโครงการ Xcode เมื่อสร้างสำหรับ iOS

ตัวเลือกอื่น:

PhoneGap (html / javascript) สามารถใช้งานได้ มันไม่ค่อยดีสำหรับการเล่นเกม แต่มันค่อนข้างดีสำหรับแอพพลิเคชั่น GUI ทั่วไป

Flutter (dart) เป็นกรอบการพัฒนาแอพมือถือข้ามแพลตฟอร์มฟรีจาก Google เขียนรหัสของคุณใน Dart

React Native (javascript) เป็นอีกหนึ่งเฟรมเวิร์กข้ามแพลตฟอร์มยอดนิยมที่สร้างโดย Facebook

โปรดทราบว่า: สำหรับตัวเลือกทั้งหมดเหล่านี้การพัฒนาทั้งหมดหรือเกือบทั้งหมดสามารถทำได้บน Windows แต่ยังคงต้องใช้อุปกรณ์ MacOS เพื่อสร้างไบนารีสำหรับส่งไปยัง App Store ทางเลือกหนึ่งคือการได้รับ MAC Mini ราคาถูกเพื่อทำโครงสร้างขั้นสุดท้ายของคุณ


ฉันใช้ Airplay เพื่อพัฒนาเกมข้ามแพลตฟอร์ม ข่าวดีก็คือพวกเขาอาจปฏิบัติตามข้อกำหนดและเงื่อนไขของ iPhone OS 4.0 ใหม่อย่างสมบูรณ์ ดูairplaysdk.com/node/672
hiddentao

7
Phonegap นั้นยอดเยี่ยม แต่คุณไม่สามารถพัฒนาแอพของคุณบนพีซี Windows ได้อย่างสมบูรณ์และเพียงแค่เซ็นชื่อบน iMac และหวังว่าจะดีที่สุด ยกเว้นว่าแอปของคุณมีความหลากหลายของ HelloWorld คุณจะต้องทดสอบและแก้ไขข้อบกพร่อง
Wytze

4
มีส่วนขยาย Visual Studio ชื่อNomadซึ่งรองรับการพัฒนาทั้งหมดบนพีซีของคุณโดยการกด PhoneGap สร้างออกไปเป็นบริการคลาวด์
Mark Cheverton

3
ฉันไม่เชื่อว่า Marmalade ให้บริการฟรีอีกต่อไปข้อกำหนดสิทธิการใช้งานได้เปลี่ยนไป
Jamie

3
Xamarian ไม่สามารถใช้งานได้เว้นแต่จะมี MAC PC บางตัวในเครือข่าย

149

หากคุณมี iPhone ที่ถูกเจลเบรคคุณสามารถติดตั้งtoolchain ของ iphone-gccบน iPhone ผ่าน Cydia และวิธีที่คุณสามารถรวบรวมแอพบน iPhone แอพที่พัฒนาขึ้นด้วยวิธีนี้ยังสามารถส่งไปยัง App Store ได้

และถึงแม้ว่านายวาลเดซบอกว่ามันเป็นพื้นที่สีเทา (ซึ่งก็คือ) การจำคุกนั้นง่ายและไม่เสี่ยงมาก ใช่แล้วจะทำให้ช่องว่างของคุณว่างเปล่า แต่คุณสามารถทำการกู้คืนและพวกเขาจะไม่มีทางรู้


14
เพิ่งอัปเดต: การ Jailbreaking จะไม่ทำให้การรับประกันของคุณอีกต่อไปอย่างน้อยไม่ได้อยู่ในสหรัฐอเมริกา
sudo

3
@ 9000 มีแหล่งที่มาหรือไม่? แม้ว่า jailbreaking จะไม่ละเมิด DCMA (สิ่งที่แอปเปิ้ลไม่เคยบังคับใช้อยู่แล้ว) และอาจจะหรืออาจไม่เป็นโมฆะ warrenty (มันคลุมเครืออย่างเด็ดเดี่ยว) มัน doese ละเมิด EULA และแอปเปิ้ลจะปฏิเสธการให้บริการบนอุปกรณ์ jailbroken support.apple .com / kb / HT3743
Josh Hunt

1
พวกเขาจะปฏิเสธบริการได้อย่างไรหากคุณกู้คืนอุปกรณ์ให้อยู่ในสถานะ pre-jailbroken โดยใช้ iTunes - Restore พวกเขาไม่สามารถตรวจพบได้ว่าครั้งหนึ่งเคยถูกเจลเบรค
JoelFan

2
@JoelFan iOS อาจมีสิ่งเดียวกับ Android 'แฟลชทิกเกอร์' สิ่งนี้ถูกเก็บไว้ใน NVRAM และเพิ่มขึ้นทุกครั้งที่systemถูกเช็ดหมายความว่าเป็นไปได้ที่จะตรวจพบว่ามีการฉายแสงหรือถูกรูท อุปกรณ์ iOS อาจมีสิ่งเดียวกัน (ที่จริงแล้วฉันจะแปลกใจหากพวกเขาไม่ได้)
AStopher

6
ฉันปฏิเสธ Google วาลเดซ ถ้ามีคนบอกเราได้ว่าฉันต้องรับผิดชอบ
Harry Ninh

78

"โซลูชัน Windows ที่เรียกว่าส่วนใหญ่สำหรับการพัฒนา iOS ที่ไม่มี Mac" ส่วนใหญ่ต้องการ Mac ในตอนท้ายเพียงแค่ลงชื่อและส่งไปยัง app store ฉันตรวจสอบบางอย่างไม่ใช่ทั้งหมด (ใครมีเวลา)

ในตอนท้ายมันเป็นปัญหามากเกินไปที่จะเรียนรู้ "วิธีที่ง่ายที่สุดในการเขียนโปรแกรม iOS โดยไม่มี Objective-C" พวกเขามีข้อบกพร่องมากมาย จริงๆแล้วเป้าหมายที่พวกเขาตั้งค่านั้นไม่สามารถทำได้ในมุมมองของฉัน

นอกจากนี้ยังมีเวลาอีกมากที่พวกเขาทำให้คุณใช้คำสั่งที่เทียบเท่า Objective-C ในภาษาอื่น พวกมันดูเหมือนกัน แต่มีความแตกต่างที่ลึกซึ้งอยู่เสมอที่คุณต้องเรียนรู้จาก obj-c ซึ่งทำให้มีความรู้สึกน้อยลงเพราะตอนนี้แทนที่จะเรียนรู้น้อยลงคุณต้องเรียนรู้เพิ่มเติม แล้วกำไรอยู่ที่ไหน นอกจากนี้ยังมีค่าใช้จ่ายจำนวนมากเพราะพวกเขาพัฒนาได้ยากมาก

หลายคนขาดความสามารถในการดีบั๊กใด ๆ

ในความเห็นของฉันถ้าคุณเป็นนักพัฒนา iOS ฮาร์ดคอร์แน่นอนว่าซื้อ Mac ที่ดีที่สุดและเรียนรู้เกี่ยวกับวัตถุประสงค์ มันแพงและใช้เวลา แต่ถ้ามันเป็นเส้นทางของคุณมันก็คุ้มค่า

สำหรับการใช้งานเป็นครั้งคราวมันง่ายกว่าที่จะเช่าบริการ Mac ระยะไกลเช่น XCodeClub.com


1
ฉันไม่คุ้นเคยกับ PhoneGap มากพอที่จะเขียนความเห็น แต่ฉันชอบความคิด: แอพข้ามแพลตฟอร์มที่เขียนด้วยเทคนิคการแพร่กระจายแบบกว้าง HTML5 + JavaScript
Ignitor

1
[VirtualMacOSX.com] [1] มีแผนสำหรับการพัฒนา xCode ตั้งแต่ (จนถึงตอนนี้) $ 10 ต่อเดือน ฉันแน่ใจว่าคนอื่นมีเช่นกัน [1]: virtualmacosx.com/index.php/xcode-plans
ศ. Falken ผิดสัญญา

ฉันไม่รู้เลยว่าบริการนี้มีอยู่จริง ฉันแค่ต้องการสำรวจและเล่นกับมันและกำลังจะยอมแพ้เพื่อทำสิ่งที่บ้าคลั่งเหล่านี้ แต่มันง่ายกว่ามาก สุดยอดเคล็ดลับ!
Alex Beardsley

"ตอนนี้ [... ] คุณต้องเรียนรู้เพิ่มเติมนอกจากนี้ยังมีค่าใช้จ่ายมากมาย [... ]" ..... "ซื้อ Mac ที่ดีที่สุดและเรียนรู้วัตถุประสงค์ -c มันมีราคาแพงและต้องใช้เวลา [... ] "บทสรุป: การพัฒนา iOS อาจมีราคาแพงและต้องใช้เวลา ;)
Martin Schneider

55

SDK มีให้ใน OS X เท่านั้นบังคับให้คุณใช้ mac หากคุณไม่ต้องการซื้อ mac คุณสามารถเรียกใช้ OS X บนเครื่องเสมือนในกล่อง windows ของคุณหรือคุณสามารถติดตั้ง OS X บนพีซีของคุณ

จากประสบการณ์ของฉันโซลูชันเครื่องเสมือนช้าผิดปกติ (บนแล็ปท็อป core2 duo พร้อม RAM 2G) หากคุณรู้สึกอยากลองค้นหาไฟล์ torrent มันอาจจะไม่คุ้มค่า

ตัวเลือกอื่นคือติดตั้ง OS X บนพีซีของคุณโดยทั่วไปเรียกว่าแฮก Hackintoshes ทำงานได้ค่อนข้างดี - เพื่อนของฉันเพิ่งขายแม็คของเขาเพราะเด็คแฮ็คระบบควอดคอร์ของ Dell นั้นเร็วกว่าฮาร์ดแวร์แอปเปิ้ลมาก (และราคาประมาณ 1/3) คุณสามารถค้นหาบทความจำนวนมากเกี่ยวกับวิธีการทำเช่นนี้; นี่คือวิธีการติดตั้งบนแล็ปท็อป Dell Inspirion 1525: โปรแกรมแฮ็กบุ๊กโปร

แน่นอนว่าตัวเลือกทั้งสองนี้มีแนวโน้มว่าจะไม่สอดคล้องกับรูปแบบสิทธิ์การใช้งานดังนั้นคุณต้องยอมรับความเสี่ยงด้วย


2
ข้อมูลของแฮกเกอร์นั้นล้าสมัยไปแล้วอย่างง่ายดายมันเป็นการดีกว่าที่จะติดตามเว็บไซต์ที่ทุ่มเทให้กับเรื่อง (เช่น osxlatitude สำหรับรุ่นของ Dell)
prusswan

53

คุณสามารถใช้WinChain

การอ้างถึงหน้าโครงการ:

มันเป็นวิธีที่ง่ายที่สุดในการสร้าง iPhone toolchain บนคอมพิวเตอร์ที่ใช้ Windows XP / Vista ซึ่งสามารถนำซอร์สโค้ด Objective-C ที่คุณเขียนโดยใช้ UIKit Headers (มาพร้อมกับ winChain) และคอมไพล์ลงในแอปพลิเคชันที่คุณสามารถใช้ บน iPhone ของคุณ


1
มันใช้งานได้ฟรีและคุณสามารถพัฒนาแอพ iOS ที่คุณสามารถใส่ในร้าน Apple ได้ ??
BlueShark

28

คุณไม่จำเป็นต้องมี Mac หรือไม่จำเป็นต้องเรียนรู้ Objective-C คุณสามารถพัฒนาในสภาพแวดล้อมที่แตกต่างกันและรวบรวมเป็น Objective-C ในภายหลัง

การพัฒนาสำหรับ iphone และ ipad โดยการเรียกใช้ osx 10.6 (เสือดาวหิมะ)

บทความนี้หนึ่งในนักพัฒนาของเราเขียนให้เดินผ่านการติดตั้ง OS X Snow Leopard บน Windows โดยใช้ iBoot จากนั้นติดตั้ง Vmware (พร้อมคำแนะนำ) จากนั้นทำให้สภาพแวดล้อมการพัฒนา iPhone ของคุณกำลังดำเนินต่อไป ... สุดยอดประโยชน์สำหรับฉัน

หวังว่าจะช่วย มันใช้ Phonegap เพื่อให้คุณสามารถพัฒนาบนสมาร์ทโฟนหลายแพลตฟอร์มพร้อมกัน



21

devkit ที่อนุญาตให้หนึ่งพัฒนาแอพ iPhone ได้ Objective-C, C++หรือเพียงแค่ C ธรรมดากับ Visual Studio:

ลองใช้งานได้ที่iOS build env

คุณสามารถสร้างแอพของ iPhone ได้โดยตรงภายใน Visual Studio (2008, 2010, Express)

ค่อนข้างเรียบร้อยมันยังสร้างIPAไฟล์สำหรับแอพของคุณหลังจากการคอมไพล์สำเร็จ รหัสทำงานบนอุปกรณ์ที่ใช้ในการเจลเบรคสำหรับส่วนที่เหลือของโลกฉันเชื่อว่าการรวบรวม & ส่งสุดท้ายไปยัง App Store ต้องใช้กับ Mac แต่ก็ยังช่วยให้คุณพัฒนาโดยใช้ IDE ที่รู้จักกันดี


19

แน่นอนคุณสามารถเขียนรหัส Objective-C ในแผ่นจดบันทึกหรือโปรแกรมอื่น ๆ แล้วย้ายไปยัง Mac เพื่อคอมไพล์

แต่ขึ้นอยู่กับว่าคุณกำลังพัฒนาแอพพลิเคชั่นอย่างเป็นทางการให้ใส่ใน App Store หรือพัฒนาแอพพลิเคชั่นสำหรับ iPhone ที่ถูกเจลเบรค ในการเขียนแอปพลิเคชั่นอย่างเป็นทางการ Apple iPhone SDK ซึ่งต้องใช้ Intel Mac นั้นเป็นวิธีที่ใช้งานได้จริงเท่านั้น อย่างไรก็ตามมี toolchain ที่ไม่เป็นทางการที่จะเขียนแอปพลิเคชันสำหรับ iPhone ที่ jailbroken คุณสามารถรันบน Linux และ Windows (โดยใช้ Cygwin)


18

ลองmacincloud.comช่วยให้คุณสามารถเช่า mac และเข้าถึงผ่านรีโมทคอนโทรล RDP จากนั้นคุณสามารถใช้พีซีของคุณเพื่อเข้าถึง mac และพัฒนาแอพของคุณ



12

ไชโย! ตอนนี้คุณสามารถทำสิ่งนี้ให้สำเร็จได้ง่ายขึ้นด้วย Xamarin.iOS ล่าสุดโดยใช้ mac-linked network ที่ให้ความสามารถในการสร้างและปรับใช้

ดูที่นี่สำหรับรายละเอียดเพิ่มเติม:

แนะนำ xamarin ios สำหรับ visual studio


11

หากคุณต้องการให้ถูกต้องคุณมีสองตัวเลือกโซลูชัน Mac ที่ใช้ระบบคลาวด์หรือเครื่องมือพัฒนาข้ามแพลตฟอร์ม คุณอาจพิจารณาถึงวิธีการแฮกเกอร์หรือเครื่องเสมือนหากคุณไม่สนใจเรื่องกฎหมาย หากคุณมีพีซีที่เหมาะสมการใช้เครื่องเสมือนจะเป็นวิธีที่ง่ายที่สุด คุณอาจไม่มีทางรู้ว่าฮาร์ดแวร์ตัวไหนจะมีปัญหากับตัวขับบนแฮกเกอร์

ฉันได้ลองวิธีการเหล่านี้ทั้งหมดและพวกเขาล้วน แต่มีข้อดีข้อเสีย แต่สำหรับกลุ่มที่สองฉันรู้สึกผิด ฉันพัฒนาแอพเพื่อทำมาหากินและฉันไม่ต้องการที่จะฉ้อโกงคนอื่น

หากคุณกำลังทำโครงการขนาดเล็ก Mac ที่ใช้ระบบคลาวด์อาจพิสูจน์ได้ว่ามีประโยชน์ เช่าเป็นเวลาสั้น ๆ พัฒนาโครงการของคุณและออกไป ไม่ต้องกังวลกับการเรียนรู้สิ่งใหม่

อย่างไรก็ตามหากโครงการของคุณมีขนาดใหญ่โครงงานข้ามแพลตฟอร์มก็เป็นทางเลือกเดียว สิ่งสำคัญคือคุณต้องเลือกอย่างชาญฉลาด มีไฮบริดเฟรมเวิร์กจำนวนมาก แต่สิ่งที่พวกเขาสามารถสรุปได้ในประโยคเดียวคือ "การเจรจาต่อรองหน้าเว็บในแอพ"

ฉันลองสามสิ่งเหล่านี้ (Titanium, Smartface และ Xamarin) และพวกเขาทั้งหมดอ้างว่าผลิต "ผลผลิตจริงแท้" และในความเห็นของฉันการเรียกร้องของพวกเขาถูกต้อง คุณต้องทดสอบและดูว่าเป็นของตัวเองอย่างไรมันไม่ง่ายเลยที่จะอธิบายความรู้สึกพื้นเมือง ในความคิดเห็นก่อนหน้านี้มีการระบุว่าใช้ความพยายามในการเรียนรู้แพลตฟอร์มเหล่านี้ แต่เมื่อคุณรู้จักพวกเขาคุณสามารถพัฒนาได้ไม่เพียง แต่แอปพลิเคชั่น iOS แต่เป็นแอพพลิเคชั่น Android ด้วยทั้งหมด และแน่นอนว่าราคาถูกกว่าคลาวด์แมค บางคนก็ฟรี คุณจะต้องใช้ Mac เพื่อการส่งสินค้าเท่านั้น

หากคุณรู้จัก JavaScript ให้ลอง Titanium และ Smartface และหากคุณรู้จัก C # ให้ลอง Xamarin เพิ่งทราบว่าสำหรับอุปกรณ์ simuator นั้น Titanium ขึ้นอยู่กับ Mac แต่ Smartface มีแอพจำลองสำหรับการพัฒนา Windows และใช้งานได้ดีกว่าที่ฉันคาดไว้ ในทางกลับกัน Xamarin ต้องการ Mac ในเครือข่ายของคุณ


9

หากคุณต้องการสร้างแอพของ iPhone แต่ไม่มี Mac คุณควรลองhttp://www.pmbaty.com/iosbuildenv/

มันช่วยให้คุณพัฒนาแอพ iOS ดั้งเดิมได้อย่างง่ายดายเช่นกับ XCode สามารถปรับใช้กับ iPhone, iPod หรือ iPad ใด ๆ (jailbroken หรือไม่)

ใช้รหัส IDE ที่คุณชื่นชอบใน Objective-C, C ++, C หรือแอสเซมบลี ARM เช่นเดียวกับใน XCode รองรับ ARC และบล็อก

รวบรวมแอพ iPhone ของคุณโดยตรงภายใน Visual Studio

มันทำงานบน Windows ทุกรุ่น (XP, 7, 8), FreeBSD และ Linux

ตอนนี้พร้อมรองรับ iOS8


3
ตามนโยบาย SO คุณสามารถเปิดเผยการเป็นพันธมิตรกับไซต์ที่แนะนำของคุณได้หรือไม่?
ไซเรน

8

น่าสนใจที่ไม่มีใครพูดถึงตัวเลือกwxWidgetsข้ามแพลตฟอร์ม

มันน้อยกว่าทางออกที่ดีที่สุด

IMHO วิธีที่ชาญฉลาดในการดำเนินธุรกิจคือการลงทุนเงินในกรอบการรับรองของ Apple ด้วยวิธีนี้หากคุณพบว่าตัวเองติดอยู่กับปัญหาที่น่าเหลือเชื่อคุณมีชุมชนนักพัฒนาที่ใหญ่กว่ามากที่จะให้คำปรึกษา


8

คุณสามารถพัฒนาแอพพลิเคชั่น IPHONE บนพีซีของ Windows ฉันทำไปแล้วด้วยแอพที่ซับซ้อน และมันทำงานได้อย่างสมบูรณ์แบบ คุณสามารถพัฒนาแอพ iphone โดยไม่เคยเห็น mac หรือ iphone

คุณสามารถพัฒนาแอพ HTML (หรือดีกว่า: HTML5) บน windows โดยใช้เครื่องมือเช่น Sencha หรือ JQTouch หรือ mobi1 (พวกเขาเคยเป็นอิสระสักครู่)

จากนั้นคุณใช้ openSSL เพื่อลงชื่อแอป และบริการ Adobe PhoneGAP Build เพื่อสร้างแอพ IPhone

แต่คุณต้องมีใบอนุญาตผู้พัฒนา iphone เพื่อติดตั้งบน iPhone แต่คุณไม่จำเป็นต้องมี mac หรือ iphone ในเวลาใด ๆ ในการรวบรวมสร้างหรือทดสอบ - ทั้งหมดที่ทำบนพีซี

ฉันทำไปแล้วและมันทำงานได้อย่างสมบูรณ์ (แต่ด้วยการตอบสนองประเภท Android - ไม่เร็วเท่ากับแอพ IPhone ทั่วไป)

คุณสามารถใช้โปรแกรมจากยุคบาบิโลน (ประมาณ 300 bc) ที่รัน C และ C ++ เรียกว่าแมลงปอ หากแอปของคุณมีหนึ่งหรือสองหน้าจอที่มีการโต้ตอบที่ จำกัด และการคำนวณจำนวนมากไปเลย มันรวมถึงการจำลอง คุณรวบรวม iPhone ที่กดปุ่ม (ไม่แน่ใจ แต่ฉันคิดว่าคุณต้องมีสิทธิ์ใช้งานนักพัฒนาซอฟต์แวร์ในทุกกรณี)

แล้วมี Xamarin คุณพัฒนาใน C # ด้วยการโทรพิเศษไปยังรหัสเนทีฟ คุณจะต้องเรียนรู้สภาพแวดล้อม


คุณสามารถพัฒนาแอพด้วยพีซี แต่การสร้างแพ็คเก็ตสำหรับ Apple store นั้นต้องการการเข้าถึง Mac หรือบริการบางอย่างจากพีซีของคุณซึ่งเป็นส่วนหนึ่ง อย่างน้อยฉันไม่ได้รับแพ็กเกจใด ๆ ไปยังโฟลเดอร์ Release แม้ว่าโปรเจ็กต์จะถูกตั้งค่าเป็น Release build
mico

8

ลองดูสิ:

มองข้าม

มันเป็นโครงการที่พยายามที่จะสามารถรวบรวมโปรแกรมที่เขียนในภาษาต้นฉบับที่หลากหลายไปยังภาษาเป้าหมายที่หลากหลาย หนึ่งในกรณีทดสอบเบื้องต้นคือการเขียนโปรแกรมใน Java และรันบน iPhone การชมวิดีโอบนเว็บไซต์นั้นคุ้มค่า

ด้วยที่กล่าวว่าฉันไม่ได้ลอง โครงการดูเหมือนจะค่อนข้างเบต้าและมีกิจกรรมไม่มากในเว็บไซต์ SourceForge ของพวกเขา


ดูเหมือนว่าโครงการนี้จะตาย เว็บไซต์โครงการอธิบายว่ามันเป็น "ปัจจุบันอยู่ในช่วงเริ่มต้นของการพัฒนา" และไม่มีการผูกมัดกับที่เก็บซอร์สโค้ดของพวกเขาตั้งแต่ปี 2014
duskwuff -inactive-

8

คุณสามารถใช้Intel XDKกับที่คุณสามารถพัฒนาและเผยแพร่แอพสำหรับ iOS โดยไม่ต้องใช้ mac

คลิกที่นี่เพื่อดูรายละเอียด


คุณจำเป็นต้องรู้ภาษา C วัตถุประสงค์เพื่อใช้ Intel XDK หรือไม่
Alfonso Fernandez-Ocampo

XDK ถูกยกเลิกในปี 2560 และไม่สามารถใช้งานได้อีกต่อไป
duskwuff -inactive-

8

Oracle VirtualBoxอนุญาตให้ผู้ใช้ติดตั้ง Mac OS X ในเครื่องเสมือน หากคุณพอใจกับมันคุณสามารถใช้วิธีการนั้นในการใช้ Xcode สิ่งนี้ถูกกฎหมายถ้าคุณ "dual boot" mac ของคุณเป็น windows แล้วติดตั้ง VirtualBox ภายใน windows (หรือ linux)

ความเป็นไปได้อื่น ๆ คือ cross-compilers เช่นAppcelerator Titanium (HTML, CSS และ JavaScript) หรือMonoTouch (.NET)


1
การใช้เครื่องเสมือนนั้นผิดกฎหมายหรือไม่
Martin Erhardt

1
วิธีที่ผิดกฎหมายจะไม่ได้รับการชื่นชม
techieWings

2
ถูกต้องตามกฎหมายแน่นอนเมื่อคุณใช้ Windows เป็นระบบเดียวใน Mac ของคุณ
fb55

ฉันมีเครื่องเสมือนที่ใช้ MacOS แต่ฉันไม่สามารถปรับใช้แอพของฉันบนอุปกรณ์จริงได้
EriK

7

อีกสองตัวเลือก

  1. Titanium Developer - รุ่นชุมชนฟรี - เขียนเป็น HTML / JavaScript - คอมไพล์ด้วย Xcode (ต้องใช้ Mac หรือ VM)

  2. OpenPlus ELIPS Studio - เขียนใน Flex, คอมไพล์บน Xcode (ต้องใช้ Mac หรือ VM) - พวกเขาเพิ่งเริ่มชาร์จสำหรับผลิตภัณฑ์ของตน

ฉันคิดว่าอาจมีตัวเลือก 'toolchain' สำหรับสิ่งเหล่านี้และบางอย่างที่กล่าวถึงซึ่งช่วยให้คุณสามารถคอมไพล์เป็นไบนารี่บน Windows และฉันเห็นว่าคุณสามารถอัปโหลดไฟล์ zip และคอมไพล์สไตล์ toolchain ให้คุณออนไลน์ได้ แต่สิ่งนี้ขัดกับใบอนุญาตของ Apple

หากฉันไม่เข้าใจผิดผลิตภัณฑ์เช่น Titanium ที่แสดงผล / ทำงานกับ Xcode และไม่ใช้ห้องสมุดบุคคลที่สาม / ทางเลือก / จำกัด ใด ๆ ควรปฏิบัติตามเพราะคุณจะรวบรวมใน xcode - รหัส Objective-C และไลบรารี่ปกติ


6

คุณสามารถใช้ Sentenza สำหรับสร้างแอปพลิเคชันสำหรับ iPhone บน Windows ทดสอบกับความสำเร็จ มันไม่ใช่ทางออก แต่เป็นทางเลือกที่ดี!


Sentenza สำหรับ iOS ไม่มีอยู่อีกต่อไป ทั้งหมดที่ฉันสามารถหาได้คือsentenzadesktop.com - สำหรับเดสก์ท็อปไม่ใช่ iOS และยังไม่ได้อัปเดตตั้งแต่ปี 2014
duskwuff -inactive-

6

ตามที่ระบุไว้คุณสามารถลองใช้ WinChain ได้ แต่ถ้าคุณเป็นมือใหม่รหัสมันจะไม่ง่าย

iPhone SDK จะทำงานกับ Hackintoshes (พีซีปกติที่ติดตั้ง OS X ไว้) ฉันรู้ว่าฉันมีอย่างใดอย่างหนึ่งและมันไม่

ดังนั้นหลังจากที่คุณซื้อใบอนุญาต OSX คุณสามารถลองติดตั้งลงบนพีซีของคุณบนไดรฟ์อื่นโดยใช้ Boot-132 หรือหนึ่งในตัวติดตั้งอื่นเช่น iDeneb ปัญหาที่คุณจะต้องทำมากมายและสิ่งต่าง ๆ ยังคงไม่ทำงานค่อนข้างถูกต้อง


6

การใช้Xamarinตอนนี้เราสามารถพัฒนาแอปพลิเคชั่น iPhone ในเครื่อง Windows ด้วยความช่วยเหลือของXamarin Live Playerสดผู้เล่น

การใช้ Xamarin live player dev / deploy / debug cycleนี้สามารถทำได้โดยไม่ต้องใช้ระบบ Apple

แต่การที่จะเซ็นและปล่อยแอพระบบ Apple นั้นจำเป็นต้องมีเข้าสู่ระบบและปล่อยแอพพลิเคระบบแอปเปิ้ลเป็นสิ่งจำเป็น

ค้นหาข้อมูลอ้างอิงได้ที่นี่

ฉันตรวจสอบการอ้างอิงไม่มีอะไรหลบ


5

ใช่และคุณไม่จำเป็นต้องเรียนรู้ Objective-C และซื้อซอฟต์แวร์และฮาร์ดแวร์ของ Apple

Adobe ได้สร้างคอมไพเลอร์จาก ActionScript 3 ไปจนถึงโปรแกรมสำหรับ iOS และภายหลัง Apple อนุมัติวิธีการสร้างแอปพลิเคชันนี้

วิธีนี้เป็นวิธีที่ดีที่สุดในการสร้างแอปพลิเคชัน Apple ใน Windows หรือ Linux / BSD (และอีกอันสำหรับ MacOS-X)


4

คุณสามารถติดตั้ง OSX บนพีซี แต่ประสบการณ์จะไม่ยอดเยี่ยมและต้องใช้งานจำนวนมาก ทางเลือกคือการใช้เฟรมเวิร์ก / ชื่อรหัส SDK หนึ่ง : ซึ่งขึ้นอยู่กับ JAVA และสามารถใช้ในการเขียนโค้ดใน WP8, Android, iOS บน Windows (eclipse) ด้วยคุณสมบัติที่ครอบคลุมทั้งหมด

ภาพรวมคุณสมบัติ:

  1. สภาพแวดล้อม Android เต็มรูปแบบพร้อมตัวจำลอง Android ที่เร็วสุด
  2. เครื่องจำลอง iPhone / iPad พร้อมแอพ iPhone ที่ใช้ง่ายไปยัง iPad หน้าจอขนาดใหญ่ในเวลาไม่กี่นาที
  3. รองรับการแก้จุดบกพร่องจาวามาตรฐานเต็มรูปแบบสำหรับแอปบนแพลตฟอร์มใด ๆ
  4. การจัดรูปแบบ / จัดแต่งทรงผมอย่างง่ายดายเพียงไม่กี่คลิก

เพิ่มเติมเกี่ยวกับการพัฒนา Android, iOS iPhone, แอพ WP8 โดยใช้ ข้อจำกัดความรับผิดชอบของJava : นี่คือความเห็นของฉันสำหรับผลิตภัณฑ์นี้


3

หากคุณต้องการพัฒนาแอพพลิเคชั่นบนระบบ Windows แล้วมีตัวเลือกคุณสามารถติดตั้ง MAC OS ใน windows ชื่อแพลตฟอร์มของคุณคือ: "Niresh'MAC OS" คุณสามารถค้นหาข้อความนั้นบน Google

จากนั้นคุณสามารถดาวน์โหลด MAC OS Source ทั้งหมดและติดตั้ง MAC OS ได้ง่ายใน Windows PC ของคุณ Niresh สามารถแฮ็คทั้งระบบได้

หวังว่านี่จะช่วยคุณได้


3

พัฒนาแอพ iOS บน Windows ด้วยเครื่องมือข้ามแพลตฟอร์ม

เครื่องมือข้ามแพลตฟอร์มยอดเยี่ยม: คุณใส่รหัสแอปของคุณเพียงครั้งเดียวแล้วส่งออกไปยัง iOS และ Android ซึ่งอาจลดเวลาในการพัฒนาแอปและค่าใช้จ่ายลงครึ่งหนึ่ง เครื่องมือข้ามแพลตฟอร์มหลายตัวช่วยให้คุณพัฒนาแอพ iOS บนพีซี Windows หรืออนุญาตให้คุณรวบรวมแอปหากมี Mac ในเครือข่ายท้องถิ่นของคุณ

ไม่เร็วนัก ...

ระบบเครื่องมือข้ามแพลตฟอร์มมีขนาดใหญ่มาก ในอีกด้านหนึ่งคุณมีสภาพแวดล้อมการพัฒนาแบบบูรณาการ (IDE) เช่น Xamarin ที่ช่วยให้คุณสร้างแอพข้ามแพลตฟอร์มด้วย C #

พื้นกลางถูกปกคลุมด้วยเครื่องมือเช่น PhoneGap, Cordova, Ionic และ Appcelerator ที่ให้คุณสร้างแอปพื้นฐานด้วยส่วนประกอบ HTML5 ท้ายสุดมีแพลตฟอร์มขนาดเล็กเช่น React Native ที่ให้คุณสามารถเขียนแอพแบบดั้งเดิมด้วย JavaScript wrapper

สิ่งหนึ่งที่โดดเด่นสำหรับเครื่องมือข้ามแพลตฟอร์มทั้งหมดคือ: พวกมันไม่ได้เป็นมิตรกับมือใหม่! มันง่ายกว่ามากในการเข้าถึง Mac เรียนรู้ Swift และสร้างแอพที่ง่ายกว่าการเริ่มต้นกับ Xamarin

เครื่องมือข้ามแพลตฟอร์มส่วนใหญ่ต้องการให้คุณมีความเข้าใจพื้นฐานเกี่ยวกับการเขียนโปรแกรมตัวเลือกการรวบรวมและระบบนิเวศ iOS และ Android นั่นคือสิ่งที่คุณไม่ได้มีในฐานะนักพัฒนามือใหม่!

ต้องบอกว่าให้ดูที่ตัวเลือกสองทาง:

หากคุณคุ้นเคยกับเครื่องมือในการพัฒนาบน Windows และ IDE และถ้าคุณรู้วิธีการเขียนโค้ดแล้วล่ะก็คุ้มค่าที่จะลองใช้ Xamarin ด้วย Xamarin คุณโค้ดแอปใน C # สำหรับหลายแพลตฟอร์มโดยใช้เฟรมเวิร์ก Mono และ MonoTouch หากคุณคุ้นเคยกับการพัฒนาบนเว็บลองใช้ PhoneGap หรือ Ionic คุณจะรู้สึกเหมือนอยู่บ้านด้วย HTML 5, CSS และ JavaScript อย่าลืม: แอพเนทีฟนั้นทำงานได้แตกต่างจากเว็บไซต์ ... หากคุณคุ้นเคยกับ JavaScript หรือหากคุณต้องการเรียนรู้ที่จะใช้โค้ด JavaScript มากกว่า Swift ให้ดูที่ React Native ด้วย React Native คุณสามารถโค้ดแอปเนทีฟสำหรับ iOS และ Android โดยใช้“ wrapper” จงใจเลือกใช้เครื่องมือข้ามแพลตฟอร์มเสมอเพราะเป็นตัวเลือกที่ฉลาดไม่ใช่เพราะคุณคิดว่าภาษาของแพลตฟอร์มนั้นไม่ดี ความจริงที่ว่าตัวเลือกหนึ่งไม่ถูกต้องไม่ได้ทำให้ตัวเลือกอื่นฉลาดขึ้นทันที!

หากคุณไม่ต้องการเข้าร่วมจักรวาล Apple ที่เป็นกรรมสิทธิ์อย่าลืมว่าเครื่องมือข้ามแพลตฟอร์มจำนวนมากดำเนินการโดย บริษัท ที่ชั่วร้ายเช่น Google, Facebook, Microsoft, Adobe และ Amazon

ข้อโต้แย้งที่ได้ยินบ่อยครั้งเกี่ยวกับเครื่องมือข้ามแพลตฟอร์มคือพวกเขาให้การเข้าถึงและการสนับสนุนอย่าง จำกัด สำหรับฮาร์ดแวร์ของสมาร์ทโฟนและ "น่าเบื่อ" น้อยกว่าคู่หูดั้งเดิม โปรดทราบว่าเครื่องมือข้ามแพลตฟอร์มใด ๆ จะทำให้คุณต้องเขียนโค้ดเฉพาะแพลตฟอร์ม ณ จุดหนึ่งโดยเฉพาะถ้าคุณต้องการโค้ดคุณสมบัติที่กำหนดเอง


3

หากคุณมีสิทธิ์เข้าถึง ssh บน Mac คุณสามารถใช้ VNC (เช่น Vine VNC ซึ่งอนุญาตให้ใช้งานหลายครั้งพร้อมกันในไคลเอ็นต์ thin thin) เพื่อควบคุม XCode

สิ่งนี้อาจมีประโยชน์หากคุณต้องการเข้าถึง Mac Mini จากแล็ปท็อปหรือดังนั้น SO ของคุณกำลังบีบอัด MacBook ของคุณ


2

คุณอาจพยายามพัฒนาเว็บแอปสำหรับ iPhone โดยใช้ HTML, JavaScript, CSS ตรวจสอบข้อมูลการเริ่มต้นใช้งานได้ที่เว็บไซต์ของ Apple


ฉันเพิ่งพบซอฟต์แวร์ชิ้นหนึ่งชื่อว่า MobiOne Studio ตามที่ระบุไว้ในเว็บไซต์: "MobiOne Studio - แอพ iPhone และนักออกแบบแอพเว็บและศูนย์ทดสอบ iPhone ที่มีตัวจำลอง iPhone ที่ให้คุณสร้างปรับแต่งและใช้งานอินเทอร์เฟซผู้ใช้ iPhone ในไม่กี่นาที อาจจะเป็นประโยชน์สำหรับคุณ Link: genuitec.com/mobile
Konstantin Grushetsky
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.