Re: [問題] 請問xcode 4.5.2 怎麼讓run的輸出在專案
※ 引述《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)
討論串 (同標題文章)
MacDev 近期熱門文章
PTT數位生活區 即時熱門文章
52
79