এক্সকোড বিল্ড ব্যর্থতা "আর্কিটেকচার x86_64 জন্য অপরিবর্তিত প্রতীক"


168

একটি এক্সকোড শিক্ষানবিস এর প্রশ্ন:

এটি Xcode 4.6.3 এর সাথে আমার প্রথম অভিজ্ঞতা।

আমি একটি খুব সাধারণ কনসোল প্রোগ্রাম লেখার চেষ্টা করছি, যা জোড় বিটি ডিভাইসগুলি অনুসন্ধান করে এবং সেগুলি এনএসএলগে মুদ্রণ করে।

এটি নিম্নলিখিত ত্রুটিটি নিয়ে তৈরি করে:

Undefined symbols for architecture x86_64:
  "_OBJC_CLASS_$_IOBluetoothDevice", referenced from:
      objc-class-ref in main.o
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)

আমি পাগলের মতো সন্ধান করেছি। সাধারণ সমস্যাটি কোনও ফাইলে রেফারেন্স হওয়া উচিত, যার মধ্যে কেবলমাত্র শিরোনামের ফাইলগুলি আমদানি করা হয় এবং লিঙ্কার দ্বারা কোনও প্রয়োগ (*। এম-ফাইল) খুঁজে পাওয়া যায় না। আইও ব্লুথুথ লাইব্রেরিটি অবশ্য ফাউন্ডেশন ফ্রেমওয়ার্কের মতো একটি মানক ফ্রেমওয়ার্ক।

আমার উপরের বিবৃতিতে আমি কী মিস করছি?

আমি এটি 32-বিট মেশিনের জন্য বিল্ড করার চেষ্টা করেছি (বিল্ড আবারও ব্যর্থ হয়)। এটি স্পষ্টতই একটি লিঙ্কারের ত্রুটি, তবে এর সাথে কী সম্পর্কযুক্ত তা সম্পর্কে আমার কোনও ধারণা নেই, ব্যতীত x86 এবং x64 উভয় আর্কিটেকচারে আইওব্লুথুথডভাইসেসের জন্য প্রয়োগের সন্ধান করার ক্ষেত্রে একটি সমস্যা রয়েছে, যখন শিরোনাম ফাইলগুলি স্ট্যান্ডার্ডযুক্ত ফ্রেমওয়ার্ক, বলা হয় IOBluetooth?

আপনার তথ্যের জন্য আমার প্রধান কোড "main.m" হচ্ছে:

#import <Foundation/Foundation.h>
#import <IOBluetooth/objc/IOBluetoothDevice.h>          // Note the import for bluetooth
#import <IOBluetooth/objc/IOBluetoothDeviceInquiry.h>   // Note the import for bluetooth


int main(int argc, const char * argv[])
{
    @autoreleasepool {
        IOBluetoothDevice *currentDevice;
        NSArray *devices = [ IOBluetoothDevice pairedDevices];


        for (id currentDevice in devices){
          NSLog(@"%i : %@",[ currentDevice classOfDevice ], [ currentDevice name ]);    
        }
    }
    return 0;
}

কোনও সহায়তার জন্য বা সঠিক দিকে নির্দেশকারীকে ধন্যবাদ।


17
অন্যান্য লিঙ্কার পতাকাগুলিতে যুক্ত $(inherited)করার চেষ্টা করুন , পরিষ্কার করুন এবং তৈরি করুন।
বিশ্রামের

1
আমি এটিতে গিয়ে যখন দেখতে পেলাম এম ফাইলের জন্য আমাকে ফাইল ইন্সপেক্টরের কাছে যেতে হবে এবং টার্গেট সদস্যতার অধীনে বাক্সটি এটি যে মডিউলটিতে ব্যবহার করার চেষ্টা করছি সেখানে রফতানি করতে (?) রেকর্ড করতে হয়েছিল check
ল্যান্ডন কুহান

উত্তর:


123

দেখে মনে হচ্ছে আপনি আপনার প্রকল্পের আইও ব্লুথুথ.ফ্রেমওয়ার্ক সহ নিখোঁজ রয়েছেন। আপনি এটি দ্বারা যোগ করতে পারেন:

- বাম ফলকের উপরের বাম দিকে আপনার প্রকল্পে ক্লিক করা (নীল আইকন)।

