अब ऐप्पल निजी एपीआई उपयोग के लिए स्वचालित रूप से जांचने के लिए किसी प्रकार का स्थैतिक विश्लेषण चला रहा है, तीन लोगों पुस्तकालय की वजह से कई लोगों को पकड़ा गया है। मैं एक और थर्ड-पार्टी लाइब्रेरी का उपयोग करता हूं (जिसे मैं कोड से संकलित करता हूं) और मैं ऐप्पल को सबमिट करने से पहले इसे निजी एपीआई उपयोग के लिए स्वचालित रूप से ऑडिट करना चाहता हूं, इसलिए मैं उन हिस्सों को खत्म/पुनः लिख सकता हूं।तृतीय पक्ष पुस्तकालयों में निजी एपीआई के उपयोग से कैसे बचें और इससे बचें
यदि मैं अपने आवेदन निष्पादन योग्य पर nm
चलाता हूं, तो मुझे प्रतीकों की एक सूची मिलती है, और मैं वहां प्रतीकों को देख रहा हूं जिसका उपयोग मैं नहीं करता हूं। उदाहरण के लिए मैं _AudioServicesPlaySystemSound देखता हूं, और यदि मैं XCode में "AudioServicesPlaySystemSound" की खोज करता हूं तो मुझे कोई परिणाम नहीं मिलता है। क्या निजी एपीआई में कॉल को स्वचालित रूप से भेदभाव करने का कोई तरीका है, उदाहरण के लिए मुझे लगता है कि ऐप्पल को शुरुआती अंडरस्कोर के साथ नाम देने की आदत है।
हालांकि: अगर मैं जानबूझकर एक निजी एपीआई के लिए कॉल शामिल करता हूं तो यह nm
के आउटपुट में दिखाई नहीं देता है, लेकिन यह दिखाता है कि यदि मैं द्विआधारी पर strings
चलाता हूं। इस पर आधारित, एक विचार था कि मैं सभी निजी एपीआई कॉलों की विशाल सूची को एक विशाल तालिका में संकलित करना था, और स्वचालित रूप से स्ट्रिंग आउटपुट में उनके लिए खोज करना था। मैंने अभी तक ऐसा नहीं किया है।
क्या किसी को भी इस सामग्री को स्वचालित रूप से पकड़ने के बारे में कोई सुझाव है, इसलिए मैं केवल समीक्षा प्रक्रिया के माध्यम से जा रहा हूं?
वे तीन20 पर ऑब्जेक्ट करते हैं? यह वास्तव में डेवलपर द्वारा लिखा गया है जिसने आईफोन के लिए फेसबुक ऐप बनाया है। यदि आपका ऐप तीन20 के कारण खारिज कर दिया गया है, तो फेसबुक ऐप भी होना चाहिए ... हे। बस sayin ;-) –
हाँ ... http://groups.google.com/group/three20/browse_thread/thread/c442af6e39a918b0/6d5046771539d139 –
मुझे लगता है कि अगली बार जब फेसबुक अपडेट अपडेट करेगा तो वे अस्वीकार कर दिए जाएंगे वे नवीनतम संस्करण का उपयोग नहीं करते हैं जो ऐप्पल नीतियों का अनुपालन करता है। – bpapa