iphone - studio - sdk ios




كيفية تجديد شهادة تطوير iPhone؟ (6)

إذا انتهت صلاحية الشهادة ، لا يمكنك إبطالها. تحتاج إلى إعادة إنشائه من خلال بوابة برنامج المطور.

بمجرد توفر شهادتك الجديدة ، لست متأكدًا مما إذا كنت بحاجة إلى إنشاء ملفات تعريف التموين المرتبطة بشهادتك السابقة مرة أخرى. أعتقد أنه يجب عليك القيام بذلك على الأرجح (ما لم تستخدم ملفات تعريف التوفير فقط موضوع الشهادة وليست صالحة من / إلى fieds).

على حد علمي ، لا توجد آثار جانبية أخرى.

انتهت صلاحية شهادة التطوير الخاصة بي. ما هي الطريقة الصحيحة لتجديدها؟ هل تلغي الشهادة منتهية الصلاحية وترسل طلب توقيع شهادة جديد؟ هل يجب إعادة إنشاء ملفات تعريف التوفير؟ هل هناك أي آثار جانبية للقيام بذلك؟


باستخدام Xcode 4.4.1 ، يتولى المنظم تنظيم تجديد الشهادات.

في حالتي ، كان عليّ القيام بالخطوات التالية:

1) افتح Xcode وابدأ المنظم (Window -> Organizer)

2) انتقل إلى علامة التبويب الجهاز وتحت قسم الفرق حدد هوية مطور البرامج (إذا انتهت صلاحية شهادة تطوير iOS ، يجب ألا تراها في القائمة)

3) ضرب التحديث في أسفل اليمين

4) يسأل Xcode ما إذا كنت تريد طلب شهادة جديدة

5) الموافقة على الطلب وإكمال الإجراء (تصدير الشهادة إذا كنت تعمل على أجهزة Mac الأخرى)

6) أغلق Xcode

7) قم بإزالة الشهادة منتهية الصلاحية من keychain (أقترح حفظها قبل حذفها على أي حال ، حتى لو لم يكن ذلك ضروريًا للخطوات التالية - من الجيد دائمًا الاحتفاظ بنسخ احتياطية من الشهادات منتهية الصلاحية أيضًا)

8) افتح Xcode ولكل مشروع Xcode ، اختر هوية توقيع الرمز الجديدة في إعدادات البناء الخاصة بك.

9) تنظيف المشروع (المنتج -> تنظيف)

10) ترجمة ونشر.

واضحة ومباشرة جدا.


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

https://developer.apple.com/library/ios/#qa/qa1618/_index.html

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

ومع ذلك ، فإن مشاكلي لم تنته عند هذا الحد. لدي الآن شهادة جديدة ، وتمكنت من إنشاء ملف تعريف توزيع كما هو موضح هنا:

https://developer.apple.com/library/ios/#recipes/ProvisioningPortal_Recipes/CreatingaDistributionProvisioningProfile/CreatingaDistributionProvisioningProfile.html

ومع ذلك ، لا يزال يتعذر علي إنشاء بنية توزيع (مخصصة أو لمتجر التطبيقات) ، لأن Xcode اشتكت من وجود شهادتي توزيع في سلسلة المفاتيح الخاصة بي ، (يجب أن يكون هناك واحد فقط). لكن، كيف يمكن ان يكون؟ كنت قد حذفت شهادات انتهاء الصلاحية. ومع ذلك ، فمن المؤكد أنه صحيح: الشهادات المنتهية الصلاحية التي حذفتها عادت إلى سلسلة المفاتيح الخاصة بي!

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

لذلك قمت بحذف كافة ملفات تعريف التطوير والتوزيع من Xcode ، ثم قمت بحذف الشهادات منتهية الصلاحية من سلسلة المفاتيح الخاصة بي مرة أخرى.

لكن ذلك لم يحل المشكلة ، لأن Xcode بدأ في تنزيل جميع الملفات الشخصية من البوابة مرة أخرى! وعندما فعلت ذلك ، أنشأت شهادات منتهية الصلاحية في سلسلة المفاتيح الخاصة بي مرة أخرى !

