פיתוח אפליקציות ל-iPhone בסביבת Windows


או: איך מתקינים Mac OSX על VMware

מאת טל ברזניצקי פורסם בתאריך 6/26/2009 9:15:47 AM

במדריך זה נלמד כיצד ניתן לפתח אפליקציות למכשיר האייפון בסביבת מערכת ההפעלה של Windows. נעשה זאת על ידי יצירת מחשב וירטואלי בתוכנת VMWare והתקנת מערכת ההפעלה Mac OSX על מחשב זה.

המטרה: פיתוח ל-iPhone בסביבת Windows

כל מפתח תוכנה היה שמח לכתוב אפליקציות לאייפון. דבר ראשון, זה מאוד מגניב לראות תוכנה שכתבת רצה על המכשיר הנהדר שחברת Apple יצרה. דבר שני, ה-"App store" מאפשר למכור את התוכנות שלכם בקלות מירבית לכל אחד ואחד מבעלי ה-iPhone בעולם.

בתור מתכנת שפיתח בעיקר תוכנות ל-Windows ובתור איש Windows באופן כללי (כלומר, אין לי Linux בבית ולא Macintosh) מאוד עניין אותי לדעת האם זה אפשרי לכתוב אפליקציות iPhone במערכת ההפעלה הפופולארית של Microsoft.

האם משתמש Windows יכול לפתח אפליקציות ל-iPhone?

לשאלה הזאת יש שתי תשובות:

לא. פיתוח ל-iPhone דורש את התקנת ה-iPhone SDK ("הערכה לפיתוח תוכנה לאייפון") והדבר אפשרי רק על מערכת ההפעלה של חברת Apple הנקראת Mac OSX. משתמשי ווינדווס? קנו מקינטוש.

כן. התוכנה האהובה עליי בכל היסטוריית המחשבים, VMWare, שוב באה לעזרתנו. התוכנה מאפשר ליצור מכונות וירטואליות ולהריץ בתוכן מערכות הפעלה שונות. כבר כתבתי עליה קצת ב-9 כלים שאתה חייב להחזיק במחשב. האם VMWare מסוגלת להריץ את ה-Mac OSX? מסתבר שכן. בעבר, מחשבי Apple הכילו מעבד מסוג PowerPC אך כיום הם משתמשים גם במעבדי Intel. בזכות עובדה זאת, VMWare מסוגל להריץ את ה-Mac OSX.

הבהרה: מטרת המדריך היא לימודית. תנאי השימוש של Apple מאפשרים את התקנת מערכת ההפעלה שלהם רק על מחשבים שהם ייצרו. אם אתם רוצים באמת לפתח אפליקציות ל-iPhone אז "Get a real Macintosh".

מה התוצאה הסופית?

בתמונה הבאה ניתן לראות מחשב אשר מריץ Mac OSX:

בתמונה הבאה ניתן לראות ברקע את XCode רץ. XCode הוא העורך של הקוד, כלומר ה-IDE. משהו כמו Visual Studio למקינטוש, רק הרבה (הרבה) יותר יפה, קל ונוח לעבודה. אפל, אנו כיתבו IDE לסביבת Windows - אני קונה!

תיבת כלים

אלו הכלים שאתם צריכים על מנת להגיע לתוצאה הרצויה:

  1. VMWare Player (חינם) או VMware Workstation (עדיף, אבל לא חינם) גירסה 6.5 ומעלה. לא VMWare Server.
  2. BitTorrent Client על מנת להוריד מחשבי VMWare. אני ממליץ על uTorrent (זה מיקרו-טורנט לא יו-טורנט).
  3. 7-ZIP או כל תוכנה שיודעת לפתוח קבצי RAR (כמו WinRAR).

מפרט המחשב שלי

אני ביצעתי את ההתקנה על מחשב נייד MSI בעל מעבד P8400 עם 2GB של RAM. מערכת ההפעלה היא Windows 7 RC.

תהליך ההתקנה

שלב 1: התקנת Mac

ניתן להתקין את מערכת ההפעלה של המקינטוש מההתחלה לבד על מכונת VMWare חדשה, אך אפשר גם להשתמש בקיצורי דרך. בעמוד PCWiz VMWare Mac תוכלו למצוא הוראות כיצד להוריד Image ל-VMWare שמותקן עליו כבר Mac OSX גירסה 5.5.2. ה-Image הוא למעשה המחשב הוירטואלי שניתן לפתוח בעזרת תוכנת ה-VMWare Player/Workstation.

הורידו את ה-Image שתמצאו (בעזרת uTorrent). אני מצאתי Image של Mac OSX 5.5.2 אך אם תמצאו של גירסת 5.5.5 ומעלה, הורידו את ה-Image הזה. בכל מקרה, ה-Image כנראה יהיה מחולק להמון קבצי RAR. השתמשו ב-7ZIP או WinRAR על מנת לפתוח את התוכן של הקבצים. אתם תקבלו סיפרייה ובתוכה מספר קבצים. פיתחו את הקובץ עם סימות ה-VMX בעזרת VMWare. אם הכל עובר חלק אתם אמורים לראות את המסך האפור הבא בעל ה-Spinner:

