كيف تتحقق مما إذا كان رمز تطبيق iOS الخاص بك يستخدم واجهة برمجة تطبيقات غير مسموح بها في متجر التطبيقات؟

StackOverflow https://stackoverflow.com//questions/9695408

سؤال

أعلم أن هناك بعض واجهات برمجة التطبيقات أو الأكواد المقيدة التي لا يُسمح لها بالتواجد في تطبيقك عند إرساله إلى متجر التطبيقات.

كيف تعرف ما هم؟هل هناك طريقة للتحقق من تطبيقك قبل إرساله للتأكد من أنك لم تستخدم واجهات برمجة التطبيقات هذه؟

ربما يكون من الأفضل تجنب هذه المشكلة في مرحلة التصميم، بدلاً من محاولة إصلاحها لاحقًا، لذلك كنت أتساءل عما إذا كانت هناك أي أداة في Xcode، أو مستند لتحديد ذلك.

هل كانت مفيدة؟

المحلول

الطريقة التي تنوي Apple القيام بها هي استخدام XCode تصديق ميزة.عندما تقوم بإرسال تطبيق، فإنك تقوم بالإنشاء لتحقيق (أو أرشيف من قائمة XCode).بعد ذلك، يمكنك فتح "المنظم" لرؤية الأرشيف الذي قمت بإنشائه للتو.في هذه المرحلة، يمكنك الضغط على التحقق من صحة الزر في المنظم.سيؤدي ذلك إلى إجراء التحقق من الصحة، دون إرسال التطبيق فعليًا.سيخبرك إذا كنت تستخدم واجهات برمجة التطبيقات الخاصة.اعتمادا علي كيف إذا استخدمتها، فقد تحدد ماهية الانتهاك:

Organizer screenshot

هناك بالتأكيد طرق يمكن أن تخدع بها التعليمات البرمجية خطوة التحقق من الصحة هذه، و"تفلت" من استخدام واجهات برمجة التطبيقات الخاصة حتى ينظر المراجع في الحزمة.ولكن، على حد علمي، ستكون جميع هذه الطرق عبارة عن طرق مقصودة لإخفاء استخدام واجهة برمجة التطبيقات الخاصة، ويبدو أنك تحاول اكتشاف الاستخدام غير المقصود.

إذا فشلت في اختبار التحقق من الصحة، فقد ترغب في استخدام شيء مثل AppScanner، المذكور في إجابة آلان دنكان.ولكن، من أجل الاكتمال، أردت التأكد من أن الأشخاص يعرفون أن خطوة التحقق هذه متاحة في XCode، وأن التحقق من استخدام واجهة برمجة التطبيقات الخاصة هو أحد الأشياء التي تقوم بها قبل الإرسال (ويتعين عليك الانتظار بضعة أيام حتى يتم إخبارك بما تريد ارتكب خطأ).وأيضًا، حتى لو لم تستخدم التحقق من صحة زر في المنظم، ولكن مجرد استخدام يُقدِّم, ، تقوم الأداة بإجراء التحقق من الصحة نيابةً عنك.والفرق الوحيد هو ما إذا كان سيتم تحميل الحزمة فعليًا إلى iTunes Connect.

نصائح أخرى

إذا كنت تلتصق بالواجهات الموثقة كما هو مقترح أعلاه، فأنت بخير.القضية الوحيدة هي مع مكتبات الطرف الثالث قد تكون تنفيذا لها مبهمة لك.

هناك تطبيق Mac يسمى AppScanner الذي يقوم بمسح استخدام API الخاص.ليس لدي أي خبرة معها، رغم ذلك.

سوف تحصل على مزيد من المعلومات حول عملية موافقة Apple من

  1. احصل على قائمة API الخاصة.
  2. استخدم تفريغ الفصل لمعالجة ملف MACH-O، والحصول على السلسلة المعالجة.
  3. استخدم Regex للحصول على واجهة أو فئة أو طريقة في السلسلة.
  4. تطابق قائمة API إلى قائمة API الخاصة.
  5. ثم حصلت عليه ~

    فتحت تجور للقيام بذلك، ولكن لأن سبب شركتي، ألغيت.آسف جدا لهذا.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top