এক্সকোড 5.1 - (কেবলমাত্র_আসিটিআইভিআইপি = হ্যাঁ, সক্রিয় আর্চ = x86_64, VALID_ARCHS = i386) জন্য সংকলনের জন্য কোনও আর্কিটেকচার নেই


168

এক্সকোড 5.1 এ আপডেট করার পরে, আমি আর এই ত্রুটিটি পেয়ে 64৪-বিট সিমুলেটারের জন্য আমার প্রকল্পটি তৈরি করতে পারি না:

 No architectures to compile for (ONLY_ACTIVE_ARCH=YES, active arch=x86_64, VALID_ARCHS=i386).

এগুলি আমার টার্গেট বিল্ড সেটিংস:

এক্সকোড টার্গেট বিল্ড সেটিংস

আমি "বিল্ড অ্যাক্টিভ আর্কিটেকচার" নং-তে পরিবর্তন করার চেষ্টা করেছি, পাশাপাশি "বৈধ আর্কিটেকচারগুলি" "i386" যুক্ত করার চেষ্টা করেছি, দুর্ভাগ্যবশত দু'জনেই কাজ করেননি। কোন পরামর্শের জন্য ধন্যবাদ!


4
সর্বশেষ আইওএস 7.1 আপডেটের পরে আমি বেশ কয়েকটি অনুরূপ প্রশ্ন দেখেছি এবং সমাধানটি হ'ল আর্ম 64 ছেড়ে যাওয়া। স্বীকার করুন, এটি আপনার নির্দিষ্ট সমস্যা সমাধান করে না তবে অ্যাপল কিছু গণ্ডগোল করেছে বলে বিশ্বাস করার কারণ রয়েছে।
dandan78

ধন্যবাদ, এটি উপলব্ধি করে, আমি অনুমান করি যে অ্যাপল এর জন্য কোনও আপডেট প্রকাশ না করা পর্যন্ত আমি 64-বিট ব্যবহার করব না।
ebi


এক্সকোড .1.১ এ একই সমস্যা, নীচে প্রদত্ত সমস্ত সমাধান চেষ্টা করেছে, তারা কাজ করছে না। আমার প্রকল্পে আমার কোকোপড রয়েছে। এটি Xcode 6.1 এ কীভাবে ঠিক করবেন তার কোনও সমাধান
Vinayaka Karjigi

উত্তর:


102

এক্সকোড 5.1 এ আপগ্রেড করার পরে আমার একই ত্রুটি বার্তা ছিল। আপনি কি কোকোপড ব্যবহার করছেন? যদি তা হয় তবে এই সমস্যাটি সমাধান করা উচিত:

  1. এক্সকোডের বাম ফলকের ওয়ার্কস্পেস থেকে "পডস" প্রকল্পটি মুছুন এবং এক্সকোডটি বন্ধ করুন।
  2. "পডস" প্রকল্পটি পুনরায় তৈরি করতে কমান্ড লাইন থেকে "পড ইনস্টল" চালান।
  3. এক্সকোডটি পুনরায় খুলুন এবং "পডস" প্রকল্প এবং আপনার নিজস্ব প্রকল্প উভয়ের বিল্ড সেটিংসে "বিল্ড অ্যাক্টিভ আর্কিটেকচার কেবল" "না" সেট করা আছে তা নিশ্চিত করুন।
  4. পরিষ্কার এবং বিল্ড।

1
পডস আর্কিটেকচার থেকে আর্ম 64 সরিয়ে ফিক্সড।
ebi

আমার জন্যও কর্ডোভা / ফোনগ্যাপ প্রকল্পে একই সমস্যার সমাধান হয়েছে। ধন্যবাদ
রোকো

182

আপনি কি করতে প্রয়োজন মাত্র সেট করা হয় ONLY_ACTIVE_ARCHথেকে NO(আমার জন্য অন্তত কাজ)। নীচে এটির জন্য একটি স্ক্রিনশট রয়েছে:


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

