كيفية استخدام واجهات برمجة تطبيقات iPhone SDK الخاصة

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

سؤال

لم أجد قائمة شاملة بالخطوات المطلوبة لاستخدام واجهة برمجة تطبيقات خاصة من مكتبة iPhone.

على وجه الخصوص ، أود أن أعرف كيفية الحصول على ملفات رأس ، حتى لو كانت مطلوبة ، وكيفية الحصول عليها لتجميع (عندما أقوم ببساطة بإضافة الرأس ، فإنها تشكو من أن الوظائف غير محددة) ، وما هي الموارد التي يمكن للمرء استخدم للتعرف على واجهات برمجة التطبيقات الخاصة (على سبيل المثال من تجارب المستخدم الأخرى ، مثل http://iphonedevwiki.net/ التي لديها عدد قليل).

لقد قرأت في أماكن أخرى يوصي الناس باستخدامها تفريغ الطبقة للحصول على الرؤوس. هل هناك أي طرق بديلة؟ لقد لاحظت أن هناك بعض المستودعات من iPhone Private SDKs ، ما هي أكثر الموارد التي توصي بها؟

أكثر من السابق أسئلة حول توثيق واجهات برمجة التطبيقات الخاصة ، ارتبطوا جميعًا موقع إيريكا سادون, ، الذي لا يبدو أنه يحتوي على توثيق بعد الآن (يتم عبور جميع الروابط على اليسار).

يرجى حفظ التعليقات حول عدم استخدام API الخاص ... أعرف أكبر المخاطر:

  • سيتم رفض التطبيق بواسطة Apple.
  • سوف ينهار التطبيق في التحديثات المستقبلية لنظام التشغيل.

أنا أتحدث عن الاستخدامات المشروعة ، مثل:

  • استخدام التطبيق الخاص (على سبيل المثال لاختبار الوحدة ، أو العبث لمعرفة ما هو ممكن)
هل كانت مفيدة؟

المحلول

يحتوي Objective-C على معلومات كافية في الثنائي المترجم لإعادة بناء الرؤوس بالكامل تقريبًا. الأشياء الوحيدة المفقودة هي أسماء الوسيطة ، والتي يمكن تقريبها من النوع أو النموذج الأولي ، وبعض تعريفات البنية والتعداد. هذا هو السبب في أن برامج مثل Dump Class هي أفضل طريقة للحصول على الرؤوس. إنها شاملة ، بما في ذلك كل طريقة سواء كانت في الرأس الحقيقي أم لا ، حتى الآن ولا تحتاج إلى توزيعها. الطريقة الأخرى للحصول على الرؤوس هي البحث في الإصدار العام من نفس الإطار ، على سبيل المثال WebKit خاص فقط على iPhone ويتم توثيقه جيدًا.

إذا كنت مهتمًا بالأشياء إلى جانب الهدف-C ، فعليك القيام بذلك بالطريقة القديمة ، فالتقاطع من خلال التفكيك لتخمين الحجج. بمجرد حصولك على بعض الرموز ، ابحث عنها وربما ستجد رأسًا نشره شخص آخر. Otool هو مكان جيد للبدء.

إذا قمت بتضمين الرؤوس ، سواء كان ذلك لـ Objective-C أو C ، فيجب عليك أيضًا تضمين الأطر أو المكتبات التي تعلنها الرؤوس طرقها ، تمامًا مثل أي رؤوس أخرى. توجد معظم الأشياء الهدف في مجلد PrivateFrameworks بجوار مجلد الأطر العادية. يمكنك النظر في مجلد USR/LIB للعثور على المكتبات.

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

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