זה לא כ"כ פשוט כמו שזה נשמע
מהדורה 6 לא הביאה שינויים מהותיים מבחינת התוכניתנים ולא היו הרבה סיבות להגביל את השימוש החל ממהדורה זו והלאה דווקא.
מהדורה 7 לעומת זאת שונה באופן מהותי.
חלק גדול מהמשחקים יוכלו להמשיך לרוץ במהדורה 7 אם הם לא משתמשים יותר מדי בשירותי מערכת ולא מציגים אלמנטי ממשק סטנדרטיים (הרבה משחקים בנויים על גרפיקת OpenGL שלא השתנתה). יחד עם זאת, יש גם לא מעט משחקים שלא עולים בכלל או רצים בצורה לא נכונה.
ביישומים שאינם משחקים המצב הרבה יותר מסובך:
- יישומים שבוצעה להם קומפילציה באמצעות כלי הפיתוח העדכני של אפל (התומך ב-iOS7) ואכן מופעלים תחת iOS7 - משתמשים באופן אוטומטי באלמנטי הממשק החדשים. יישומים כאלה חייבים לעבור לרוב שינויים מהותיים על-מנת שיפעלו בצורה נכונה. יישום שאינו טריוויאלי ועבר קומפילציה במהדורה הזו של כלי הפיתוח בלי שיותאם ל-iOS7 - סביר שלא ירוץ בצורה נכונה או לא ירוץ כלל.
- מאידך, ההתאמה ל-iOS7 כאמור לעיל תגרום לכך שהיישום לא יוכל להיות מופעל במהדורה נמוכה מ-iOS7, אלא אם המתכנת הכניס לתוך הקוד אינסוף בדיקות בזמן ריצה תחת איזו מערכת היישום פועל כרגע ושמר על קידוד כפול בתוך היישום.
- יישומים קיימים שלא בוצעה להם קומפילציה באמצעות כלי הפיתוח העדכני (כלומר יישומים הנמצאים כבר בחנות) אמורים לרוץ ב-iOS7 במצב של אמולציה ל-iOS6, אבל (לפחות עד לביתא הנוכחי כולל) האמולציה לא מלאה והיישומים מתרסקים לעיתים או לא פועלים בצורה נכונה. בכל מקרה, יישומים כאלה ייראו חריגים בתוך ממשק המשתמש החדש של המערכת.
- אפל תפסיק מן הסתם בשלב מסויים את התמיכה בכלי הפיתוח הקודם ותחייב מעבר לכלי הפיתוח של iOS7, על כל המשמעויות שהזכרתי (כמו שהיום לא ניתן כבר לפתח יישומים למהדורה נמוכה מ-iOS 4.3).
- לכל הצרות הנ"ל צריך להוסיף שיש די הרבה מכשירים שלא יתמכו ב-iOS7 והשאלה האם להמשיך לייצר / לעדכן יישומים עבורם.
אני חייב להקדיש עכשיו הרבה מאוד זמן, שלא תיכננתי, על-מנת לבצע התאמות ל-iOS7 (ואני גם פועל מול מטרה נעה, כל ביתא שונה מקודמתה), וזה במקום להקדיש את הזמן הזה לפיתוח יישומים חדשים שיכולים להביא כסף. מאידך, באמת הגיע הזמן לשנות את הממשק המיושן של המערכת.