SlideShare a Scribd company logo
1 of 13
AppleDoc 使用教學
將程式碼註解轉為文件
2014/06/13
HappyMan
目的
• 工程師最不想要做的事情之一,就是將程
式碼內容邏輯寫成文件
• 不過我們總養成習慣會寫註解,幫助未來
開發維護的自己或他人能快速回顧
• 於是我們使用工具將這些註解給轉成技術
文件
• 做到這兒,我們算是仁至義盡啦:P~
遇到瓶頸
• 遇到編譯上的問題,如:
– error: garbage collection is no longer supported
• 只好找作者已經編譯好的程式來安裝!
• AppleDoc下載點:
– https://github.com/tomaz/appledoc/releas
es/tag/v2.2-963
安裝流程
• 下載appledoc.zip,解壓縮appledoc.zip。
開啟終端機進入appledoc,安裝的時候輸
入:
– cp appledoc /usr/local/bin
– cp -Rf Templates/ ~/.appledoc
• 必要時後面兩個指令前面要加sudo,完成
後可輸入指令:
– appledoc –help
• 若有出現指令集說明,表示安裝成功!
在.h檔中寫註解
• 註解的關鍵字與規則:
– @brief (建議必寫) -- 大綱簡易說明
– @param (建議必寫) -- 參數說明
– @return (建議必寫) -- 回傳說明
– @exception -- 例外說明
– @see -- 參考
– @warning -- 警告說明
– @bug -- 錯誤說明
在程式碼中加入註解
參考例子
• #import <UIKit/UIKit.h>
• /**這是測試view controller
•
• 解釋你如何使用AppleDoc :D
•
• */
• @interface HTViewController : UIViewController
• /**
• * @brief This a full version of comment description.
• * @param value The vale of integer.
• * @return Return a result Object.
• * @exception NSException Put exception message here.
• * @see beHappy
• * @see doMyBestWithValue1:andValue2:
• * @warning You can write some message about some warning things.
• * @bug If this method has any bug, please write here.
• */
• - (BOOL)doYourBest:(int)value;
承上
• /**
• * @brief doMyBest
• * @param value1 The vale of integer
• * @param value2 The vale of integer
• * @return Return BOOL value.
• */
• - (BOOL)doMyBestWithValue1:(int)value1 andValue2:(int)value2;
• /**
• * @brief beHappy
• * @return Return BOOL value.
• */
• - (BOOL)beHappy;
• @end
輸出文件
• 從終端機進入專案母目錄
• 範例指令
– appledoc -o ./doc --project-name HappyTest3 --
project-company “HappyMan" --company-id
Jason --no-warn-undocumented-object --keep-
intermediate-files .
• 格式
– appledoc --output [輸出目錄] --project-name [專案
名稱] --project-company [公司名稱] --company-id
[公司app id] --no-warn-undocumented-object --
keep-intermediate-files [專案目錄]
輸出路徑
輸出成果
輸出成果(續)
參考
• 在 iOS 專案中寫註解與文件生成的技巧
• Amazing Apple-like Documentation
• 使用Objective-C語言的文檔生成工具:
appledoc
• Objective-C規範註釋心得——同時兼容
appledoc(docset、html)與doxygen
(html、pdf)的文檔生成
• GitHub - appledoc

More Related Content

Similar to AppleDoc 使用教學

2012,我的技术之选
2012,我的技术之选2012,我的技术之选
2012,我的技术之选勇浩 赖
 
導入 Flutter 前你應該知道的事
導入 Flutter 前你應該知道的事導入 Flutter 前你應該知道的事
導入 Flutter 前你應該知道的事Weizhong Yang
 
Pair Programming (结对编程)
Pair Programming (结对编程)Pair Programming (结对编程)
Pair Programming (结对编程)Josh Chen
 
Flutter 踩雷心得
Flutter 踩雷心得Flutter 踩雷心得
Flutter 踩雷心得Weizhong Yang
 