- মাঝের ফলকে, বিন্যাস পর্যায়সমূহ ট্যাবে ক্লিক করুন।

"লিঙ্ক বাইনারি উইথ লাইব্রেরি" এর অধীনে প্লাস বোতামে ক্লিক করুন।

তালিকা থেকে আইও ব্লুথুথ.ফ্রেমওয়ার্কটি সন্ধান করুন এবং অ্যাড টিপুন।

এখানে চিত্র বর্ণনা লিখুন

এখানে চিত্র বর্ণনা লিখুন

এটি নিশ্চিত করবে যে লিঙ্কার দ্বারা আইও ব্লুথুথ.ফ্রেমওয়ার্ক সংজ্ঞাগুলি পাওয়া গেছে। বাম দিকের ফলকে ফ্রেমওয়ার্কটিতে ক্লিক করে এবং ডান ফলকে ফ্রেমওয়ার্কের লক্ষ্য সদস্যপদ দেখে ফ্রেমওয়ার্কটি আপনার টার্গেটের সদস্য হিসাবে দেখতে পাচ্ছেন (নোট করুন যে আমি কাঠামোর সংগঠনের উদ্দেশ্যে ফ্রেমওয়ার্ক গ্রুপের অধীনে কাঠামো স্থানান্তর করেছি):

এখানে চিত্র বর্ণনা লিখুন


3
এটা কাজ করেছে! কিছু স্ক্রিনশট নেওয়ার প্রচেষ্টাতে যাওয়ার জন্য অনেক অনেক ধন্যবাদ!
রাইজিংসুন

একই জিনিস oAuthIOS কাঠামোর জন্য দুর্দান্ত কাজ করে। আপনি যে রুট প্রকল্পটি তৈরির চেষ্টা করছেন সেটিতে ফড ফোল্ডার থেকে oAuthIOS ফ্রেমওয়ার্ক যুক্ত করুন
প্রডোলোপার

1
আমি আইও ব্লুথুথ.ফ্রেমওয়ার্কটি অনুসন্ধান করছি, তবে এটি সেখানে নেই: এস
মেনো ভ্যান ডের ক্রিফট

এটা অদ্ভুত, এটা সেখানে থাকা উচিত।
ক্রিস লিভডাহাল

অসাধারণ! আমাকে কয়েক ঘন্টা বাঁচিয়েছে!
ব্র্যাভো কেভিন

49

UPD

অ্যাপলের আর্ম 64 আর্কিটেকচার ব্যবহার করা দরকার । আপনার প্রকল্পে x32 গ্রন্থাগার ব্যবহার করবেন না

সুতরাং নীচের উত্তরটি এখন আর সঠিক নয়!


পুরানো উত্তর

নতুন এক্সকোড 5.1 ডিফল্ট হিসাবে আর্কিটেকচার আর্মভ 7, আর্মভ 7 এবং আর্ম 64 সেট করে ।

এবং কখনও কখনও ত্রুটি "বিল্ড ব্যর্থতা" আর্কিটেকচার x86_64 এর জন্য অপরিবর্তিত প্রতীক "" এর কারণে হতে পারে। কারণ, কিছু লিবস (অ্যাপলের নয়) মূলত x32 এর জন্য সংকলিত হয়েছিল এবং x64 সমর্থন করে না।

সুতরাং আপনার যা দরকার তা হ'ল আপনার প্রকল্প টার্গেটের জন্য "আর্কিটেকচার" পরিবর্তন করা change

বিশেষ দ্রষ্টব্য। আপনি যদি কোকোপড ব্যবহার করছেন - আপনার "পডস" টার্গেটের জন্য একই কাজ করা উচিত।

এখানে চিত্র বর্ণনা লিখুন


3
মূলত আমি বৈধ আর্কিটেকচার সম্পত্তি থেকে আর্ম 64 জিনিসটি সরিয়েছি। তারপরে উপরের চিত্রটি যেমন দেখানো হয়েছে, কেবলমাত্র অনুমান করা বৈধ আর্কিটেকচারগুলিতে কী আছে তা কেবল তা দেখার জন্য বাধ্য করা হবে!
রেন্ডিকা বিশ্বমান

