LoginSignup
18
16

More than 5 years have passed since last update.

CocoaControlsへの投稿まとめ

Last updated at Posted at 2015-12-29

CocoaControlsとは?

iOSやOSXのカスタムビューを公開する場所です。
https://www.cocoacontrols.com
このエントリでは、cocoapods/carthage/Appetize.ioの設定をしたのちcocoaControlsに投稿する方法をまとめています。

プロジェクトの作成

ここでは例として、「SQProgressView」というカスタムビューを作ってみることにします。
UIProgressViewは角に微妙な丸みがあるため、それを無くしたプログレスビューです。
スクリーンショット 2015-12-28 18.21.10.png
OSSを作るときはあくまで他人が使う事を十分に考慮して作ると良いです。
命名規則やメソッドの使い方等も書き込むと良いでしょう。(そういう意味では上の例は優しく無いです)

ライセンスを決めよう

配布する側も使う側もライセンスがあると安心できます。
iOSではMITが多いようですが、必要に応じてライセンスを決めましょう。

cocoapodsの設定

cocoaPodsでプロジェクトを導入出来るようにしておくと使う側も使いやすいです。

雛形の生成

terminal
$ pod lib create SQProgressView
What language do you want to use?? [ ObjC / Swift ]
$ Swift
Would you like to include a demo application with your library? [ Yes / No ]
$ Yes
Which testing frameworks will you use? [ Quick / None ]
$ None
Would you like to do view based testing? [ Yes / No ]
$ No

これでcocoapodsの雛形が生成されます。

ファイルの配置

SQProgressView/Pod/Classes/
に先ほど作った.swiftファイルを配置します。
アセットがあればSQProgressView/Pod/Assetsに配置しましょう。
また、SQProgressView/Pod/Classes/ReplaceMe.swiftは不要なダミーファイルです。消してしまってOKです。

サンプルを書く

SQProgressView/Example
でpod installすると、先ほど配置したファイルを取り込んでworkspaceが出来ます。
ワークスペースを開いて、サンプルを書きましょう。
あくまで使い方にフォーカスしてシンプルなものが良いと思います。

github

push

githubでリポジトリを作ってプッシュします。

tag

$ git tag 0.1.0
githubのサイトでプッシュしたコミットに対して、タグを作ります。

cocoapodsの設定続き

podspecの編集

/SQProgressView.podspecを編集します。
* s.version 上記で指定したtagバージョン
* s.summary デフォルトのままだとNG。ちゃんと書く
* s.description <<-DESCとDESCの間にMarkdownを書く
* s.license 先ほど決めたライセンス
* s.homepage 自由 デフォルトではgithubのURL
* s.author 確認
* s.source githubのgitURL

チェックする

$ pod spec lint --verbose
$ pod lib lint --verbose

cocoaPodsサーバーへアカウントの登録

$ pod trunk register 自分のメール '自分の名前' --description='hoge'
$ pod trunk me
登録出来ているか確認

cocoaPodsサーバーへリポジトリの登録

pod trunk push SQProgressView.podspec

Carthageの設定

cocoapodsの設定で行われているので特に無し(タグとか指定した部分がそれです)
carthage build --no-skip-current
で確認だけしておきましょう。

README.mdを書く

使い方とpodとcartageが使える旨を記述しましょう。
vim Podfile
pod "SQProgressView"
pod install

vim Cartfile
github "noppefoxwolf/SQProgressView"
carthage update
でいいかと思います。

Appetize.io

Appetize.ioはweb上でシミュレータが使えるサービスです。
CocoaControlsではAppetize.ioのpublickeyを指定するとリポジトリの詳細画面でシミュレータを使って動作を見ることができます。

準備

一度シミュレータでビルドする

アップロード

https://appetize.io/upload
へアクセスし、
~/Library/Developer/Xcode/DerivedData//Build/Products/Debug-iphonesimulator/.app
をアップロード
メアドを入力してpublic key取得します。

cocoaControlsに公開する

https://www.cocoacontrols.com
へアクセスし、submit a new controlsからgithubのリポジトリのアドレスを入力します。
リポジトリの詳細入力画面になるので、
Appetize.io public keyからpublic keyを入力
必要項目を入力してCreate Controlを押します。
Upload Control Imagesから一枚スクリーンショットをアップしてHighlight imageにチェックを入れます。(この画像が一覧に出る)

審査機関

しばらく(1〜2週間くらい)待つと審査を通過していれば一覧に並びます。

スクリーンショット 2015-12-29 12.28.36.png

皆さんも是非CocoaControlsに公開してみましょう。
プルリクエストやスターが活発になりますよ…!

18
16
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
18
16