Graphlab Create使用說明,以SFrame為例
Graphlab Create使用說明,以SFrame為例Graphlab Create使用說明,以SFrame為例
Graphlab Create使用說明,以SFrame為例Simon Li
 
軟體組裝心得分享
軟體組裝心得分享軟體組裝心得分享
軟體組裝心得分享Wen Liao
 
SharePoint 项目实施团队的成功之道
SharePoint 项目实施团队的成功之道SharePoint 项目实施团队的成功之道
SharePoint 项目实施团队的成功之道Yi Zhang
 
Office pro plus 2013 preview
Office pro plus 2013 previewOffice pro plus 2013 preview
Office pro plus 2013 previewsdusthd
 
Recycle Open Source Projects
Recycle Open Source ProjectsRecycle Open Source Projects
Recycle Open Source ProjectsGeorge Ang
 
2006 recycle opensourceprojects
2006 recycle opensourceprojects2006 recycle opensourceprojects
2006 recycle opensourceprojectsGeorge Ang
 
Lazyload实践
Lazyload实践Lazyload实践
Lazyload实践Wu tianhao
 
模块化和组件化Css
模块化和组件化Css模块化和组件化Css
模块化和组件化CssWu tianhao
 
專案啟動與設定
專案啟動與設定專案啟動與設定
專案啟動與設定Shengyou Fan
 
20121115 Slides
20121115 Slides20121115 Slides
20121115 SlidesTonyq Wang
 
打造你專屬的Xcode plugin
打造你專屬的Xcode plugin打造你專屬的Xcode plugin
打造你專屬的Xcode pluginYuhua Chen
 

Similar to AppleDoc 使用教學 (20)

iOS
iOSiOS
iOS
 
2012,我的技术之选
2012,我的技术之选2012,我的技术之选
2012,我的技术之选
 
導入 Flutter 前你應該知道的事
導入 Flutter 前你應該知道的事導入 Flutter 前你應該知道的事
導入 Flutter 前你應該知道的事
 
Pair Programming (结对编程)
Pair Programming (结对编程)Pair Programming (结对编程)
Pair Programming (结对编程)
 
Flutter 踩雷心得
Flutter 踩雷心得Flutter 踩雷心得
Flutter 踩雷心得
 
Django step0
Django step0Django step0
Django step0
 
Graphlab Create使用說明,以SFrame為例
Graphlab Create使用說明,以SFrame為例Graphlab Create使用說明,以SFrame為例
Graphlab Create使用說明,以SFrame為例
 
軟體組裝心得分享
軟體組裝心得分享軟體組裝心得分享
軟體組裝心得分享
 
SharePoint 项目实施团队的成功之道
SharePoint 项目实施团队的成功之道SharePoint 项目实施团队的成功之道
SharePoint 项目实施团队的成功之道
 
Office pro plus 2013 preview
Office pro plus 2013 previewOffice pro plus 2013 preview
Office pro plus 2013 preview
 
Recycle Open Source Projects
Recycle Open Source ProjectsRecycle Open Source Projects
Recycle Open Source Projects
 
2006 recycle opensourceprojects
2006 recycle opensourceprojects2006 recycle opensourceprojects
2006 recycle opensourceprojects
 
Lazyload实践
Lazyload实践Lazyload实践
Lazyload实践
 
模块化和组件化Css
模块化和组件化Css模块化和组件化Css
模块化和组件化Css
 
專案啟動與設定
專案啟動與設定專案啟動與設定
專案啟動與設定
 
20121115 Slides
20121115 Slides20121115 Slides
20121115 Slides
 
C+
C+C+
C+
 
C#
C#C#
C#
 
Yii phpunit
Yii phpunitYii phpunit
Yii phpunit
 
打造你專屬的Xcode plugin
打造你專屬的Xcode plugin打造你專屬的Xcode plugin
打造你專屬的Xcode plugin
 

More from ShengWen Chiou

Crashlytics 使用教學
Crashlytics 使用教學Crashlytics 使用教學
Crashlytics 使用教學ShengWen Chiou
 