@ বিশমান, হাই! একটা ভালো এইরকম উত্তর দেন যে মধ্যবর্তী কভার পার্থক্য Valid Architecturesএবং Architectures
আলেক্সি পটাপভ

Xcode 5 ফিক্সড আমার লিঙ্ক ত্রুটি যখন আমি আইওএস প্রকল্প চালানোর জন্য চেষ্টা ছিল 7.1 কাল্পনিক, প্রয়োজন iOS 6.x কাল্পনিক এটা জরিমানা ডিফল্ট, ধন্যবা দ্বারা :) কাজ
Zsivics Sanel

@ ব্রাভস: আর্ম 64 আর্কিটেকচারটি সরিয়ে দিয়ে এটি কি 64-বিট ডিভাইসের জন্য কাজ করবে?
জয়প্রকাশ দুবে 6'15

1
@ জয়প্রকাশডুবে হাই আমি 64৪ বিট সমর্থন সহ একটি বিল্ট অ্যাপস স্টোর আপলোড করেছি তারা আমার অ্যাপটিকে প্রত্যাখ্যান করেছে। আমি যখন আর্ম 64 যুক্ত করার চেষ্টা করছি তখন আমি একটি ত্রুটি তৈরির ব্যর্থতার মুখোমুখি হচ্ছি "আর্কিটেকচারের জন্য অনির্ধারিত চিহ্নগুলি x86_64"। আমি যদি আর্কিটেকচার থেকে আর্ম 64 সরিয়ে ফেলি। এবং আমি আর্ম 64 বৈধ আর্কিটেকচারে রেখেছি। আমার অ্যাপ্লিকেশন অনুমোদিত কি ???
এসপি বালু কমমুরি

31

X86_64 আর্কিটেকচারের জন্য অপরিবর্তিত প্রতীকগুলি: "_OBJC_CLASS _ $ _ xxx", এর থেকে রেফারেন্স: yyy.o এ অবজেক্ট-ক্লাস-রেফ

এর অর্থ সাধারণত, আপনি "yyy" শ্রেণি থেকে "xxx" (এটি একটি কাঠামো বা শ্রেণি হতে পারে) কল করছেন। সংকলক "xxx" সনাক্ত করতে পারে না তাই এই ত্রুটি ঘটে।

আপনাকে নেভিগেটর উইন্ডোতে আপনার প্রজেক্ট ফোল্ডারে ডান ক্লিক করে হারিয়ে যাওয়া ফাইলগুলি (এই ক্ষেত্রে "xxx") যুক্ত করতে হবে এবং "আপনার প্রজেক্টনেম " "বিকল্পে ফাইল যুক্ত করুন" এ আলতো চাপুন ।

একটি পপআপ উইন্ডো আপনার প্রোজেক্ট ফাইলগুলি ফাইন্ডারে খুলবে। সেখানে, আপনি অনুপস্থিত ফাইলগুলি দেখতে পাচ্ছেন এবং এগুলি কেবল আপনার প্রকল্পে যুক্ত করতে পারেন। " প্রয়োজনে আইটেমগুলি অনুলিপি করুন " বাক্সটি পরীক্ষা করতে ভুলবেন না । শুভকামনা !!


17

এক্সকোড .2.২ এও আমি এই ত্রুটিটি দেখেছি যখন প্রাপ্ত ডেটাগুলি নষ্ট হয়ে যায় (আমার ক্ষেত্রে আমি একটি বিল্ড বাধাগ্রস্ত করি এবং সন্দেহ করি যে এর মূল কারণ ছিল)।

সুতরাং যদি অন্যান্য সমাধানগুলি (উল্লেখযোগ্যভাবে ক্রিস এবং ব্র্যাভস যার সম্ভবত আমার বেশি সন্দেহ হয়) উদ্ভূত ডেটা (নির্বাচন করুন: উইন্ডো / প্রকল্পগুলি / উত্সযুক্ত ডেটা -> মুছুন) মুছে ফেলার চেষ্টা করুন এবং পুনরায় বিল্ডিং আপনার সমস্যাটি ফিট করে না।

(অন্যের দ্বারা রেফারেন্সের জন্য যুক্ত করা হয়েছে - আমি জানি মূল প্রশ্নের সঠিক উত্তর দেওয়া হয়েছে)।


14

