উত্তর:
আপনার প্রধান টার্গেটে আপনাকে Enable Testability
হ্যাঁ বিল্ড বিকল্পটি সেট করতে হবে ।
নীচে @ ইয়ারশ্যাভিয়ানদের মন্তব্য অনুসারে, এটি কেবল অ্যাপল রিলিজ নোট অনুসারে ডিবাগ বিল্ডগুলিতে ব্যবহার করা উচিত: "টেস্টিবিলিটি বিল্ড সেটিংসটি কেবলমাত্র আপনার ডিবাগ কনফিগারেশনেই ব্যবহার করা উচিত, কারণ এটি অপ্টিমাইজেশনকে নিষিদ্ধ করে যা অভ্যন্তরীণ প্রতীকগুলি রফতানি না করে নির্ভর করে" অ্যাপ্লিকেশন বা কাঠামো " https://developer.apple.com/library/content/releasenotes/DeveloperTools/RN-Xcode/Chapters/Intrication.html#//apple_ref/doc/uid/TP40001051-CH1-SW326
@testable
) তবে অ্যাপ স্টোরে জমা দেওয়া দরকার? যদি Enable Testability
কেবল ডিবাগ বিল্ডসের জন্য হয় তবে এর চারপাশের উপায় কী? আমাকে কি মুক্তির জন্য আমার পরীক্ষার কোডটি বের করতে হবে?
আমার ক্ষেত্রে আমি পরীক্ষার জন্য একটি কাস্টম বিল্ড কনফিগারেশন ব্যবহার করেছি (ডাকা Test
) এবং cocoapods
নির্ভরতা পরিচালক হিসাবেও
Podfile
পরীক্ষারযোগ্যতা সক্ষম করতে আমার শেষের দিকে আমাকে নিম্নলিখিত লাইনগুলি যুক্ত করতে হয়েছিল
post_install do |installer|
installer.pods_project.targets.each do |target|
target.build_configurations.each do |config|
if config.name == 'Test'
config.build_settings['ENABLE_TESTABILITY'] = 'YES'
end
end
end
end
ডিফল্টরূপে cocoapods
সেট ENABLE_TESTABILITY
করার YES
জন্য Debug
তৈরী করে
নিশ্চিত হয়ে নিন যে আপনি আপনার অ্যাপ্লিকেশন প্রকল্পের আওতায় আপনার চেকবক্সগুলি সঠিকভাবে সেট করেছেন। আপনি উচিত টিকমুক্ত সংরক্ষাণাগার বিল্ড জন্য আপনার পরীক্ষার লক্ষ।
আপনারা যারা কেবলমাত্র এক্সকোড প্রোফাইলার চালানোর মাধ্যমেই এটির অভিজ্ঞতা অর্জন করছেন: আপনার স্কিম ব্যবস্থাপনায় প্রোফাইল বিল্ড কনফিগারেশনটিকে যা পরীক্ষাযোগ্যতা সক্ষম করেছে তার সাথে স্যুইচ করুন - এবং এটি বেশিরভাগ ক্ষেত্রেই ডিবাগ হবে:
এটি সম্ভবত কারণ আপনার মূল লক্ষ্য Enable Testability
সেট করা হয়েছে NO
। আপনার YES
এটি ডিবাগ স্কিমে সেট করা উচিত (যা আপনার পরীক্ষা চালানোর জন্য ব্যবহৃত হয়)।
যদি আপনি কার্থেজ ব্যবহার করেন তবে এই ফ্রেমওয়ার্কগুলি আমদানি করার কারণে এই সমস্যা দেখা দিতে পারে @testable
, কারণ সেগুলি একটি রিলিজ স্কিম দিয়ে তৈরি।
বেশিরভাগ সময় সেই উপসর্গটির সাথে ফ্রেমওয়ার্কগুলি আমদানি করা খারাপ অভ্যাস, যাতে আপনি এড়াতে পারেন। যদি আপনি না করতে পারেন তবে আপনার Enable Testability
ফ্রেমওয়ার্কের মুক্তির স্কিম থাকা উচিত । https://developer.apple.com/library/content/releasenotes/DeveloperTools/RN-Xcode/Chapters/Introduction.html#//apple_ref/doc/uid/TP40001051-CH1-SW326
বিট্রিজ ব্যবহার করে পরীক্ষা চালানোর সময় আমি এই ত্রুটিটি পেতে শুরু করেছি।
ভিন্ন অন্যান্য ব্যবহারকারীদের বলছেন, এই নয় প্রতি Target
ভিত্তি, অথবা প্রতি Schema
ভিত্তি, এটা হল প্রতি Configuration
ভিত্তিতে। Target
-> Build Settings
ট্যাব -> সন্ধান করুন -> আপনি যে কনফিগারেশনটি ব্যবহার করছেনtestability
তাতে এটি সক্ষম করুন ।
দয়া করে নোট করুন যে অ্যাপল স্টোরের জন্য নয়, আপনি ডিবাগিংয়ের জন্য ব্যবহার করছেন এমন কনফিগারেশনটিতে এটি সক্ষম করার পরামর্শ দেয়।
যদি আপনি কাঠামোটি পরীক্ষা করার চেষ্টা করছেন:
পরীক্ষার টার্গেটে যান -> ফেজ তৈরি করুন -> নতুন কপি ফাইলের ফেজ তৈরি করুন -> ফ্রেমওয়ার্কগুলি চয়ন করুন -> সমস্ত পুনরাবৃত্তভাবে ব্যবহৃত ফ্রেমওয়ার্ক যুক্ত করুন
যদি কোন সুযোগ দ্বারা
install! 'cocoapods',
generate_multiple_pod_projects: true,
incremental_installation: true
তারপরে, এটি এটি করার উপায়।
# generated_projects only returns results if the we run "pod install --clean-install"
# or install a pod for the first time
installer.generated_projects.each do |project|
project.build_configurations.each do |configuration|
configuration.build_settings["ENABLE_TESTABILITY"] = "YES"
end
end
এটি এক্সকোড 8 এর আগে আমার প্রকল্পগুলিতে ঘটেনি, তবে আমি এক্সকোড 8-তে উন্নীত হওয়ার পরে এটি আমাকে বিভ্রান্ত করেছে।
এখানে পোস্ট করা উত্তরগুলি আমার সমস্যার সমাধান করতে পারেনি। আমার জন্য, আমি কেবল এই পরীক্ষাগুলি খালি করেছি কারণ এটির প্রয়োজন নেই। সুতরাং পরীক্ষার বোতামগুলি নির্বাচন করুন: