Sunday, 15 September 2013

osx - SBApplication (in this case SafariApplication) leads to SIGKILL (Objective-C) -


मेरे पास एक वैश्विक सफारी अनुप्रयोग वैरिएबल है (एक स्क्रिप्टिंग ब्रिज जेनरेट किए गए सफारी हेडर से) जिसे मैं निश्चित रूप से सेट करता हूं, सफारी एप्लीकेशन :

  आत्मसफ़ारी = [SBApplication आवेदन के साथ बंडल आइडेंटिफायर: @ "com.apple.Safari"];  

फिर मैं वर्तमान टैब के यूआरएल को कर कर देखता हूँ:

  SBElementArray * windows = [self.safari windows]; सफारीविंडो * खिड़की = [खिड़कियां वस्तुऐतआइंडएक्स: 0]; सफारीटैब * टैब = [विंडो चालूटैब]; NSURL * url = [NSURL URLWithString: [टैब URL]];  

यह ठीक काम करता है मैं सफारी में उपयोगकर्ता के खुलने की निरंतर जानकारी प्राप्त करने के लिए, यह दो बार एक बार कर रहा हूं।
लेकिन जब मैं सफ़ारी में एक नया टैब खोलता हूं, तो कभी-कभी (शायद जब कोड एक ही समय में चल रहा है, जैसे ही मैं नया टैब खोलता हूं), तो वह क्रैश हो जाएगी और सिगिल देगा NSURL * url = [NSURL URLWithString: [टैब URL]]; 'लाइन पर होता है लेकिन यह वास्तव में निर्भर करता है।

मुझे पता है, वास्तव में अजीब है, लेकिन

मैंने एक ही बात करने की कोशिश की, लेकिन तब AppleScript के साथ, लेकिन यह समाप्त हो गया।

कृपया मेरी मदद करें।

कृपया मेरी मदद करें।

> अग्रिम धन्यवाद,

एरिक वैन डेर प्लास

वाह! कुछ सहायता के साथ मैंने इसे हल किया: बस एसबीएपीटीकरण (इस मामले में सफ़ारी एप्लिकेशन) को 1 या 2 (सेकेंड) की तरह थोड़े समय के अंतराल पर और कोड आपके कार्यक्रम को गतिरोध नहीं देगा, परन्तु बस प्रतीक्षा के 1 या 2 सेकंड के बाद जारी रखें इस स्थिति में डेडलॉक के कारण होने वाली विधि शून्य हो जाएगी।


No comments:

Post a Comment