iphone - for - تحميل برنامج xcode




لم يتم العثور على مكتبة-lPods (20)

حصلت على خطأ عند أرشفة مشروع. هذه هي بيئتي.

  • Mac OS Lion
  • Xcode 4.3.1
  • iOS SDK 5.1

هدف نشر المشروع هو:

IPHONEOS_DEPLOYMENT_TARGET 3.2

يظهر الخطأ:

ld: library not found for -lPods
clang: error: linker command failed with exit code 1 (use -v to see invocation)

أعتقد أن Pods هو CocoaPods التي اعتدت على إدارة تبعيات مشروع XCode. https://github.com/CocoaPods/CocoaPods

هذا هو بلدي Podfile

platform :ios  
dependency 'libPusher', '1.1'

لست متأكدًا من معنى الخطأ؟


أنا فصلت التطبيق وأهداف الاختبار في Podfile عن طريق استخدام

target :App do
    …
end

target :AppTests do
    …
end

هذا أدى إلى اثنين من المنتجات الجديدة libPods-App.a و libPods-AppTests.a ، على التوالي وجعلوا المنتج السابق libPods.a عفا عليها الزمن. اضطررت إلى إزالة هذا المنتج من قسم Link Binary With Libraries الخاص بتكوين البناء في المرحلتين .


إذا اشتكت Xcode عند الربط ، على سبيل المثال Library not found for -lPods ، فإنها لا تكتشف التبعيات الضمنية.

انتقل إلى المنتج> Edit Plan انقر فوق Build قم بإضافة مكتبة ثابتة Pods ، وتأكد من وجودها أعلى القائمة Clean and build again إذا لم يفلح ذلك ، تحقق من أن مصدر المواصفات التي تحاول تضمينها قد تم سحبت من جيثب. القيام بذلك عن طريق النظر في / حاضن /. إذا كانت فارغة (لا يجب أن تكون) ، تحقق من أن / .cocoapods / master //. podspec يحتوي على رابط git hub الصحيح فيه. إذا كان لا يزال لا يعمل ، تحقق من إعدادات مواقع إنشاء XCode. انتقل إلى التفضيلات -> المواقع -> البيانات المشتقة -> متقدم وحدد موقع البناء على "نسبة إلى مساحة العمل".

http://docs.cocoapods.org/guides/getting_started.html


إذا كنت تقوم بالأرشفة على iOS7 و Xcode5 وحصلت على هذه الأخطاء ، يرجى الرجوع إلى هذا الرابط. يبدو أن شركة Apple تقوم بإسقاط بنية تحتاجها حبيبات الكاكاو https://github.com/CocoaPods/CocoaPods/pull/1352


إذا كنت تواجه مشاكل مع هذا على cocoapods v25 / Xcode 5

يقوم مشروع Pods Xcode الآن بتعيين إعداد الإنشاء ONLY_ACTIVE_ARCH إلى YES في تكوين Debug. سيتعين عليك تعيين نفس الشيء على المشروع / الهدف ، وإلا ستفشل عملية الإنشاء.

https://github.com/CocoaPods/CocoaPods/wiki/FAQ#running-into-build-failures-after-migrating-to-xcode-5-and-cocoapods-0250

تحديث تأكد من أن لديك أحدث الأحجار الكريمة / cocoapods

  • نظام تحديث جوهرة
  • جوهرة التحديث cocoapods

ستحتاج إلى إعادة إنشاء المشروع باستخدام "تثبيت Pod" لإعادة إنشاء المشروع.


اعتدت نسخة cocoapod القديمة بعد تحديث cocoapods أنه يوحي لي لتحديث جهازي المثبتة بسبب التحديث الرئيسية وأنا التحديث بعد وقت طويل. أنا تحديثه وتحديثات القرون الإصدار الجديد تم تحديثها بشكل جيد. ولكن بعد ذلك حصلت على الخطأ مثل library not found for -lPods-xxxprojectName-xxxxxpodName

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

تحقق من " Manage Schemes الخاصة بك للحصول على اسم جراب صحيح وقم بمقارنتها في " Other Linker Flag إذا لم تكن مشابهة

كان مسار الجراب القديم -l"lPods-xxxprojectName-xxxxxpodName"

ولكن كان القرون الجديدة فقط xxxxxpodName لذلك أنا استبدال " Other Linker Flag مع واحدة جديدة مثل أدناه

تم تغييره إلى pod path -l"xxxxxpodName" .

لا أعرف السبب المثالي وراء ذلك ، لكن قد يساعدني هذا الشخص.


باستخدام ONLY_ACTIVE_ARCH = NO في جميع القرون تحل المشكلة بالنسبة لي. لجعل هذا مستمر ، قمت بإضافة ارتباط post_install إلى Podfile الخاص بي:

post_install do |installer_representation|
  installer_representation.project.targets.each do |target|
      target.build_configurations.each do |config|
            config.build_settings['ONLY_ACTIVE_ARCH'] = 'NO'
      end
  end
end

pod install وأنت فعلت.


تأكد من فتح .xcworkspace ، وليس. .xcodeproj


حاول فتح ملف xcworkspace بدلاً من ملف xcodeproj