שלב זה אמור לקחת מספר דקות (בין 3 דקות ל-10 דקות). הטיפ שלי לשלב זה: אל תכניסו את המכונה למסך מלא, השאירו אותה כמו בתמונה למעלה (שרואים גם את Windows וגם את ה-Mac). אם ה-Spinner נתקע לאחר מספר דקות, עברו למסך מלא (Ctrl+Alt+Enter).

כעת יש לכם מחשב שמריץ Mac ואתם יכולים לשחק בו, משהו כזה:

שלב 2: עדכון לגירסת 10.5.5

בידקו את גירסת מערכת ההפעלה על ידי לחיצה על התפוח שנמצא בצד שמאל למעלה ולאחר מכן ביחרו ב-About this Mac מהתפריט וגירסת מערכת ההפעלה תוצג בחלון חדש.

אם גירסת מערכת ההפעלה שלכם היא 10.5.4 או חדשה יותר - תוכלו לדלג לשלב 3.

כעת נעדכן את ה-Mac לגירסה 10.5.5. בשלב זה, יש צורך להעתיק קבצים אל תוך המכונה הוירטואלית, ולשם כך יש שתי שיטות:

  • בעזרת הפעלת אופציית ה-USB במחשב הוירטואלי ושימוש ב-USB-Drive על מנת להעביר את הקבצים מהמחשב האמיתי למחשב הוירטואלי.
  • בעזרת תוכנה כמו PowerISO, תוכלו ליצור קובץ ISO המכיל את שני קבצי ה-DMG שהורדתם. כעת הוסיפו כונן CD\DVD למחשב הוירטואלי וביחרו שה-DVD יהיה ה-ISO שיצרתם.

אלו השלבים הדרושים לעדכון:

  1. הורידו את 10.העדכון ל-5.5
  2. הורידו את תוכנת ה-Pacifist על מנת להתקין את העדכון.
  3. התקינו את Pacifist על ה-Mac על ידי פתיחת הקובץ pacifist.dmg משלב 2. בתוכו תמצאו את הקובץ pacifist.pkg - זוהי תוכנת ההתקנה של Pacifist.
  4. פיתחו את הקובץ MacOSXUpd10.5.5.dmg משלב 1 ותמצאו בו קובץ PKG. השתמשו בתוכנת Pacifist על מנת לפתוח את קובץ ה-PKG.
  5. בתוכנת ה-Pacifist נווטו לסיפרייה System -> Lirbary -> CoreServices, בצעו קליק ימני על CoreServices ובחרו Install. עקבו אחרי שלבי ההתקנה.
  6. סיימתם. בדקו אם הגרסה אכן התעדכנה ל-10.5.5.

כל הקרדיט לשלב העדכון לאתר iSlashDot

שלב 3: התקנת ה-iPhone SDK

הורידו את ה-iPhone SDK מ-אתר המפתחים של של Apple. אם הם לא מציעים את גירסה 2.2 להורדה, נסו לאתר את הקובץ באתרים אחרים.

העתיקו את קובץ ההתקנה של ה-iPhone SDK למחשב הוירטואלי והתקינו אותו.

בסוף ההתקנה יהיה לכם מחשב וירטואלי המריץ את מערכת ההפעלה Mac 10.5.5 וה-SDK גירסה 2.2.

שלב 4: הפעלת ה-XCode

השלב המעניין, בו נראה אם ניתן להפעיל את XCode, התוכנה שבעזרתה נתכנת תוכנות ל-iPhone. הפעילו אותה דרך פתיחת חלון ב-finder ונווטו אל Developer -> Applications ->XCode כמו כאן:

לאחר ההפעלה, ביחרו בתפריט File ואז New Project וביחרו פרוייקט מסוג Navigation Based Application וברגע שהמחשב מסיים להכין את הסביבה שלכם, הקישו על Alt+Enter על מנת להדר (לקמפל) את התוכנית ולהריץ אותה.

זה מה שאתם אמורים לראות:

בעיות שאנשים מדווחים

  • לפעמים כאשר עושים Suspend למחשב הוירטואלי ואז עושים Resume כבר אי אפשר להשתמש במחשב - נראה כי הוא נכנס למצב בו הוא חושב (מטרייה צבעונית מסתובבת) לנצח ונתקע. פשוט בצעו ReStart למחשב הזה והתחילו מחדש.
  • יש אנשים שלא מצליחים להריץ את המחשב הוירטואלי שהם הורידו מהאינטרנט ב-VMWare. החומרה שיש לכם במחשב מאוד משפיעה על היכולת להריץ את המחשבים שאתם מורידים, נסו להוריד מחשב אחר.
  • XCode קורס. שמעתי ממספר אנשים על הבעיה הזאת, אין לי פתרון לה.

