@יעקב-מ-פינס כתבת שאתה מנסה ללמוד, הבעיה היא שבתוך המחרוזת של האפל סקריפט יש התייחסות למשתנה שמוגדר בקוד swift. אם היית פשוט זורק את הקוד לChatGPT (שם גנרי לצ'אט AI ברמה טובה) הוא היה רואה את זה מיד
אגב אני משתמש המון בAI לזה, אם יש שגיאה בקוד שכתבתי שאני לא מבין אני פשוט זורק את הקוד לAI ורואה אם הוא מציע משהו הגיוני, הרבה פעמים פשוט שכחתי נקודה או פסיק מיותר וכדומה, וכידוע הבאגים הכי קשים לגילוי הם הבאגים הכי טפשיים. אם אני רואה שהוא לא בכיוון לא נורא, אני מתחיל לחפש את הבעיה בעצמי, אבל הרבה פעמים זה טעות הקלדה טפשית או משהו בסגנון
לגבי השאלה עצמה, אם הסקריפט עובד בScript Editor ולא באפליקציה זה כנראה בעיית הרשאות, אמור לקפוץ לך כזה פופאפ:
אבל בדקתי את הקוד שהבאת והפופאפ של בקשת ההרשאה לא קופץ, כלומר זה חסימה ברמה יותר גבוהה, הסיבה לבעיה מפורטת כאן וכאן, בקיצור פרויקט חדש בXcode נמצא כברירת בתוך מנגנון ארגז חול שנקרא App Sandbox ומיועד להגביל את הנזק במקרה שאפליקציה מכילה בטעות קוד זדוני, נניח על ידי חבילה חיצונית, והארגז החול הנ"ל מונע מהאפליקציה לשלוח Apple Events לאפליקציות אחרות ואפילו לא מתריע על זה, אפילו לא בConsole.app... כן, חוויית הפיתוח באקוסיסטם של אפל היא נוראה.
הפתרון הקל הוא פשוט למחוק את ארגז החול:
הפתרון ה"נכון" (וגם ההכרחי כדי לשלוח לApple App Store - לא רלוונטי כאן, אתה לא תשלם 99$ לשנה על חשבון מפתח...) הוא להוסיף לקובל Entitlements של האפליקציה את com.apple.security.temporary-exception.apple-events
עם הbundleId של Pages (com.apple.iWork.Pages
) אבל תכלס זה לא עובד לי, עדיין מתקבלת שגיאת A privilege violation occurred
, ואין לי זמן לחקור את זה הלאה