এক্সকোড 4 - বিল্ড আউটপুট ডিরেক্টরি


217

এক্সকোড 4 (বিটা 5) এ আমার আউটপুট ফাইলগুলি সেট আপ / চিহ্নিত করতে আমার সমস্যা আছে। সেগুলি কোথাও স্থাপন করা হয়েছে ~/Library/Developer/ugly_path/...। আমি আমার পণ্যগুলিতে "অনুসন্ধানে শো" নির্বাচন করতে পারি না। এটি একটি সাধারণ সি প্রকল্প, ফাউন্ডেশন সরঞ্জাম এবং এমনকি কোকো বান্ডেলের জন্য একই। একটি ডিবাগিং সূক্ষ্ম কাজ করে।

আপনি দয়া করে আমাকে কোথায় এবং কীভাবে আউটপুট ডিরেক্টরিগুলি সেট আপ / বিল্ড করবেন তা উল্লেখ করতে পারেন? (আমি জানি এটি বোবা শোনায়, আমি কয়েক মাস ধরে Xcode3 এ কোডিং করছি, তবে আমি এটি Xcode4 বিটাতে বের করতে পারি না)।

অনেক ধন্যবাদ.

উত্তর:


342

উপরের এক্সকোড মেনু থেকে, পছন্দগুলি ক্লিক করুন, অবস্থানগুলি ট্যাবটি নির্বাচন করুন, বিল্ড অবস্থান বিকল্পটি দেখুন।

আপনার কাছে দুটি বিকল্প রয়েছে:

  1. উত্পন্ন ডেটা স্থানে বিল্ড পণ্য রাখুন (প্রস্তাবিত)
  2. লক্ষ্যগুলি দ্বারা নির্দিষ্ট স্থানে বিল্ড পণ্য রাখুন

আপডেট: এক্সকোড ৪.6.২ এ আপনাকে প্রাপ্ত তথ্যের পাঠ্য ক্ষেত্রের নীচে ডানদিকে উন্নত বোতামটি ক্লিক করতে হবে। স্থান নির্বাচন করুন উত্তরাধিকার।


27
এই উত্তরটি ব্যাখ্যা দিয়েছে কেন এই পরিবর্তনটি করে ছিল: stackoverflow.com/questions/5331270/...
toofah

3
গর্বিত সদস্য, আপনি কী বোঝাতে চাইছেন এটি এক্সকোড 5 এ নেই? এগুলি পছন্দসমূহ -> অবস্থান -> উত্পন্ন ডেটা -> উন্নত।
রিচার্ড ভেনেবল

ঠিক আছে, সুতরাং আমার বিল্ড .../XCode/DerivedData/ফোল্ডারে যায় , যথেষ্ট সহজ simple সাবফোল্ডারগুলি মনে হয় বাদে AppName-asdflkjqwergoobledygook। যেহেতু আমি একটি স্ক্রিপ্ট থেকে বিল্ডিং করছি, আমি আসলে চাই এটি বিল্ড (তাই আমি এটা প্যাকেজ এবং TestFlight মাধ্যমে পাঠাতে পারেন :) আমি কিভাবে নির্ধারণ করবেন যা অনেকের MyAppName-xxxx-s অধিকার কেউ নেই? ধন্যবাদ!
অলি 4

@ অলি আপনি উদ্ভূত ডেটা অবস্থানটি নিজের পছন্দ অনুযায়ী বেছে নিতে পারেন
জেরার্ড

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

140

আপনি যদি কমান্ড লাইন থেকে তৈরি করেন, আপনি নিম্নলিখিত উপায়ে আউটপুট ডিরেক্টরি সেট করতে পারেন:

xcodebuild -workspace 'WORKSPACE_NAME.xcworkspace' \
           -scheme 'SCHEME_NAME' \
           -configuration 'Release' \
           -sdk iphoneos7.0 CONFIGURATION_BUILD_DIR='OUTPUT_DIRECTORY'

আমার শি স্ক্রিপ্টগুলি কাজ করার জন্য আমার একক উদ্ধৃতি মুছে ফেলার দরকার ছিল এবং কেবল কনফিগারেশন_বিল্ড_ডিআর = / ব্যবহারকারী / ... লিখতে হয়েছিল
স্ট্যানিস্লাভ পাঙ্কেভিচ