আমি যতদূর জানি ( দয়া করে কিছু ভুল আছে কিনা তা দয়া করে চিহ্নিত করুন, ধন্যবাদ ), যদি আপনি সেট ONLY_ACTIVE_ARCHকরে থাকেন YESতবে এর অর্থ Xcode কেবলমাত্র সক্রিয় আর্কিটেকচারের জন্য তৈরি করবে (যা বর্তমানে Xcode এ সক্রিয় ডিভাইসটিকে বোঝায়)। দেখে মনে হচ্ছে যে এক্সকোডের ডিফল্ট সেটিংটি ডিবাগ সেট করা আছে YES, সুতরাং যখন আপনি কেবল আপনার ম্যাকের সাথে সংযুক্ত একটি বিশেষ ডিভাইস তৈরি করতে চান তখন এটি অন্যান্য আর্কিটেকচারের জন্য বাইনারি তৈরি করে না।

নির্মাণে ব্যর্থ হওয়ার কারণ হতে পারে, প্রকল্পটি আপনি সংযুক্ত ডিভাইসের আর্কিটেকচার সমর্থন করে না। সুতরাং সবচেয়ে ভাল সমাধান হ'ল আপনার ডিভাইসের জন্য সঠিক আর্কিটেকচার যুক্ত করা। নীচে আর্কিটেকচার এবং ডিভাইসগুলি সমর্থন করে যেগুলির জন্য একটি তালিকা রয়েছে:

  • ARMv8 / ARM64: iPhone 6, iPhone 5s, iPad Air,Retina iPad Mini
  • ARMv7s: iPhone 5, iPhone 5c,iPad 4
  • ARMv7: iPhone 3GS, iPhone 4, iPhone 4S, iPod 3G/4G/5G, iPad, iPad 2, iPad 3,iPad Mini
  • ARMv6: iPhone, iPhone 3G,iPod 1G/2G

কাজ " কাজ করতে " সেটONLY_ACTIVE_ARCHNO কেন ? কারণ ডিভাইসটি এখনও বাইনারি চালাতে পারে যা আপনি যুক্ত সমস্ত আর্কিটেকচারের জন্য তৈরি করেছিলেন (বিল্ডটি পাস করুন), তবে কিছু কার্যকারিতা হারাবে। এটি কেবল একটি দ্রুত সমাধান, তবে সেরা নয়।


দ্রষ্টব্য : আপনি যত বেশি আর্কিটেকচার যুক্ত করেছেন তত বড় বাইনারি তৈরি করা হবে। সুতরাং আপনার প্রকল্পের জন্য সঠিক স্থাপত্যগুলি চয়ন করা ভাল। ;)


এমিলমারশ্লিভ কেবলমাত্র বিল্ড টার্গেট। আপনি যখন আপনার মূল প্রকল্পটি নির্বাচন করবেন তখন এটি দেখতে পাবেন (নীল আইকন সহ)।
কুজলি

@ প্রবীণ নিশ্চিত নন, মনে হচ্ছে এই বিকল্পটি এক্সকোড 5.1-এ পরিবর্তিত হবে।
Kjuly

এটি সঠিক উত্তর, আপনি আমাকে এখানে একটি জীবনকাল বাঁচিয়েছেন, ধন্যবাদ :)
বিক্রমজিৎ সিং

2
এটি সবচেয়ে পরিষ্কার এবং সম্পূর্ণ উত্তর। অবশ্যই অনুমোদিত হওয়া উচিত !!! আপনাকে ধন্যবাদ
MeV

1
এটি খুব সহায়ক ছিল। উত্তরটি সম্পূর্ণ হবে, যদি আপনি কীভাবে প্রয়োজনীয় আর্কিটেকচারটি ডাউনলোড করতে পারেন তা যোগ করতে পারেন।
কল্পনা পোপাত

29

arm64লক্ষ্য যোগ করুন valid architectures। দেখে মনে হচ্ছে এটি x86-64বৈধ স্থাপত্যগুলির পাশাপাশি সিমুলেটরটিতে আর্কিটেকচার যুক্ত করে।


27