حصلت على نفس المشكلة عند الأرشفة لإرسالها. يمكن العثور على مناقشة حول هذه المسألة هنا: https://github.com/CocoaPods/CocoaPods/issues/155

باختصار ، هناك طريقتان تعملان من أجلي:

  1. إعداد "التفضيلات -> المواقع -> متقدم" إلى "مخصص (نسبة إلى مساحة العمل)" أو
  2. تعيين Podfile إلى - platform :ios, :deployment_target => "5.0" deploy_target - platform :ios, :deployment_target => "5.0"

حلها عن طريق اتخاذ الخطوات أدناه:

  • قم بتحديث تركيب cocoapods الخاص بك. ($ [سودو] جوهرة تثبيت cocoapods)
  • أعد تثبيت اعتمادياتك ضمن مشروعك. (تثبيت الكبس)
  • نظف وأعد بناء / أرشفة.


في حالتي pod install المشكلة ، بعد إنشاء خطط التوزيع والإفراج.


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

  1. أنت تستخدم مساحة العمل.
  2. مكتبة Pods يبني.
  3. يشار إلى مكتبة Pods في مجموعة منتجات مشروعك.
  4. يتضمن هدفك مكتبة Pods في الارتباط مع مرحلة بناء الأطر.

كان لدي ملف libPod.a قديم محدد (ربما بسبب تغيير الأهداف).

إعدادات المشروع -> إنشاء مراحل -> ارتباط ثنائي مع المكتبات

عادةً ما تتضمن cocoapods مكتبة واحدة فقط ، مثل libPods-target.a أو libPods.a . أنا حلها عن طريق إزالة التكرار.


لا يعمل حل بالنسبة لي ، وهذا لا يطاق حقا ، وهناك ملف libpods.a (الذي كان لونه أحمر) أزلته وكل شيء يعمل بشكل جيد! هتاف لي ؛)


لقد قسمت قائمة جهازي في Podfile لأهداف مختلفة مثل:

target :ABC do
  pod 'KissXML', '~> 5.0'
  pod 'libPhoneNumber-iOS', '~> 0.7.2'
end

target :ABCTests do
  pod 'OCMock', '~> 2.2.1', :inhibit_warnings => true
end

وركضت pod install

هذا إنشاء مكتبة جديدة libPods-ABC.a التي كان لي ثنائي الارتباط بها. لكن الخطأ أنه لم يحذف المكتبة السابقة مثل libPods.a .

الحل: قم بإزالة libPods.a المكتبة من Build Phases من Link Binary With Libraries .


محاولة

link_with "YouTarget1" و "YouTarget2" ...

عملت مشروعي ، وأهداف توقف فجأة تجميع. ثم أضاف "link_with" وعاد إلى طبيعته.

على ما يبدو ، الآن يتصل فقط بالهدف الأول ، هو ما يقوله الرابط:

http://guides.cocoapods.org/syntax/podfile.html#link_with


هل أنشأت "توزيع" أو ما شابه ذلك لإعداد أرشيفات Ad-Hoc و App Store؟ مثل العديد من الآخرين ، اتبعت توصيات Apple وأطلق عليها اسم "Release" ، أطلق عليها اسم "Distribution" ووضعت قواعد توقيع مختلفة عليها. حسنا ، ربما كان ذلك توصية قبل أن يعرضوا مخططات و "توزيع" الخيار في المنظم ، على أي حال ، أنا فقط كان من قبل.

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

ومع ذلك ، لم يظهر الأرشيف في المنظم ، على الرغم من إمكانية تحديد موقعه في نظام الملفات ، ولكن كان حجمه 0.

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

تحديث حصلت للتو على إجابة من الكاشفين Devids الكاكاو لا يبدو لي العمل بالنسبة لي ، لأنني قد وضعت إعدادات Pods بشكل صحيح. لكنها يمكن أن تساعد شخص آخر.


واجهت مشكلة مماثلة اليوم.

  1. أقوم بإعداد مشروع جديد
  2. لقد قمت بتركيب قرون الكاكاو
  3. لقد قمت بإنشاء Preview تكوين جديدة مع Debug و Release الحاليين
  4. الآن عند التحويل البرمجي على هذا التكوين الجديد Preview ، لن يتمكن المحول البرمجي من الارتباط بـ Pods وإعطائي هذه الرسالة:

    ld: library not found for -lPods
    

الحل:

ما كان علي فعله هو الركض

 pod install

مرة أخرى ، وبالتالي تكوين cocoapods لتكوين Preview جديدة. لقد قمت بتحديث مشروعي ، ومساحة العمل وملف مشروع Pod ، واختفت المشكلة


واجهت نفس المشكلة عندما قمت بتحرير Podfile بإضافة الهدف الذي كنت أستخدمه بدون هدف من قبل.

Podfile

target 'xxxx' do

pod 'xyz'
pod 'abc'    

end

بعد التساؤل حول وجدت أن تحت خصائص الهدف >> علامة التبويب عام >> قسم الأطر والمكتبات المرتبطة ، كان هناك libPods-xxxx.a الجديد و libPods.a القديم واحد

أنا فقط إزالة libPods.a وكل شيء سار على ما يرام.





cocoapods