এক্সকোড 9.0b5 এর অধীনে আপনি এটির মুখোমুখি হতে পারেন কারণ Xcode 9.0b5 এর মধ্যে একটি বাগ রয়েছে যেখানে আপনি উত্স কোড যুক্ত করার সময় এটি লক্ষ্য সেটিংসটিকে সম্মান করে না। আপনার অবশ্যই প্রবেশ করতে হবে এবং প্রতিটি ফাইলের টার্গেট ম্যানুয়ালি আফটারওয়ার্ড সেট করতে হবে:

ম্যানুয়াল টার্গেট সদস্যতার চিত্র সহ এক্সকোড প্রকল্প


13

আমার ক্ষেত্রে এটি কোনও পাঠাগার ছিল না, এটি ছিল কিছু ক্লাস ..


X86_64 আর্কিটেকচারের জন্য অপরিবর্তিত প্রতীক: "_OBJC_CLASS _ $ _ ClassNmae", এর থেকে রেফারেন্স: সামার ক্লাসনামে অবজেক্ট-ক্লাস-রেফ "।

d: আর্কিটেকচার x86_64 এর জন্য প্রতীক (গুলি) পাওয়া যায় নি

ঝাঁকুনি: ত্রুটি: প্রস্থান কোড 1 সহ লিঙ্কার কমান্ড ব্যর্থ হয়েছে (অনুরোধ দেখতে -v ব্যবহার করুন)

সমাধানটি বেশ কয়েকটি স্কিমার (প্রোডাকশন, দেব ইত্যাদি) দিয়ে এক্সকোডে আমার বেশ কয়েকটি লক্ষ্যমাত্রা ছিল my আমার নতুন যুক্ত হওয়া বাস্তবায়ন (Class.m) এর মধ্যে কিছু অনুপস্থিত ছিল

এক্সকোড-> লক্ষ্য-> পর্যায়ক্রমে বিল্ড করুন>> সংকলন উত্স

সুতরাং আমি তাদের ম্যানুয়ালি যোগ করতে হয়েছিল।

তাহলে আমি সফলভাবে সংকলন ও বিল্ড করতে পারি।


এটি আমার সমস্যা সমাধান করেছে। আমি গতিশীল কাঠামো ব্যবহার করছিলাম। আরেকটি বিষয় হ'ল আমি নিজে নিজে যুক্ত করার ধারণাটি পছন্দ করি না।
toxicsun

9

আমিও একই সমস্যার মুখোমুখি হয়েছি, উপরের পদ্ধতিগুলি কার্যকর হবে না। আমি দুর্ঘটনাক্রমে এতে নিম্নলিখিত ডিরেক্টরিতে ফাইলগুলি মুছলাম। এখানে চিত্র বর্ণনা লিখুন

অথবা

~ / লাইব্রেরি / ডেভেলপার / Xcode / DerivedData /

এখানে চিত্র বর্ণনা লিখুন


4
আসল পথ / কমান্ডটি কী তা ভাবছেন তাদের কাছে: এটি ~/Library/Developer/Xcode/DerivedData/ সিএলআই এর মাধ্যমে আপনি নিম্নলিখিতটি ডিরেক্টরিটি পরিষ্কার করতে পারেন:rm -rf ~/Library/Developer/Xcode/DerivedData/
ব্রামাস

6

এক্সকোড .1.১ এ আপডেট করার সময় আপনি এই ধরণের ত্রুটি দেখতে পাচ্ছেন এবং উপরের উত্তরগুলির দ্বারা এটির সমাধান করা যাবে না। আমার ক্ষেত্রে লক্ষণগুলির মধ্যে একটি হ'ল অ্যাপটি সিমুলেটরটিতে নয় ডিভাইসে চলে। আপনি সম্ভবত ব্যবহার করছেন এমন সমস্ত ফ্রেমওয়ার্কের সাথে সম্পর্কিত একটি বিশাল সংখ্যক ত্রুটি দেখতে পাবেন।

ফিক্সটি আসলে বেশ সহজ। আপনার টার্গেট> বিল্ড সেটিংস> অনুসন্ধানের পথ বিভাগে পাওয়া "ফ্রেমওয়ার্ক অনুসন্ধানের পথগুলি" সেটিংস থেকে আপনাকে কেবল একটি এন্ট্রি মুছতে হবে ("সমস্ত" ট্যাবটি নির্বাচিত হয়েছে তা নিশ্চিত করুন)

