文章分享至我的個人技術部落格: https://cainluo.github.io/14972357977664.html
Xcode Extension
做macOS
, watchOS
, tvOS
, iOS
開發, 最離不開的工具就是Xcode
, 但Xcode
真的讓我們又愛又恨, 雖然有很多強大的功能, 但細節方面真的很難Care
到, 於是乎Alcatraz誕生了, 在當時火的不要不要的, 只要是老司機都會裝一個.
但現在蘋果爸爸貌似看到了開發者的需求, 所以現在給Xcode
加了一個功能, 就是Xcode Extension
.
嚴格來說這不是iOS
的東西, 但又剛剛好是隨著iOS 10
一起出來的, 想了想, 還是集合在這裡吧.
建立專案
這裡我們需要建立的是macOS
的專案:
![1](https://i.iter01.com/images/b64d766cb47de3ed256aca92538e65a3b4e0184096367dc1ca360d3fd93725da.png)
然後在專案的General
裡找到新增Extension
的選項:
![2](https://i.iter01.com/images/ff5b2aeea48f3cc1c72a6467fa6986f3513968f2dc4863df9971d268d3291ed5.png)
選擇Xcode Editor Extension
:
![3](https://i.iter01.com/images/e4b38aecd874e30cff0ae353dee2705e0cf359b313c7d33e5d39d46287c01b35.png)
這就是Xcode Extension
啦:
![4](https://i.iter01.com/images/dcb18a25ffe204644ee40258ca79b55772c2f23170896ab121591c9b33dcf846.png)
順便說說, 我在這個info.plist
改了一下引數:
![5](https://i.iter01.com/images/b519a09038f21f9919798aec4b2c59a6484b2b11fbf9197818f3b7d9eff9c311.png)
注意
這裡有一個小坑, 注意要給我們Xcode Extension
申請一個證書, 兩邊都要申請哦.
![6](https://i.iter01.com/images/b2eaccc2f2c469b5136c73d11fc567d50ca79fd308346ae0c1fd4b9397d5b01b.png)
![7](https://i.iter01.com/images/29c296ab3011d9bbd80982ef25c22300ca2ba5b5610b1f8731aa3f8c0f93e97a.png)
不然就會報-67050錯誤:
IDESourceEditorExtension: Xcode Source Editor Extension does not meet code signing requirement: me.ocean.XcodeExt.XcodeExtTest ((null)), Error Domain=DVTSecErrorDomain Code=-67050 "code failed to satisfy specified code requirement(s)" UserInfo={NSLocalizedDescription=code failed to satisfy specified code requirement(s)}
複製程式碼
這裡還有一個詭異的錯誤程式碼4097, 但我clean
了一下工程之後就消失了, 大家注意注意.
Hub connection error Error Domain=NSCocoaErrorDomain Code=4097
複製程式碼
程式碼程式碼!!!
這裡我就隨手寫兩句程式碼好了, Xcode
的擴充套件還是靠各位大神去發揮想象, 我以後再摻和咯.
XCSourceTextBuffer *textBuffer = invocation.buffer;
XCSourceTextRange *insertPointRange = textBuffer.selections[0];
NSInteger startLine = insertPointRange.start.line;
[textBuffer.lines insertObject:@"這是什麼鬼?" atIndex:startLine];
複製程式碼
執行
一切就緒之後, 我們就執行, 然後選擇為Xcode
新增外掛:
![8](https://i.iter01.com/images/8cca88f9ae220ebaed87ed4066d218f068db6ce2ee10d2296e76a3c774a5594b.png)
等待執行完成之後, 會彈出一個灰色的Xcode
:
![9](https://i.iter01.com/images/4b1a15c1834c9e6a68b11d8414db0ea4c42a4b698530e6060ed16df6029951b3.png)
這時不用理會, 我們回到正常的Xcode
, 然後找到Editor
, 點選它, 我們就會發現外掛在這裡啦:
![10](https://i.iter01.com/images/6e031eaf1feff4e7e5bd4237804348efb4041352da90dfb2447487e4740fe99b.png)
但這裡多說一句, 當我們停止執行之後, 外掛又會不見了的, 這個需要大家自行去打包然後釋出出來~~這裡就不多說了, 詳細大家去參考XAlign吧
工程地址
專案地址: https://github.com/CainRun/iOS-10-Characteristic/tree/master/3.Xcode%20Extensions
最後
![玩轉iOS開發:iOS 10 新特性《Xcode Extension》 微信](https://i.iter01.com/images/dba68edac71b1500eb346b30aa131f78e32f0848de556b9daef4b34fed8cec53.jpg)
![玩轉iOS開發:iOS 10 新特性《Xcode Extension》 支付寶](https://i.iter01.com/images/854059debdbf3e911745713e2e99dbfb485765fb35ee22eca8952e7e7095375b.jpg)