@ ককুলাস, আপনি একেবারে ঠিক বলেছেন যেহেতু প্রকল্পটি নির্মাণের পরে এটি পরীক্ষার টার্গেট তৈরি করতে ব্যর্থ হবে, আমি মনে করি আপনি যদি এটি নির্মাণ করেন তবে এটি ঠিক আছে, তবে পরমপথগুলির আরও ভাল ব্যবহার করুন!
মোস্তফা বার্গ

যদি অন্য কেউ একই ধরণের সমস্যা সমাধানের চেষ্টা করছে আমি XCode 6.x কে এই সংযোগটি ব্যবহার করে যেখানে লিঙ্কযুক্ত বাইনারিটি ঠিক প্রয়োজন ছিল ঠিক সেখানেই তা দৃ convinced় বিশ্বাস করলাম :/Users/moi/src/mozbuilds/xul3604/$(CONFIGURATION)/dist/bin
জে ইভান্স

29

এক্সকোড 5 এ: এক্সকোড মেনু> পছন্দসমূহ ... আইটেম> অবস্থান ট্যাব> অবস্থানগুলি সাব-ট্যাব> উন্নত ... বোতাম> কাস্টম বিকল্প।

তারপরে ওয়ার্কস্পেসের সাথে সম্পর্কিত , যেমন নির্বাচন করুন ।


8
আপনারা একশো বছর বয়সী, শক্তিশালী এবং স্বাস্থ্যবান স্যার হয়ে বেঁচে থাকুন। ধন্যবাদ !
WhozCraig

13

আপনার যদি এক্সকোড 4 বিল্ড অবস্থানের সেটিংটি "উত্পন্ন ডেটা অবস্থানের স্থান নির্ধারণের পণ্যগুলিতে সেট করা থাকে (প্রস্তাবিত) হয় তবে এটি ~ / লাইব্রেরি / বিকাশকারী / এক্সকোড / ডেরিভডটাতে থাকা উচিত This ডিরেক্টরিতে ডিরেক্টরিটি আপনার ডিরেক্টরিতে থাকবে প্রকল্পের নামটি উত্পন্ন চিঠিগুলির একটি গুচ্ছ সহ সংযুক্ত করা হবে তাই সাবধানতার সাথে দেখুন।


10

উদ্ভূত ডেটা রাখুন তবে গন্তব্য নির্দিষ্ট করার জন্য DSTROOT ব্যবহার করুন।

মোতায়েন করার জন্য DEPLOYMENT_LOCATION ব্যবহার করুন।

খুব বেশি ডিএসওয়াইএম অনুলিপি করার জন্য অনাবন্ধিত DWARF_DSYM_FOLDER_PATH ব্যবহার করুন।

এটি আপনাকে এক্সকোডবিল্ড থেকে প্রাপ্ত ডেটা অবস্থান ব্যবহার করার অনুমতি দেয় এবং অ্যাপটি সন্ধান করার জন্য ভ্যাকী স্টাফগুলি করতে হবে না।

xcodebuild -sdk "iphoneos" -workspace Foo.xcworkspace -scheme Foo -configuration "Debug" DEPLOYMENT_LOCATION=YES DSTROOT=tmp DWARF_DSYM_FOLDER_PATH=tmp build

8

বিল্ড লগ ভিউয়ারটি সন্ধান করে এবং সেখানে পাথটি টার্মিনাল উইন্ডোতে অনুলিপি করে আপনি সর্বদা বিল্ড ডিরেক্টরিটি খুঁজে পেতে পারেন।

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


তাই বিশ্বাসী অ্যাপল। না!
zaph

1
এবং আমি এই বিল্ড লগটি কোথায় পাব ?? এক্সকোডে "বিল্ড লগ" অনুসন্ধান করে 0 টি ফলাফল ফিরে আসে।
ডিভাইস 1

1
এনএম, "লগ নেভিগেটর" পাওয়া গেছে, যা দেখতে স্পিচ বুদ্বুদের মতো দেখাচ্ছে।
ডিভাইস 1

4

যে কেউ স্ক্রিপ্ট থেকে বিল্ড ডিরেক্টরিটি সন্ধান করতে চান তবে এটি পরিবর্তন করতে চান না, ডেরিভডাটাতে একটি ফোল্ডারে নির্দেশিত সমস্ত বিল্ড সেটিংসের একটি তালিকা পেতে নিম্নলিখিতটি চালান:

