Re: [問題] 請問xcode 4.5.2 怎麼讓run的輸出在專案

看板MacDev作者 (Bad_To_The_Bone)時間12年前 (2012/12/06 02:22), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串3/5 (看更多)
※ 引述《uranusjr (←這人是超級笨蛋)》之銘言: : ※ 引述《donkeychen (Bad_To_The_Bone)》之銘言: : : 之後Products 裡面的hello就變黑了 : : 但是這個執行檔位於 : : /User/xxxx/Library/Developer/Xcode/DerivedData/hello-一串字/Build/ : : Products/Debug/hello : : 我希望他能夠產生 : : /User/xxxx/Document/hello : : 目錄內 : 剩下的全刪 : Xcode 4 開始是用 Scheme 的方式管理編譯選項 : 可以按左上角 Run 和 Stop 右邊你的專案名稱來查看 : 不過一般應該是很少在改, 除非有特殊需求 : 預設的 Scheme 如果你直接按 Run 是使用 debug mode : 既然是除錯模式, 所以 Xcode 就把它隱藏起來不讓你看到, 因為它也不想你亂動 您好 我這幾天自己try了一下 把我看到的寫一下 不知道有沒有誤會 還請大家多指點 ----------------------------------------------------- .xcodeproj是 [專案] 好像在建專案的時候就有一個[target] 我看了一下 目前看到target有幾種 ˙aggregate target ˙legacy target ˙native target 這種建起來好像就會建立對應的目錄+group+基本的code (bundle dylib app 這種有product的"好像"就屬於這種) 一個[專案]裡面可以有多個[target] ----------------------------------------------------- 然後每個[project]有多個[configuration] 在 project->info(中間那欄上面)->Configuration 可以選擇 建新的[project]就會有Debug 跟Release 兩個configuration 如果有add .xcconfig檔到project裡面就可以選擇要用哪種 可以設定整個專案共用的.xcconfig設定 也可以專案中個別的[target]用不同的.xcconfig設定 ----------------------------------------------------- 您說的run stop 右邊 我看到的是 my mac 64-bit/32-bit兩種可以選 這個我也不知道編譯有什麼差異(我沒找到) https://developer.apple.com/library/mac/#documentation/Darwin/Reference/ ManPages/man1/xcodebuild.1.html 我參考這邊 如果是在bash下下指令 (下面指令是一整行) /usr/bin/xcodebuild -project xxx.xcodeproject -target xxx -configuration <=== 這邊可以接configuration build 好像就可以build了 (也就是指定[project]的[target]+[configuration]就足夠) ----------------------------------------------------- 後來有到Product選單->edit scheme 裡面有 build run test profile analyze archive 好像是可以設定一些action ˙build (1 target) pre-action 沒東西 build (打勾) parallelize build / find implicit dependencies都勾選 下面有target 應該是選擇build以後要build哪個 post-action也沒東西 ˙run hello (我的project名稱) debug (這應該就是您說的預設scheme是跑debug) 這個scheme 有    info   argument   options   diagnostics 四個選項 ˙test debug 有 info argument ˙profile relese 有   info argument options ˙analyze debug 只能選要debug或者release ˙archive release 可選debug/release archive name 好像被鎖死 就是我的project name hello 至於下面的managet schemes 我點了看不懂 上面的設定應該是xcode左上那個按鈕下去的動作 或者是從product選單選取的 -------------------------------------------- 我不太了解預設的debug 與 release的差異 因為預設[Configuration]都是no configuration set 我找了一下project/target可以設定的選項 除了目錄以外(build settings->build location) build options -> debug information format debug是dwarf release是dwarf with dsym的 上網查了一下dsym好像是debug用的 這有點搞迷糊了 不是應該debug才需要這種dsym嗎? : 不過如果想知道放在哪裡, 可以從 Organizer -> Projects 的 Derived Data 查看 : 如果你想要取得程式的成品, 則應該用選單的 Product -> Archive : 這會帶出 Organizer 視窗, 裡面包含你專案的打包紀錄 : 你可以選擇你想要的打包(通常就是選最新的), 然後按 Distribute : 這會帶出一個 sheet 詢問你希望使用何種散佈方式 請問這意思是說 不管在project的target的building setting裡面 的build location不管設定在哪 他都會會到/usr/xxx/Library/Developer/Xcode 裡面的某個目錄裡面 然後要取得得用Product -> archive的方式 而不是自己去目錄裡面拿出來嗎? 因為我有看到我的hello world 的binary檔在上面的目錄 不知道理解對不對 我是還在研究而已 : 如果你打算把程式放到 Mac App Store, 就可以在這裡直接選了之後上傳 : (事實上 iOS 程式的送審流程也差不多) : 不過你現在需要的是第三個選項:Export as : 選擇之後在後面的選單可以選要如何匯出 : 其中第三個就是匯出一個單一的 .app package : 按 Next 之後就會開始進行 release build, 結束後會問你要不要簽署你的程式 : 除非你知道你在幹什麼, 不然就是選 Don't Resign : (如果你沒有付費加入 Mac Developer Program 通常也沒其他東西可以選就是了) : 接著就會問你要把 package 輸出到哪裡——接下來應該不用我教了吧 : 蘋果很明顯就是希望你不要常做這個流程 : 照他們的設計, 你平常在測試時就是應該用 Xcode 來編譯 -> 執行 : 這樣其實就開發除錯的角度而言好處多多, 即使你不用 debugger : 只有到你真的完成一階段的開發, 要散佈的時候, 才用上面的步驟打包 : === : Edit: : 如果你開發的不是 Cocoa 專案, 則按下 Distribute 時看到的選項可能會不一樣 : 例如 Foundation 專案就要選 Save Built Products : 而且預設產出的是一個有階層的目錄, 就差沒有幫你 tar 好XD : 不過基本概念是一樣的啦, 選項也沒幾個都選選看就大概會了 感謝 我如果之後有需要散佈在來試後面的東西^^ -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 118.169.182.8 ※ 編輯: donkeychen 來自: 118.169.182.8 (12/06 02:23) ※ 編輯: donkeychen 來自: 211.72.248.50 (12/06 09:30) ※ 編輯: donkeychen 來自: 211.72.248.50 (12/06 10:15)
文章代碼(AID): #1Glv3ivr (MacDev)
討論串 (同標題文章)
文章代碼(AID): #1Glv3ivr (MacDev)