আপনি যদি কোকোপড ব্যবহার করছেন, সর্বাধিক সমস্যা হ'ল কারণ আপনার পডস প্রকল্পটি শুধুমাত্র বিল্ড অ্যাক্টিভ আর্কিটেকচারের জন্য বিল্ড সেটিংস হ'ল ডিবাগের জন্য হ্যাঁ সেট করা হয়েছে ।

সমাধান সহজ। এটিকে নং এ পরিবর্তন করুন ।

একইভাবে, আপনার অ্যাপ্লিকেশন প্রকল্পের জন্য No এ পরিবর্তন করুন ।


12

আমি একই সমস্যা ছিল। প্রকল্পের জন্য বিল্ড সেটিংসে "আর্কিটেকচার" "" $ (ARCHS_STANDARD_32_BIT) "এ পরিবর্তন করে সমাধান পেয়েছেন ।

অ্যাপল apps৪- বিট আর্কিটেকচারের জন্য অ্যাপ্লিকেশনগুলির প্রস্তাব দেওয়ার কারণে এখন আপনাকে স্ট্যান্ডার্ড আর্কিটেকচার (আর্মভ,, আর্ম 6464) - select (এআরএইচএসপিআরপিআরডিআরডি) নির্বাচন করতে হবে। ক্লিক করুন: অ্যাপল নথি


@ জয়প্রকাশদুবে, এ সম্পর্কে কী? $(ARCHS_STANDARD_INCLUDING_64_BIT)?
হেমাং

আমার ব্যবহার করা উচিত $(ARCHS_STANDARD_32_BIT)নাকি $(ARCHS_STANDARD_INCLUDING_64_BIT)?
হেমাং

@ হাইগাইল: সাথে যান $ (এআরএইচএসপিএসপিএএনআরডিএনপিএলসিএলডিং_ING৪_বিআইটি)
জয়প্রকাশ দুবে

10

যোগ করুন: আর্কিটেকচার: $ (ARCHS_STANDARD_INCLUDING_64_BIT)

বৈধ আর্কিটেকচার: আর্ম 64 আর্মভি 7 আর্মভি 7


হুম, আপনি কি সবকিছু রিসেট করতে ট্রাই করেছিলেন, সিমুলেটর সামগ্রী, সিমুলেটর, ক্লিন প্রজেক্ট, এক্সকোড এবং ম্যাক পুনরায় চালু করুন, কারণ আমার কাছে এক্সকোড 5.1 রয়েছে এবং আমার সিমুলেটরটি ভালভাবে কাজ করছে
আন্তনিজাদেদেভ

আপনি কি আইফোন 4 ইঞ্চি 64-বিট ব্যবহার করে আপনার অ্যাপ / সিমুলেটরটি চালাচ্ছেন?
ebi

5

কেবলমাত্র উপরের বিষয়গুলি অনুসরণ করেও যে কেউ সমস্যার মুখোমুখি হচ্ছে তার জন্য, আপনি যে সিমুলেটরটি চালাচ্ছেন তাও সমর্থিত। আমি আর্ম 7 এবং আর্ম 7 তে আমার নির্দিষ্ট করেছিলাম কিন্তু একটি 64 বিট সিমুলেটারে অ্যাপটি চালানোর চেষ্টা করছিলাম।


+1 হ্যাঁ, এই এক! চেক-রি-চেকিং এবং ট্রিপল-চেক করার পরে যে সবকিছু ঠিক আছে, এটি ছিল সমস্যা!
জেএম

1
কি দারুন. সঠিক টার্গেট কোডটি সংকলিত করার জন্য আমি যে ডিভাইসটি তৈরি করতে চাই তাতে আমাকে প্লাগ ইন করতে হবে? আমি আমার মুখে কিছুটা ঠোঁট মারলাম। আপনার পোস্টটি আমার জন্য এই সমস্যাটি সমাধান করেছে, ধন্যবাদ।

5

"পোড ইনস্টল" এড়াতে এড়াতে প্রতিবার চালানোর সময় কেবল_অ্যাকটিভ_আর্কটি পুনরায় সেট করতে আপনি নিজের পড ফাইলে নিম্নলিখিতটি যুক্ত করতে পারেন