טיפים לשיפור

  1. שינוי הרזולוציה של המחשב הוירטואלי כך (המדריך המקורי):
    1. ערוך את הקובץ /Library/Preferences/SystemConfiguration/com.apple.Boot.plist בעזרת העורך vi או בעזרת TextEdit.
    2. הוסף את השורות:

      1. <key>Graphics Modekey>
      2. <string>1280x1024x32string>

      לקובץ כך שיראה בסוף בערך כך (אל תשנה דברים אחרים):

      1. xml version="1.0" encoding="UTF-8"?>

      2. www.apple.com/DTDs/PropertyList-1.0.dtd">
      3. <plist version="1.0">
      4. <dict>
      5. <key>kernelkey>
      6. <string>mach_kernelstring>
      7. <key>Kernel Flagskey>
      8. <string>string>
      9. <key>Graphics Modekey>
      10. <string>1280x1024x32string>
      11. dict>
      12. plist>
    3. שמור את הקובץ באופצייה Save As באותו השם com.apple.Boot.plist ל-Desktop.
    4. גרור את הקובץ מה-Desktop לסיפרייה /Library/Preferences/SystemConfiguration ובחר ב-Replace.
    5. בצע ReBoot למערכת הוירטואלית והרזולוציה תשתנה בהתאם למה שבחרת.
  2. לאפשר רשת. אני אישית לא הצלחתי, אבל הנה הסברים כיצד זה אפשרי: הסבר חיבור כרטיס רשת
  3. שיפור המהירות על ידי החלפת הכונן הוירטואלי מסוג IDE ל-SCSI המהיר יותר: זהו תהליך מעט מסובך בו נעתיק את כל תוכן כונן ה-IDE לכונן SCSI חדש, אך שווה את התוספת למהירות:
    1. ערוך את הגדרות המחשב הוירטואלי. הוסף חומרה ובחר ב-HardDrive מסוג SCSI בגודל 17GB. בחר להקצות את כל הזכרון מראש.
    2. הורד את התוכנה החופשית CloneZilla בגירסת ה-ISO שלה. הוסף כונן למחשב הוירטואלי וטען אליו את ה-ISO.
    3. הפעל את המחשב הוירטואלי ובעת הטעינה שלו (רואים לוגו של VMWare) לחץ על F2 על מנת להגיע ל-bios. שנה את סדר ה-BOOT כך שה-DVD יפעל לפני ה-Hard-Drive, שמור את השינויים ובצע reboot נוסף.
    4. כאשר תפעיל את המחשב מחדש, CloneZilla תפעל. עקוב אחרי ההוראות הפשוטות להעתיק local drive ל-local drive.
    5. בסוף התהליך, כבה את המחשב וערוך את ההגדרות שלו. הורד את הכונן הישן (IDE) ואת ה-DVD והפעל את המחשב מחדש.
    6. המערכת תעלה מכונן ה-SCSI החדש ותוכלו להינות ממהירות משופרת.
  4. שיפור המהירות על ידי הקצאת יותר זכרון למחשב הוירטואלי. ככל שיהיה למחשב יותר זכרון - הוא ירוץ יותר מהר.

מה בהמשך

  1. פיתוח אפליקציות ל-iPhoneOS 3.0. לשם כך יש להתקין את Mac OSX גירסה 5.5.7 והתקנת ה-SDK של iPhone גירסה 3.0.
  2. הייתי מנסה להתקין את ה-Mac על כונן USB (8 או 16 GB אמורים להספיק) וזה אמור להיות מהיר ואמין יותר.

הבהרות

  1. יכול להיות שתעקבו אחרי כל השלבים ועדיין זה לא יעבוד. אומנם VMWare אמור לדמות מחשב וירטואלי נפרד, אך המחשב האמיתי שלכם משפיע רבות על הצלחת התהליך.
  2. פעם נוספת: המדריך הוא למטרת הדגמה בלבד. אם אתם באמת רוצים לפתח אפליקציות iPhone, קנו Macintosh.

סיכום

תהליך ההתקנה של Mac OSX על מחשב וירטואלי אינה פעולה פשוטה וקצרה, אך בסופו של דבר - ניתן לפתח אפליקציות iPhone בסביבת מערכת ההפעלה של Windows. מלבד התוצאה הסופית, התהליך עצמו מלווה באתגרים שתמיד כיף להתגבר עליהם.

אם אתם עדיין לא מוכנים לקנייה של Macintosh אמיתי, זוהי בהחלט אפשרות שכדאי לכם לבדוק. אם תהיו מרוצים תוכלו לקנות Mac-Mini או iMac ולהנות גם מרהיט טכנולוגי מעוצב בצורה נפלאה.

פוסטים פופולריים מהבלוג הזה

כתב מרגש של ליאת גת, שהקריא שלמה ארצי בתוכנית הרדיו שלו על אמהות:

אני נושא את ליבך - i carry your heart with me by E. E. Cummings