এখানে চিত্র বর্ণনা লিখুন

যদি আপনি এখানে আপনার প্রধান লক্ষ্য (গুলি) বা আপনার পরীক্ষার লক্ষ্যমাত্রার জন্য (inher (উত্তরাধিকার সূত্রে) ছাড়াও অন্য একটি এন্ট্রি দেখতে পান তবে সমস্ত লক্ষ্যমাত্রা থেকে ত্রুটিযুক্ত পথটি মুছুন এবং পুনর্নির্মাণ করুন।


5

আমি খুঁজে পেয়েছি যে আপনি যদি নিজের প্রকল্পে উদ্দেশ্য-সি ফাইলগুলির সাথে একটি ফোল্ডার টানেন তবে এটিও ঘটতে পারে। যদি সেই ফোল্ডারটি নীল দেখা যায় তবে আমি মনে করি এটি সঠিকভাবে লিঙ্কযুক্ত নয় indicates আপনি এটি যাচাই করতে পারেন (আপনি যদি সংস্করণ নিয়ন্ত্রণ ব্যবহার করেন) কারণ যখনই আপনি নতুন ফাইল যুক্ত করেন pbxproj ফাইলটি সেই নতুন ফাইলগুলির লিঙ্কগুলির সাথে আপডেট হওয়া উচিত। তবে আপনি দেখতে পাবেন যে আপনি কোনও ফোল্ডার যুক্ত করার পরেও যে pbxproj ফাইলটি পরিবর্তন হয়নি (এবং তাই এখানে একটি লিঙ্কিং ত্রুটি রয়েছে)। সুতরাং আপনি স্বয়ংক্রিয়ভাবে সম্পূর্ণ কাজ পাবেন এবং এটি আপনি আমদানিকৃত ক্লাসগুলি খুঁজে পাবেন তবে এটি চিত্রটি তৈরি করতে গেলেই এই ত্রুটি কোডটি ব্যর্থ হয়।

সমাধানটি হ'ল ফোল্ডারটি যুক্ত না করে বরং ফাইলগুলি যুক্ত করা। এটি করুন এবং আপনার পিবিএক্সপ্রজ ফাইল আপডেটটি দেখা উচিত এবং এটির এই ত্রুটিটি ঠিক করা উচিত।

এটিও ধরে নিয়েছে যে আপনি উপরে প্রস্তাবিত যা কাজ করেছেন এবং সঠিকভাবে সমস্ত সঠিক ফ্রেমওয়ার্ক যুক্ত করেছেন।


5

আমি এখানে সমস্ত কিছু সম্পর্কে চেষ্টা করেছি কিন্তু আমার সমস্যাটি আগের কোকোপোডগুলি তৈরির অবশিষ্টাংশে পরিণত হয়েছিল। আমার জন্য যা কাজ করেছিল তা হ'ল:

  1. rm -Rf Pods; pod install
  2. উত্সযুক্ত ডেটা মুছুন (উইন্ডো / প্রকল্পগুলি ... আপনার লক্ষ্য নির্বাচন করুন। বোতাম মুছুন ক্লিক করুন)
  3. পুনর্নির্মাণ করা

4

আমার একই ত্রুটি ছিল, কারণ কোনও ফাইল মোছার পরিবর্তে আমি কেবলমাত্র এর উল্লেখগুলি সরিয়ে দিয়েছি। ফাইলটি ফাইন্ডারে সনাক্ত করা এবং এটি সরিয়ে ফেলা সহায়তা করে।


3

আমি জানি এটি একটি পুরানো প্রশ্ন তবে আজ একই ত্রুটি পেয়েছে এবং উপরের সমাধানগুলির কোনওটিই কাজ করে না।

বিকল্পটি সেট করে এটি ঠিক করে দিয়েছেন:

Project -> Architecture -> Build Active Architecture Only

হ্যাঁ

এবং প্রকল্প সংকলন এবং সঠিকভাবে বিল্ড


3

আমি অনেকবার এই সমস্যার মুখোমুখি হয়েছি। আপনি যখন আপনার বিল্ড ফোল্ডারটি মুছবেন তখন এটি সাধারণত আসে।

সহজ সমাধান হ'ল পড ফাইলগুলি পুনরায় ডি-ইন্টিগ্রেটেড এবং ইনস্টল করা।

pod deintegrate
pod install

2

কোনও সি ফাইলে লিঙ্ক দেওয়ার চেষ্টা করার সময় আপনি যদি এই ত্রুটিটি পেয়ে থাকেন তবে প্রথমে টাইপসের জন্য ফাংশনের নামগুলি ডাবল চেক করুন। পরবর্তী ডাবল পরীক্ষা করে দেখুন যে আপনি extern C {}কনস্ট্রাক্টটি ব্যবহার না করে C ++ / উদ্দেশ্য-সি ++ পরিবেশ থেকে সি ফাংশন কল করার চেষ্টা করছেন না । আমি আমার চুল ছিঁড়ে যাচ্ছিলাম কারণ আমার একটি ক্লাস ছিল যা .mm ফাইলে ছিল যা সি ফাংশনগুলি কল করার চেষ্টা করছিল। এটি কাজ করে না কারণ সি ++ তে প্রতীকগুলি ম্যাঙ্গেল করা হয়েছে। আপনি আসলে এনএম সরঞ্জাম ব্যবহার করে তৈরি কংক্রিটের প্রতীকগুলি দেখতে পাচ্ছেন। .O ফাইলগুলির পাথের টার্মিনাল, এবং nm -gসেই ফাইলটি চালান যা প্রতীকটিকে কল করে এবং প্রতীকটি থাকা উচিত, এবং আপনার দেখা উচিত যে সেগুলি মিলে যায় কি না, যা ত্রুটির জন্য ক্লু সরবরাহ করতে পারে।

nm -g file.o

আপনি এর সাথে বিভক্ত সি ++ চিহ্নগুলি পরিদর্শন করতে পারেন:

nm -gC file.o

2

আমার ক্ষেত্রে, আমি স্থাপনার লক্ষ্যমাত্রা 9.1 তে সেট করে একটি কাস্টম কাঠামো তৈরি করেছি, তবে আমার অ্যাপ্লিকেশনটির ডিপ্লোয়মেন্ট লক্ষ্যটি কম ছিল, যা 8.1 সমর্থন করে। কাস্টম ফ্রেমওয়ার্কটি হ্রাস করুন ডিপ্লোমেন্ট লক্ষ্য আমার সমস্যার সমাধান করেছে problem


2

আমি পার্টিতে দেরি করে ফেলেছি তবে আরও একটি দৃশ্যের ভাগ করে নেওয়ার চিন্তা করেছি যেখানে এটি ঘটতে পারে। আমি একটি কাঠামোয় কাজ করছিলাম এবং কোকোপডগুলিতে এটি বিতরণ করছিলাম। কাঠামোর উভয় উদ্দেশ্য সি এবং সুইফ্ট ক্লাস এবং প্রোটোকল ছিল এবং এটি সফলভাবে বিল্ডিং করছে। অন্য ফ্রেমওয়ার্ক বা প্রোজেক্টে পোড ব্যবহার করার সময় পডস্পেকটিতে .m ফাইলগুলি অন্তর্ভুক্ত করতে ভুলে যাওয়ায় এটি এই ত্রুটিটি দিচ্ছিল। দয়া করে নীচের হিসাবে আপনার পডস্পেক উত্সগুলিতে .swtift, .h এবং .m ফাইল অন্তর্ভুক্ত করুন: s.source_files = "প্রকল্পের নাম / প্রকল্পের নাম / ** / * {সুইফট, এইচ, এম}"

আমি এটি অন্য কারও সময় সাশ্রয় আশা করি।


2

বিল্ড সেটিংসে অন্যান্য লিঙ্কার পতাকাগুলিতে "-lc ++" যুক্ত করে আমি এটি সমাধান করেছি।


1

আমার জন্য, এটি মার্জ সংঘাতের পরে ঘটতে শুরু করে।

আমি বিল্ড ফোল্ডারটি পরিষ্কার এবং মুছে ফেলার চেষ্টা করেছি, তবে এর কোনওটিই সহায়তা করেনি। এই বিষয়টি নির্বিশেষে ঘটতে থাকে। তারপরে আমি সমস্যাযুক্ত গ্রুপগুলি মুছে দিয়ে প্রকল্পটি পুনরায় যুক্ত করে রেফারেন্সটিকে পুনরায় যুক্ত করেছি এবং এটি কাজ করেছে।



1

আমার ক্ষেত্রে আমাকে যুক্ত করতে হয়েছিল

    target 'SomeTargetTests' do
        inherit! :search_paths
    end
আমার পোডফাইলে এবং তারপরে / পড ডিরেক্টরি মুছে ফেলুন এবং `পড ইনস্টল করুন`

(এক্সকোড 10.1)


1

এটি কারও সাহায্য করতে পারে। অবশেষে এটি বের করতে আমার কয়েক দিন সময় লেগেছে। আমি ওবিজে-সিতে কাজ করছি এবং আমি গিয়েছিলাম:

Project-> Build Phases-> Compile sourcesএবং VC.mআমি সবে যুক্ত করা নতুন ফাইলটি যুক্ত করেছি।

আমি লিগ্যাসি কোড নিয়ে কাজ করছি এবং আমি সাধারণত একটি স্বাচ্ছন্দ্য, ওবিজে-সি-তে নতুন তাই আমি আমার .mফাইলগুলি কোনও উত্স লাইব্রেরিতে আমদানি করার কথা ভাবিনি ।

সম্পাদনা করুন:

দ্বিতীয়বার এই সমস্যাটির মধ্যে চলে এসেছিল এবং এটি ছিল অন্যরকম কিছু। এই উত্তরটি ডিবাগিংয়ের 5 ঘন্টা পরে আমাকে বাঁচিয়েছে। এই থ্রেড এবং আরও অনেক কিছু অপশনের চেষ্টা করে। https://stackoverflow.com/a/13625967/7842175 দয়া করে যদি এটি আপনাকে সহায়তা করে তবে তাকে ক্রেডিট দিন, তবে মূলত আপনার ফাইলটি ইন্সপেক্টরটিতে তার টার্গেটে সেট করা দরকার হতে পারে।

এটি আপনার ফাইল ইন্সপেক্টর, কেবল আপনার প্রয়োজনীয় সমস্ত লক্ষ্য "টিকড" আছে তা নিশ্চিত করুন

সব মিলিয়ে এটি একটি অত্যন্ত অস্পষ্ট ত্রুটি কোড যা অনেক কারণে হতে পারে, তাই বিভিন্ন বিকল্পের চেষ্টা করে চলুন।


1

কিছু সময়, আমি রিলিজ-ইউনিভার্সাল থেকে লাইব্রেরিটি অনুলিপি করতে এবং ভুল করে রিলিজ-আইফোনগুলি থেকে অনুলিপি করতে ভুলে গেছি। সাধারণত রিলিজ-আইফোনগুলিতে .a ফাইল থাকে যা এক্স 86 এর জন্য ছাঁটাই করা হয়। এবং তাই এটি ত্রুটি দেয়।


1

আমার ক্ষেত্রে, লক্ষ্য সদস্যতার নির্বাচন অপসারণ এবং তারপরে আবার সমস্যাটি সমাধানের জন্য নির্বাচন করুন

সংযুক্তি ফটো দিয়ে উইলিয়াম Cerniuk উত্তর চেক করুন।


0

আমার ক্ষেত্রে সমস্যাটি ফ্রেমওয়ার্ক আর্কিটেকচার সংকলিত ছিল।
আমি এক্সকোড 11 চালাচ্ছি এবং সুইফ্ট 5.1 ব্যবহার করছি

  • আমার 3 টি লক্ষ্য ছিল:
    • MyApp
    • MyAppTests
    • MyAppFrameWork

আমাকে পরীক্ষা চালানোর চেষ্টা করা হয়েছিল তবে মাই অ্যাপফ্রেম ওয়ার্ক পণ্যটি জেনেরিক আইওএস ডিভাইসগুলির জন্য সংকলিত হয়েছিল এবং পরীক্ষার লক্ষ্যটির জন্য একটি বাহু x86-64 প্রয়োজন ছিল, তাই আমি আইওএস সিমুলেটারগুলির ফ্রেমওয়ার্কটি পুনর্নির্মাণ করেছি এবং পরীক্ষার কেস সফলভাবে চলতে শুরু করি।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.