# Append to your 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

3

বৈধ আর্কিটেকচারে কেবল আর্ম 64 যুক্ত করুন i আশা করি এটি আপনার পক্ষে কাজ করবে।


3

আমার পডফিল থাকা সত্ত্বেও পডস প্রকল্পটি ওএস এক্সকে টার্গেট করছে বলে আমার সমস্যা ছিল platform :ios। আমি কোকোপডগুলি 0.35.0.rc2 ব্যবহার করছি।

এটি ঠিক করার জন্য, প্রকল্প নেভিগেটরে পডস প্রকল্পটি নির্বাচন করুন এবং পডস প্রজেক্ট নোড (পডস টার্গেট নয়, মনে রাখবেন) আইওএসকে লক্ষ্য করছে কিনা তা পরীক্ষা করুন। এটি হল, আর্কিটেকচার বিল্ড সেটিংস হওয়া উচিত:

  • আর্কিটেকচারের: $(ARCHS_STANDARD)
  • বেস এসডিকে: iOS 8.1
  • সমর্থিত প্ল্যাটফর্মগুলি: iOS
  • বৈধ আর্কিটেকচার: $(ARCHS_STANDARD)

আমি সমস্ত আর্কিটেকচারও তৈরি করতে চেয়েছিলাম, তাই আমি পডফাইলে নিম্নলিখিতটি যুক্ত করেছি:

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

3

আমাকে নিম্নলিখিত i386এবং যুক্ত x86_64করতে হয়েছিল Valid Architectures। আমি এক্সকোড 7.2 চালাচ্ছি এবং আইওএস 8+ টার্গেট করছি। আমি ইতিমধ্যে ছিল armv7, armv7sএবং arm64সেখানে এবং Xcode 6.4 কর্মরত ছিলেন।


2

এক্সকোড 5.1 ব্যবহার করে আইপ্যাডে আমার অ্যাপটি চালানোর সময় আমি একই সমস্যার মুখোমুখি হয়েছিলাম। এটি 'বৈধ আর্কিটেকচার' থেকে আর্মভ removingগুলি সরিয়ে এবং 'কেবল সক্রিয় আর্কিটেকচার কেবল তৈরি করুন' নংয়ের মান সেট করে সমাধান করা হয়েছে। উভয় ক্ষেত্রেই আপনার অ্যাপ্লিকেশন-> লক্ষ্যগুলি-> বিল্ডিং সেটিংস-> আর্কিটেকচারে পাওয়া যেতে পারে।


2

এক্সকোড .2.২-তে সিমুলেটারের জন্য কমান্ড লাইন বিল্ড নিয়ে সমস্যা হওয়ায় আমি এই প্রশ্নে পৌঁছেছি। অন্য কেউ যদি এখানে একই সমস্যাটি নিয়ে আসে তবে আমি যে সমাধান পেয়েছি তা আমি ভাগ করে নেব:

স্পষ্টতই এক্সকোড .2.২ এ একটি বাগ রয়েছে যা xcodebuildসিমুলেটার তৈরির চেষ্টা করার সময় ব্যর্থ হতে পারে causes সমাধানটি হ'ল বিকল্প-"নির্ধারণ" নির্দিষ্ট করা, যেমন:

xcodebuild -project TestBuildCmd.xcodeproj -scheme TestBuildCmd -sdk iphonesimulator -destination 'platform=iOS Simulator,name=iPhone 6' build

হালনাগাদ

উপরের উদাহরণ কমান্ডটি কেবল আইফোন 6 এর গ্রাফিক্স সহ বাইনারি তৈরি করবে। যদি বাইনারিটি অন্য সিমুলেটরগুলিতে চালিত হয় তবে আইফোন 6 গ্রাফিকগুলি প্ল্যাটফর্মের কাছে স্কেল করা হবে। একটি ভাল workaround যা সমস্ত প্ল্যাটফর্মের জন্য সমস্ত গ্রাফিক্স রয়েছে প্যারামিটার নির্দিষ্ট করা হয় PLATFORM_NAME=iphonesimulator, উদাহরণস্বরূপ:

