আরও একটি বিকল্প, আপনি অ্যাপস্টোরের সাথে কাজ করছেন এমন ক্ষেত্রে "এনটাইটেলমেন্টস" এবং অ্যাপল-ফ্রেমওয়ার্কের সাথে লিঙ্ক করার প্রয়োজন রয়েছে।
কাজ এনটাইটেলমেন্টের জন্য (যেমন GameCenter) আপনি প্রয়োজন একটি "লাইব্রেরি সাথে লিঙ্ক করুন বাইনারি" -buildstep আছে তারপর "GameKit.framework" সঙ্গে লিঙ্ক এবং। CMake "উদ্বুদ্ধ" A "নিম্ন স্তরের" কমান্ড মধ্যে উপর লাইব্রেরি, অত: পর Xcode নেই সত্যিই এটা সম্পর্কে জানেন, এবং যেমন আপনি হবে না GameKit কেপেবিলিটিস পর্দা সক্রিয় করুন।
সিএমকে ব্যবহার করার এবং "বাইনারিগুলির সাথে লিঙ্ক" থাকার একটি উপায়-বিল্ডস্টেপ হ'ল সিএমকেকের সাথে এক্সকোডেপ্রজ তৈরি করা এবং তারপরে 'অনুসন্ধান ও প্রতিস্থাপন' করতে 'সেড' ব্যবহার করা এবং এক্সকোডের পছন্দ মতো গেমকিট যুক্ত করা ...
স্ক্রিপ্টটি দেখতে দেখতে (এক্সকোড 6.3.1 এর জন্য)।
s#\/\* Begin PBXBuildFile section \*\/#\/\* Begin PBXBuildFile section \*\/\
26B12AA11C10544700A9A2BA \/\* GameKit.framework in Frameworks \*\/ = {isa = PBXBuildFile; fileRef = 26B12AA01C10544700A9A2BA \/\* GameKit.framework xxx\*\/; };#g
s#\/\* Begin PBXFileReference section \*\/#\/\* Begin PBXFileReference section \*\/\
26B12AA01C10544700A9A2BA \/\* GameKit.framework xxx\*\/ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = GameKit.framework; path = System\/Library\/Frameworks\/GameKit.framework; sourceTree = SDKROOT; };#g
s#\/\* End PBXFileReference section \*\/#\/\* End PBXFileReference section \*\/\
\
\/\* Begin PBXFrameworksBuildPhase section \*\/\
26B12A9F1C10543B00A9A2BA \/\* Frameworks \*\/ = {\
isa = PBXFrameworksBuildPhase;\
buildActionMask = 2147483647;\
files = (\
26B12AA11C10544700A9A2BA \/\* GameKit.framework in Frameworks xxx\*\/,\
);\
runOnlyForDeploymentPostprocessing = 0;\
};\
\/\* End PBXFrameworksBuildPhase section \*\/\
#g
s#\/\* CMake PostBuild Rules \*\/,#\/\* CMake PostBuild Rules \*\/,\
26B12A9F1C10543B00A9A2BA \/\* Frameworks xxx\*\/,#g
s#\/\* Products \*\/,#\/\* Products \*\/,\
26B12AA01C10544700A9A2BA \/\* GameKit.framework xxx\*\/,#g
এটিকে "গেমসেন্টার.সেড" এ সংরক্ষণ করুন এবং তারপরে এটি "প্রয়োগ করুন" (এটি আপনার এক্সকোডেপ্রজকে পরিবর্তন করে!)
sed -i.pbxprojbak -f gamecenter.sed myproject.xcodeproj/project.pbxproj
আপনার প্রয়োজন অনুসারে আপনাকে স্ক্রিপ্ট-আদেশগুলি পরিবর্তন করতে হতে পারে।
সতর্কতা: প্রকল্পের ফর্ম্যাটটি পরিবর্তনের সাথে সাথে এটি বিভিন্ন এক্সকোড-সংস্করণে ভেঙে যাওয়ার সম্ভাবনা রয়েছে, (হার্ডকোডযুক্ত) অনন্য নম্বরটি সম্ভবত অনন্য দ্বারা নয় - এবং অন্যান্য লোকদের দ্বারা সমাধানগুলি আরও ভাল - যদি আপনার অ্যাপস্টোর + সমর্থন না করা হয় তবে এনটাইটেলমেন্ট (এবং স্বয়ংক্রিয় বিল্ডস), এটি করবেন না।
এটি সিএমকে বাগ, দেখুন http://cmake.org/Bug/view.php?id=14185 এবং http://gitlab.kitware.com/cmake/cmake/issues/14185
link_directories
এমনকি এর নিজস্ব ডকুমেন্টেশনেও এর ব্যবহার নিরুত্সাহিত। আমি মনে করিfind_library
মূল প্রশ্নে ব্যর্থ কলটি সমাধান করা বা @ আন্দ্রে এর সমাধানটি ব্যবহার করা ভাল here