Xamarin.iOS中引用第三方Objective-C的Class Library
Xamarin.iOS中引用第三方Objective-C的Class LibraryXamarin.iOS中引用第三方Objective-C的Class Library
Xamarin.iOS中引用第三方Objective-C的Class LibraryShengWen Chiou
 
Xamarin.iOS中引用自製Objective-C的Class Library
Xamarin.iOS中引用自製Objective-C的Class LibraryXamarin.iOS中引用自製Objective-C的Class Library
Xamarin.iOS中引用自製Objective-C的Class LibraryShengWen Chiou
 
What’s New In watch OS
What’s New In watch OSWhat’s New In watch OS
What’s New In watch OSShengWen Chiou
 
Symbolicate Crash 使用教學
Symbolicate Crash 使用教學Symbolicate Crash 使用教學
Symbolicate Crash 使用教學ShengWen Chiou
 
Apple Watch Specifications
Apple Watch SpecificationsApple Watch Specifications
Apple Watch SpecificationsShengWen Chiou
 
Apple Watch UI Elements
Apple Watch UI ElementsApple Watch UI Elements
Apple Watch UI ElementsShengWen Chiou
 
Apple Watch Human Interface Guidelines
Apple Watch Human Interface GuidelinesApple Watch Human Interface Guidelines
Apple Watch Human Interface GuidelinesShengWen Chiou
 
Parental Gate 使用教學
Parental Gate 使用教學Parental Gate 使用教學
Parental Gate 使用教學ShengWen Chiou
 

More from ShengWen Chiou (20)

iOS Extension
iOS ExtensioniOS Extension
iOS Extension
 
FMDB 研究
FMDB 研究FMDB 研究
FMDB 研究
 
Realm 研究
Realm 研究Realm 研究
Realm 研究
 
Crashlytics 使用教學
Crashlytics 使用教學Crashlytics 使用教學
Crashlytics 使用教學
 
DBAccess 研究
DBAccess 研究DBAccess 研究
DBAccess 研究
 
Xamarin.iOS中引用第三方Objective-C的Class Library
Xamarin.iOS中引用第三方Objective-C的Class LibraryXamarin.iOS中引用第三方Objective-C的Class Library
Xamarin.iOS中引用第三方Objective-C的Class Library
 
Xamarin.iOS中引用自製Objective-C的Class Library
Xamarin.iOS中引用自製Objective-C的Class LibraryXamarin.iOS中引用自製Objective-C的Class Library
Xamarin.iOS中引用自製Objective-C的Class Library
 
iBeacon 相關應用
iBeacon 相關應用iBeacon 相關應用
iBeacon 相關應用
 
Xamarin 研究
Xamarin 研究Xamarin 研究
Xamarin 研究
 
What’s New In watch OS
What’s New In watch OSWhat’s New In watch OS
What’s New In watch OS
 
Apple Watch Feature
Apple Watch FeatureApple Watch Feature
Apple Watch Feature
 
Symbolicate Crash 使用教學
Symbolicate Crash 使用教學Symbolicate Crash 使用教學
Symbolicate Crash 使用教學
 
Apple Watch Specifications
Apple Watch SpecificationsApple Watch Specifications
Apple Watch Specifications
 
Apple Watch UI Elements
Apple Watch UI ElementsApple Watch UI Elements
Apple Watch UI Elements
 
Apple Watch Human Interface Guidelines
Apple Watch Human Interface GuidelinesApple Watch Human Interface Guidelines
Apple Watch Human Interface Guidelines
 
Quickblox Study
Quickblox StudyQuickblox Study
Quickblox Study
 
Auto layout 介紹
Auto layout 介紹Auto layout 介紹
Auto layout 介紹
 
iOS Touch ID 介紹
iOS Touch ID 介紹iOS Touch ID 介紹
iOS Touch ID 介紹
 
iOS Keychain 介紹
iOS Keychain 介紹iOS Keychain 介紹
iOS Keychain 介紹
 
Parental Gate 使用教學
Parental Gate 使用教學Parental Gate 使用教學
Parental Gate 使用教學
 

AppleDoc 使用教學