xcodebuild -project TestBuildCmd.xcodeproj -scheme TestBuildCmd -sdk iphonesimulator -arch i386 PLATFORM_NAME=iphonesimulator build

0

আপনি আর্কিটেকচারে i386 যুক্ত করার সাথে একই সাথে পূর্ববর্তী সমস্ত আর্কিটেকচারগুলি সরানোর চেষ্টা করুন (যেমন ARCHS_STANDARD সেটিংসটি সরিয়ে ফেলুন)। এটি সক্রিয় আর্কিটেকচারকে i386 এ পরিবর্তন করতে হবে। আমি ডিফল্টভাবে আর্মভ 7 এর জন্য নির্মাণ করার চেষ্টা করার সময় আমি একই ধরণের সমস্যার মুখোমুখি হয়েছিলাম, তবে এটি আর্ম 64 এর জন্য তৈরি করার চেষ্টা চালিয়ে যেতে হয়েছিল। আমি ARCHS_STANDARD কে ARCHS_STANDARD_32_BIT এ পরিবর্তন করেছি এবং এটি নির্বাচিত সক্রিয় আর্কিটেকচারকে বদলেছে।


0

অ্যাক্রিফ্যাকচারে - কখনও কখনও 6.0 এবং 7.0 সমর্থন করার জন্য, আমরা আর্ম 64 বাদ দিই

আর্কিটেকচারে -> অ্যাক্রিচিটেকচার - স্ট্যান্ডার্ড আর্কিটেকচার আর্ম 64 আর্মভি 7 আর্মভি 7 নির্বাচন করুন। বৈধ অ্যাক্রিচিটেকচারের ঠিক নীচে ব্যবহারকারীর আর্ম 6464 আর্মভি v আর্মভি make গুলি অন্তর্ভুক্ত করা হয়েছে। এটি আমার পক্ষে কাজ করেছে।


0

@ কুজুলির উত্তর এবং নির্দিষ্ট লাইনটি ব্যবহার করে আমি এই সমস্যাটি সমাধান করেছি:

"নির্মাণে ব্যর্থ হওয়ার কারণ হতে পারে, প্রকল্পটি আপনি সংযুক্ত ডিভাইসের আর্কিটেকচার সমর্থন করে না।"

এক্সকোড লোড হওয়ার সাথে সাথে এটি আমার আইপ্যাড অ্যাপটিকে স্বয়ংক্রিয়ভাবে আইপ্যাড এয়ারে সেট করে

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

এটি নির্ভরশীলতা বিশ্লেষণ ত্রুটির কারণ ঘটায়।

ডিভাইসের ধরণের পরিবর্তনটি তাত্ক্ষণিকভাবে সমস্যার সমাধান করেছে:

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

আমি জানি না কেন এটি কাজ করে তবে এটি খুব দ্রুত উত্তর যা আমাকে ব্যাকগ্রাউন্ডে ঘুরে বেড়ায় এবং তাত্ক্ষণিকভাবে পরীক্ষার জন্য কাজ করে অ্যাপটি পেয়ে যায়। আমি কখনই ভাবিনি যে এটি একটি জিনিস হতে পারে এবং এত সহজ কিছু এটি ঠিক করে দেবে তবে এই ক্ষেত্রে এটি ঘটেছিল।


0

আমি দেখেছি যে হাতের দ্বারা আর্কিটেকচারের নামগুলি প্রবেশ করা প্রয়োজন:

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

আমি জানি না কেন এটি প্রয়োজনীয় ছিল, অর্থাৎ কেন এই মানগুলি এক্সকোড থেকেই উত্তরাধিকার সূত্রে প্রাপ্ত হয় নি। তবে আমি এটি করার সাথে সাথে সমস্যাটি চলে গেল।


0

বৈধ স্থাপত্যগুলিতে: প্রতিটি এন্ট্রি নির্বাচন করুন (রিলিজ, ডিবাগ) এবং ব্যাকস্পেসটি তৈরি করুন এবং টিপুন। এটি কাজ করা উচিত

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