في النهاية كان علي حذف كل شيء :

  1. لقد حذفت جميع ملفات تخصيص التوزيع والتوفير من موقع البوابة ، بحيث تعذر على Xcode تنزيلها مرة أخرى.

  2. لقد حذفت جميع ملفات تخصيص التوزيع والتوفير من Xcode .

  3. لقد حذفت أيضًا جميع ملفات تخصيص التوزيع والتوفير من أجهزتي ، فقط لتكون في الجانب الآمن.

  4. لقد حذفت شهادات الهوية منتهية الصلاحية من Keychain ، مرة أخيرة.

في النهاية ، لقد تركت مع لوحة نظيفة. لقد قمت الآن بإعادة تنزيل ملف تعريف التوزيع الذي قمت بإنشائه على موقع البوابة ، وتمكنت من إنشاء بنية توزيع لتطبيقي وتحميله على iTunes Connect.

مشكلتي الأخيرة هي أنه لا يمكنني الآن إنشاء وتشغيل (تطوير) على أجهزتي ، لأنني حذفت "ملف تعريف تطوير الفريق" منتهي الصلاحية. لم أجد أي طريقة لعمل طريقة جديدة على البوابة ، ولم أجد أي طريقة لطلب واحدة في Xcode ، لكن في النهاية ، صادفت فرصة حظ: ربطت أحد أجهزتي مع الكمبيوتر وطلب Xcode لإضافته على البوابة ، على الرغم من أنه سبق أن أضيف إلى البوابة سابقا. لقد نجح هذا الأمر - حيث تسبب Xcode في طلب البوابة للحصول على ملف تعريف جديد لتطوير الفريق ، وأخيراً عدت بالكامل للعمل. تمكنت من التطوير على أجهزتي باستخدام ملف تعريف تطوير الفريق ، وتمكنت من إنشاء ملفات تعريف للتوزيع وتنزيلها والبناء معها لإنشاءات Ad Hoc أو App Store.

إذن ما تعلمته من هذه المغامرة هو: عندما تنتهي صلاحية شهاداتك ، احذف كل شيء (جميع الشهادات والملفات الشخصية) وابدأ من الصفر.


في تجربتي ، بدأت بحذف الشهادة منتهية الصلاحية. ثم قمت Request a Certificate from a Certificate Authority كاملة Request a Certificate from a Certificate Authority :

بعد القيام بذلك ، ذهبت إلى iOS Provisioning Portal -> Provisioning والنقر فوق Modify لملف التعريف الذي كان يعيقني. ثم حددت جهازي وأرسلت. أخيرًا قمت بتنزيل ملف التعريف الجديد وإضافته إلى مشروع Xcode.

ملحوظة: هذا ل Xcode 4.3 على الأسد.


لقد قمت للتو بتجديد شهادتي المنتهية الصلاحية وحالة التوفير باستخدام Xcode 4.3.2. يقول مستندات Apple "استخدم [الجهاز] من أجل التطوير" في Xcode Organizer - وهو ما قمت به في الأصل ولكن هذا الزر لم يعد يظهر.

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

أيام سعيدة - جيد تقريبًا - لا يزال Xcode نفسه يئن من شهادة مكررة في Keychain Access. تم حذف واحدة منتهية الصلاحية (وأي أخرى منتهية الصلاحية) و Xcode سعيد الآن (اضطررت لتغيير ملف للحصول على Xcode لإعادة محاولة فعليًا لإعادة البناء على الرغم من ذلك).

بالنسبة إلى XCode 5 ، تابعت مشاركة Baryon Lee ، باستثناء أنني لم أكن بحاجة إلى إزالة الشهادة القديمة أولاً (حاولت إجراء التصويت بصوت مرتفع لك Baryon ولكني بضع نقاط سمعة قصيرة :-(). كنت بحاجة إلى إضافة التفاصيل الخاصة بي على صفحة الحسابات أولاً.


مع Xcode 5 ، اتبع الخطوات التالية:

1) إزالة الشهادة القديمة من https://developer.apple.com

2) افتح XCode - التفضيلات - الحسابات - عرض التفاصيل ، ثم انقر فوق رمز التحديث في أسفل اليسار

3) يسأل Xcode ما إذا كنت تريد طلب شهادة جديدة

استمتع بهذا العمل البسيط





certificate