xcodebuild -showBuildSettings | grep DerivedData

আপনি যদি কাস্টম লক্ষ্য এবং স্কিম পরিচালনা করেন তবে দয়া করে সেগুলিকে সেখানে রাখুন:

xcodebuild -workspace "Foo.xcworkspace" -scheme "Bar" -sdk iphonesimulator -configuration Debug -showBuildSettings | grep DerivedData

আপনি যে সেটিং আউটপুটটি চান তা সনাক্ত করতে আউটপুটটি দেখুন এবং তারপরে:

xcodebuild -showBuildSettings | grep SYMROOT | cut -d "=" -f 2 - | sed 's/^ *//'

শেষ অংশটি সমান চিহ্নটিতে স্ট্রিংটি কেটে দেয় এবং তারপরে শুরুতে হোয়াইটস্পেসকে ছাঁটাই করে।


2

আপনি যদি নতুন এক্সকোড 4 ওয়ার্কস্পেস ব্যবহার করেন তবে আপনি ফাইল -> ওয়ার্কস্পেস সেটিংসের অধীনে ডেরিভড ডেটার অবস্থান পরিবর্তন করতে পারেন ...


1

আপনি আউটপুট ডিরেক্টরিটি কনফিগার করতে পারেন CONFIGURATION_BUILD_DIR পরিবেশ পরিবর্তনশীল ।

সূত্র: http://developer.apple.com/library/mac/#docamentation/DeveloperTools/References/XcodeBuildSettingRef/0- পরিচয় / সংজ্ঞা html#//apple_ref / doc / uid / TP40003931-CH1-SW1



হ্যাঁ তাই হয়। এটি যেভাবেই কাজ করে। ডকুমেন্টেশন থেকে: "ডিরেক্টরি পথ। ডিরেক্টরিটি চিহ্নিত করে যার অধীনে সক্রিয় বিল্ড কনফিগারেশনের জন্য সমস্ত বিল্ড-সম্পর্কিত ফাইল স্থাপন করা হয়েছে।"
সীমানা

নাঃ। xcode4 দিয়ে নয় এটি Xcode > Preferences > Locations > Derived dataসর্বাধিক ভোট প্রাপ্ত উত্তরে বর্ণিত সেটিংয়ের উপর নির্ভর করে । + আপনি যে দস্তাবেজের কথা উল্লেখ করছেন তা সর্বশেষ ২০১০ সালে আপডেট হয়েছিল
গ্রেগরি পাকোস্ ১৩'১২

আমি এক্সকোডবিল্ড থেকে এক্সকোড 4 দিয়ে বিল্ড ডিরেক্টরিটি কনফিগার করতে এই সেটিংটি ব্যবহার করেছি। একবার চেষ্টা করে দেখো.
সীমানা

1
আমি এক্সকোড ৪.৩.১ (আইডিই থেকে) দিয়ে চেষ্টা করেছি এবং বিশ্বব্যাপী সেটিং পরিবর্তন না করে, পণ্যগুলি ~/Library/Developer/Xcode/DerivedData/আমি যে ডিরেক্টরিটি নির্দিষ্ট করেছিলাম তার ভিতরে না কোথাও নির্মিত হয় CONFIGURATION_BUILD_DIR। যদি আমি CONFIGURATION_BUILD_DIRসম্মানিত হতে চাই , আমাকে
এক্সকোড

0

আপনি এক্সকোড পছন্দগুলি নিয়ে খেলা শুরু করার আগে আরেকটি জিনিস যাচাই করা উচিত:

আপনার লক্ষ্যটি নির্বাচন করুন এবং সেটিংস> প্যাকেজিং> র্যাপার এক্সটেনশান তৈরিতে যান

সেখানে মানটি হওয়া উচিত: অ্যাপ্লিকেশন

ডাবল ক্লিক না করে এবং কুইটগুলি ছাড়াই "অ্যাপ" টাইপ করুন।


-1

এটা খুব বিরক্তিকর ছিল। আপনার প্রকল্পটি খুলুন, টার্গেট ক্লিক করুন, বিল্ড পর্যায়গুলি ট্যাবে খুলুন। কোনও লাল আইটেমের জন্য আপনার অনুলিপি বান্ডিল সংস্থানগুলি পরীক্ষা করুন।

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