SlideShare a Scribd company logo
1 of 30
Download to read offline
柳原 光里 

Github: @ave-hikari
Qiita: @ave
swiftで初アプリリリース
してみて振り返り
自己紹介
• 仕事 Webアプリ開発が主
• 好き 漫画、旅行、服、デザイン、三国志、    
飲酒
• 一番好きな作品 らんま1/2
• 使うのは断然Android派!!!
今はもっぱらこれ↑
アプリ歴
• 今年4月~9月 Objective-cで初iOS開発(仕事)
• 7月あたりから Swiftで自作アプリ開発中
ECアプリ。先日ようやくリリース!
先日ようやく初号機リリース
初めてAppStoreにリリースした
swiftで書いた自作アプリ
「PictMaker」
この先機能追加もしていくので
落としてもらえると超嬉しいです!
※辛辣なレビューは直接お願いします。
本日の内容
初めて個人でアプリ申請からリリースまでの作業を
やってみて発見したこと感じたこと、
swiftで初めて書いてみて苦労した点などなど
振り返り紹介します
swiftで個人アプリ開発
開始
6月下旬~7月上旬
設計→製造→リリースの工程を
自己管理して進めるためツール導入
• Backlog立ててプロジェクトとして進める

Git使えるし便利
• Cacoo で画面遷移図とか作ってみる

→すぐ飽きて放置…
• どういうアプリ作るか・大体のスケジュールを決定
swiftで個人アプリ開発
7月中旬
開発開始!
・・・そもそも
Obj-cでの開発経験は
あったのに(7月時点)
なぜ
swiftでやろうと思ったか?
・上司の提案
・周囲の人間の中で
swiftならこの人!的
立ち位置になりたいという野望
(swiftでならシェアは奪える・・かも・・)
試しに拾ったソースなど読み始めてみた所
「swiftの方がなんか書き易いっぽい」
「[]とかつけなくていいし
入力補完ないとやってけない
Obj-cの文法より楽そう」
「最新の言語を使うのやっぱイケてる気する
(刷り込み)」
等と思い始め、本格的に書き始める
swiftで個人アプリ開発
開始から
大体1.5ヶ月(8月初旬)
早くもObj-cに戻りたくなる
• 変数指定時に型指定しなくてもいいくせに

型のチェックは厳しいってどういうことなの・・・
• []や;の記述不要とかブロック記法がアッサリしている等

Obj-cで覚えた「何となく物々しい書き方」(所感)が

なくなってしまったことに一抹の悲しさを感じる
あれ・・・なんか思ったよりswift移行できない・・・
始めてみて大体ぶつかるOptional
• !を多用した結果→落ちまくる
• 慣れてきても出しちゃう unexpectedly found
nil while unwrapping an Optional value

闇雲はダメ、ひとつずつoptional宣言してwrap
していこう・・・
swiftで個人アプリ開発
8月中旬
・・・なんか慣れてきたぞ!!
• .h(ヘッダーファイル)ないっていい・・
• 型指定するもよし、しないもよし
• 行数がやはり減る、簡潔

しかし
モチベが保つのも束の間
職場でObj-cをいじりまくることで
家でswiftやる気が失せていく
• AppStore申請に向け絶賛高稼働



・・・言い訳して自分の方は後回しorz
swiftで個人アプリ開発
9月中旬~終盤
実にこの期間で
2割の状態から8割方作り終える
スケジュールの自己管理とは何だったのか
・・まあ、ここまできたら後は楽
でしょ
デザイン検討&当て込み、きつい
• FireAlpaca GIMP 使い辛い(PhotoShopは知らない)
• 作ったものをアプリに当ててみては修正する
• どこまでこだわるべきかもう見えない

正直この工程をめっちゃ嘗めてました
いざ申請、reject らいまくる
• 「descriptionもっと書け」
• 「iPadで動かない」←テスト不足
• 特急チケット(?)使うも、効果現れず
• 通るまで一月ちょいかかった気が

swiftで個人アプリ開発
ついに AppStoreに
並ぶ
なぜか落ちる
アーカイブビルド作成時&ソースアップロード時に落ち
てなかったよ?!
あれ・・でもローカルでも落ちてる・・
→インスタンスで弱参照(weak)を指定していたのが原因
メモリリーク・循環参照についてちゃんと考えていなかっ
た
思わぬ落とし穴が発覚し、修正&早くもバージョンアップ
そんなこんなで無事、正式
リリース完了
反省点
• 書いて問題なく動いてる箇所でも、言語仕様をしっかり把握
した上で使う
• 非デザイナーがデザイン周りも一からあれこれやろうとする
と、時間がかかる
• メモリリークと向き合う
• 安易にXcodeのバージョン上げない
• しょうもないリジェクトを らわない
• もっと早くアプリ出そう・・・

素直な感想
色々助けを借りながらも
ほぼ自分一人で作ったアプリが
ストアに並んでるのは感慨深いです
また次に向けて考えるのも超楽しいです
Android版もリリースしたいので

そっちも勉強しよう!
おまけ
開発・申請時にお世話になったサイト等
• Screenshot Builder

詳細画面のキャプ画作成が る
• MakeAppIcon

各デバイス用のアイコン作成が る
• Qiita

説明不要
• 今のアプリ・Webデザインのトレンドは

こんなだよ!的なサイト

素晴らしい時代です!!!
@キルラジェネレータ
   http://wakufactory.jp/html5/webfont/killla.html

More Related Content

What's hot

Introduction of ios-chart in oss-labs#3
Introduction of ios-chart in oss-labs#3Introduction of ios-chart in oss-labs#3
Introduction of ios-chart in oss-labs#3Daisuke Yamashita
 
試して感覚を掴んでみるUICollectionViewCompositionalLayout & Combine
試して感覚を掴んでみるUICollectionViewCompositionalLayout & Combine試して感覚を掴んでみるUICollectionViewCompositionalLayout & Combine
試して感覚を掴んでみるUICollectionViewCompositionalLayout & CombineFumiya Sakai
 
できることから始めるOss活動
できることから始めるOss活動できることから始めるOss活動
できることから始めるOss活動Motoki Narita
 
レイヤー分けをしたアーキテクチャで作るiOSアプリ&バックエンドのサンプル実装をのぞく
レイヤー分けをしたアーキテクチャで作るiOSアプリ&バックエンドのサンプル実装をのぞくレイヤー分けをしたアーキテクチャで作るiOSアプリ&バックエンドのサンプル実装をのぞく
レイヤー分けをしたアーキテクチャで作るiOSアプリ&バックエンドのサンプル実装をのぞくFumiya Sakai
 
最近の業務やAndroid関連のインプットと振り返り
最近の業務やAndroid関連のインプットと振り返り最近の業務やAndroid関連のインプットと振り返り
最近の業務やAndroid関連のインプットと振り返りFumiya Sakai
 
2022年の抱負とここ数年続けてきたインプット
2022年の抱負とここ数年続けてきたインプット2022年の抱負とここ数年続けてきたインプット
2022年の抱負とここ数年続けてきたインプットFumiya Sakai
 
RxSwiftとMVVMパターンと仲良くなる次のステップ
RxSwiftとMVVMパターンと仲良くなる次のステップRxSwiftとMVVMパターンと仲良くなる次のステップ
RxSwiftとMVVMパターンと仲良くなる次のステップFumiya Sakai
 
プロ生@福岡20130316
プロ生@福岡20130316プロ生@福岡20130316
プロ生@福岡20130316ima sen
 
できるだけUI系のライブラリを用いないアニメーションを盛り込んだサンプル実装まとめ(追加版)
できるだけUI系のライブラリを用いないアニメーションを盛り込んだサンプル実装まとめ(追加版)できるだけUI系のライブラリを用いないアニメーションを盛り込んだサンプル実装まとめ(追加版)
できるだけUI系のライブラリを用いないアニメーションを盛り込んだサンプル実装まとめ(追加版)Fumiya Sakai
 
iOSのUI構築小技集(小さなとこから始められる編)
iOSのUI構築小技集(小さなとこから始められる編)iOSのUI構築小技集(小さなとこから始められる編)
iOSのUI構築小技集(小さなとこから始められる編)Fumiya Sakai
 
オープンセミナー2014@岡山プレゼン
オープンセミナー2014@岡山プレゼンオープンセミナー2014@岡山プレゼン
オープンセミナー2014@岡山プレゼンKakigi Katuyuki
 
NativeBaseをはじめとするUIに関する ライブラリを使ったサンプルを作ってみた
NativeBaseをはじめとするUIに関する ライブラリを使ったサンプルを作ってみたNativeBaseをはじめとするUIに関する ライブラリを使ったサンプルを作ってみた
NativeBaseをはじめとするUIに関する ライブラリを使ったサンプルを作ってみたFumiya Sakai
 
第六回 #渋谷java Javaを書き始めて 1年半が経って思うこと
第六回 #渋谷java Javaを書き始めて 1年半が経って思うこと第六回 #渋谷java Javaを書き始めて 1年半が経って思うこと
第六回 #渋谷java Javaを書き始めて 1年半が経って思うことKazuhiro Serizawa
 
iOS側のUIの特徴と見比べるAndroid側でのUI実装のヒント
iOS側のUIの特徴と見比べるAndroid側でのUI実装のヒントiOS側のUIの特徴と見比べるAndroid側でのUI実装のヒント
iOS側のUIの特徴と見比べるAndroid側でのUI実装のヒントFumiya Sakai
 
15.05.17 ゆるふわRe:VIEW'erの近況
15.05.17 ゆるふわRe:VIEW'erの近況15.05.17 ゆるふわRe:VIEW'erの近況
15.05.17 ゆるふわRe:VIEW'erの近況Kei Nakazawa
 
第26回東京ブロガーミートアップ
第26回東京ブロガーミートアップ第26回東京ブロガーミートアップ
第26回東京ブロガーミートアップTanaka Yuji
 
Riot.jsと仲良くなるための僕的tips
Riot.jsと仲良くなるための僕的tipsRiot.jsと仲良くなるための僕的tips
Riot.jsと仲良くなるための僕的tipsKeisuke Imai
 
第八回 #渋谷Java 最近のjava PaaS事情
第八回 #渋谷Java 最近のjava PaaS事情第八回 #渋谷Java 最近のjava PaaS事情
第八回 #渋谷Java 最近のjava PaaS事情Kazuhiro Serizawa
 
はじめてのReactiveCocoa
はじめてのReactiveCocoaはじめてのReactiveCocoa
はじめてのReactiveCocoa章平 福井
 

What's hot (20)

Introduction of ios-chart in oss-labs#3
Introduction of ios-chart in oss-labs#3Introduction of ios-chart in oss-labs#3
Introduction of ios-chart in oss-labs#3
 
試して感覚を掴んでみるUICollectionViewCompositionalLayout & Combine
試して感覚を掴んでみるUICollectionViewCompositionalLayout & Combine試して感覚を掴んでみるUICollectionViewCompositionalLayout & Combine
試して感覚を掴んでみるUICollectionViewCompositionalLayout & Combine
 
できることから始めるOss活動
できることから始めるOss活動できることから始めるOss活動
できることから始めるOss活動
 
レイヤー分けをしたアーキテクチャで作るiOSアプリ&バックエンドのサンプル実装をのぞく
レイヤー分けをしたアーキテクチャで作るiOSアプリ&バックエンドのサンプル実装をのぞくレイヤー分けをしたアーキテクチャで作るiOSアプリ&バックエンドのサンプル実装をのぞく
レイヤー分けをしたアーキテクチャで作るiOSアプリ&バックエンドのサンプル実装をのぞく
 
最近の業務やAndroid関連のインプットと振り返り
最近の業務やAndroid関連のインプットと振り返り最近の業務やAndroid関連のインプットと振り返り
最近の業務やAndroid関連のインプットと振り返り
 
2022年の抱負とここ数年続けてきたインプット
2022年の抱負とここ数年続けてきたインプット2022年の抱負とここ数年続けてきたインプット
2022年の抱負とここ数年続けてきたインプット
 
RxSwiftとMVVMパターンと仲良くなる次のステップ
RxSwiftとMVVMパターンと仲良くなる次のステップRxSwiftとMVVMパターンと仲良くなる次のステップ
RxSwiftとMVVMパターンと仲良くなる次のステップ
 
20150514 android
20150514 android20150514 android
20150514 android
 
プロ生@福岡20130316
プロ生@福岡20130316プロ生@福岡20130316
プロ生@福岡20130316
 
できるだけUI系のライブラリを用いないアニメーションを盛り込んだサンプル実装まとめ(追加版)
できるだけUI系のライブラリを用いないアニメーションを盛り込んだサンプル実装まとめ(追加版)できるだけUI系のライブラリを用いないアニメーションを盛り込んだサンプル実装まとめ(追加版)
できるだけUI系のライブラリを用いないアニメーションを盛り込んだサンプル実装まとめ(追加版)
 
iOSのUI構築小技集(小さなとこから始められる編)
iOSのUI構築小技集(小さなとこから始められる編)iOSのUI構築小技集(小さなとこから始められる編)
iOSのUI構築小技集(小さなとこから始められる編)
 
オープンセミナー2014@岡山プレゼン
オープンセミナー2014@岡山プレゼンオープンセミナー2014@岡山プレゼン
オープンセミナー2014@岡山プレゼン
 
NativeBaseをはじめとするUIに関する ライブラリを使ったサンプルを作ってみた
NativeBaseをはじめとするUIに関する ライブラリを使ったサンプルを作ってみたNativeBaseをはじめとするUIに関する ライブラリを使ったサンプルを作ってみた
NativeBaseをはじめとするUIに関する ライブラリを使ったサンプルを作ってみた
 
第六回 #渋谷java Javaを書き始めて 1年半が経って思うこと
第六回 #渋谷java Javaを書き始めて 1年半が経って思うこと第六回 #渋谷java Javaを書き始めて 1年半が経って思うこと
第六回 #渋谷java Javaを書き始めて 1年半が経って思うこと
 
iOS側のUIの特徴と見比べるAndroid側でのUI実装のヒント
iOS側のUIの特徴と見比べるAndroid側でのUI実装のヒントiOS側のUIの特徴と見比べるAndroid側でのUI実装のヒント
iOS側のUIの特徴と見比べるAndroid側でのUI実装のヒント
 
15.05.17 ゆるふわRe:VIEW'erの近況
15.05.17 ゆるふわRe:VIEW'erの近況15.05.17 ゆるふわRe:VIEW'erの近況
15.05.17 ゆるふわRe:VIEW'erの近況
 
第26回東京ブロガーミートアップ
第26回東京ブロガーミートアップ第26回東京ブロガーミートアップ
第26回東京ブロガーミートアップ
 
Riot.jsと仲良くなるための僕的tips
Riot.jsと仲良くなるための僕的tipsRiot.jsと仲良くなるための僕的tips
Riot.jsと仲良くなるための僕的tips
 
第八回 #渋谷Java 最近のjava PaaS事情
第八回 #渋谷Java 最近のjava PaaS事情第八回 #渋谷Java 最近のjava PaaS事情
第八回 #渋谷Java 最近のjava PaaS事情
 
はじめてのReactiveCocoa
はじめてのReactiveCocoaはじめてのReactiveCocoa
はじめてのReactiveCocoa
 

Viewers also liked

実戦投入する機械学習
実戦投入する機械学習実戦投入する機械学習
実戦投入する機械学習Takahiro Kubo
 
機械学習の理論と実践
機械学習の理論と実践機械学習の理論と実践
機械学習の理論と実践Preferred Networks
 
「機械学習 By スタンフォード大学」勉強会 2015.09.11
「機械学習 By スタンフォード大学」勉強会 2015.09.11「機械学習 By スタンフォード大学」勉強会 2015.09.11
「機械学習 By スタンフォード大学」勉強会 2015.09.11Minoru Chikamune
 
ルールベースから機械学習への道 公開用
ルールベースから機械学習への道 公開用ルールベースから機械学習への道 公開用
ルールベースから機械学習への道 公開用nishio
 
機械学習によるデータ分析まわりのお話
機械学習によるデータ分析まわりのお話機械学習によるデータ分析まわりのお話
機械学習によるデータ分析まわりのお話Ryota Kamoshida
 
機械学習チュートリアル@Jubatus Casual Talks
機械学習チュートリアル@Jubatus Casual Talks機械学習チュートリアル@Jubatus Casual Talks
機械学習チュートリアル@Jubatus Casual TalksYuya Unno
 

Viewers also liked (6)

実戦投入する機械学習
実戦投入する機械学習実戦投入する機械学習
実戦投入する機械学習
 
機械学習の理論と実践
機械学習の理論と実践機械学習の理論と実践
機械学習の理論と実践
 
「機械学習 By スタンフォード大学」勉強会 2015.09.11
「機械学習 By スタンフォード大学」勉強会 2015.09.11「機械学習 By スタンフォード大学」勉強会 2015.09.11
「機械学習 By スタンフォード大学」勉強会 2015.09.11
 
ルールベースから機械学習への道 公開用
ルールベースから機械学習への道 公開用ルールベースから機械学習への道 公開用
ルールベースから機械学習への道 公開用
 
機械学習によるデータ分析まわりのお話
機械学習によるデータ分析まわりのお話機械学習によるデータ分析まわりのお話
機械学習によるデータ分析まわりのお話
 
機械学習チュートリアル@Jubatus Casual Talks
機械学習チュートリアル@Jubatus Casual Talks機械学習チュートリアル@Jubatus Casual Talks
機械学習チュートリアル@Jubatus Casual Talks
 

Similar to Swiftで初アプリリリースしてみて振り返り

iOSアプリを審査に提出してみた話
iOSアプリを審査に提出してみた話iOSアプリを審査に提出してみた話
iOSアプリを審査に提出してみた話Hideki Abe
 
iOS開発で使えるオープンソースのライブラリやサービスの紹介
iOS開発で使えるオープンソースのライブラリやサービスの紹介iOS開発で使えるオープンソースのライブラリやサービスの紹介
iOS開発で使えるオープンソースのライブラリやサービスの紹介asakahara
 
【QRコードアーティストの自立戦略 ~ UX/UIデザインワークショップ】
【QRコードアーティストの自立戦略 ~ UX/UIデザインワークショップ】【QRコードアーティストの自立戦略 ~ UX/UIデザインワークショップ】
【QRコードアーティストの自立戦略 ~ UX/UIデザインワークショップ】Meyco U
 
Swiftビギナーズ勉強会 第1回 @Co-Edo
Swiftビギナーズ勉強会 第1回 @Co-EdoSwiftビギナーズ勉強会 第1回 @Co-Edo
Swiftビギナーズ勉強会 第1回 @Co-EdoMegumi Otani(Czenhe)
 
Swiftビギナーズ倶楽部 vol.2
Swiftビギナーズ倶楽部 vol.2Swiftビギナーズ倶楽部 vol.2
Swiftビギナーズ倶楽部 vol.2Kanako Kobayashi
 
スマートフォンアプリ開発におけるディレクション
スマートフォンアプリ開発におけるディレクションスマートフォンアプリ開発におけるディレクション
スマートフォンアプリ開発におけるディレクションGIG inc.
 
I understand completely line api
I understand completely line apiI understand completely line api
I understand completely line apiTakaoUeda2
 
I understand completely line api
I understand completely line apiI understand completely line api
I understand completely line apiTakaoUeda2
 
オールアバウトのアプリ開発
オールアバウトのアプリ開発オールアバウトのアプリ開発
オールアバウトのアプリ開発Kazuki Tsurugai
 
アドベント2015ios基礎
アドベント2015ios基礎アドベント2015ios基礎
アドベント2015ios基礎ppengotsu Name
 
SwiftでAndroidアプリ書けるってよ
SwiftでAndroidアプリ書けるってよSwiftでAndroidアプリ書けるってよ
SwiftでAndroidアプリ書けるってよSyo Ikeda
 
C++でiOSアプリ
C++でiOSアプリC++でiOSアプリ
C++でiOSアプリ5mingame2
 
iOSアプリのリジェクト体験談
iOSアプリのリジェクト体験談iOSアプリのリジェクト体験談
iOSアプリのリジェクト体験談Hisaharu Kato
 

Similar to Swiftで初アプリリリースしてみて振り返り (20)

Hachioji.pm 13
Hachioji.pm 13Hachioji.pm 13
Hachioji.pm 13
 
SwiftでSNS投稿を行う
SwiftでSNS投稿を行うSwiftでSNS投稿を行う
SwiftでSNS投稿を行う
 
Swift instagram viewer
Swift instagram viewerSwift instagram viewer
Swift instagram viewer
 
iOSアプリを審査に提出してみた話
iOSアプリを審査に提出してみた話iOSアプリを審査に提出してみた話
iOSアプリを審査に提出してみた話
 
iOS開発で使えるオープンソースのライブラリやサービスの紹介
iOS開発で使えるオープンソースのライブラリやサービスの紹介iOS開発で使えるオープンソースのライブラリやサービスの紹介
iOS開発で使えるオープンソースのライブラリやサービスの紹介
 
【QRコードアーティストの自立戦略 ~ UX/UIデザインワークショップ】
【QRコードアーティストの自立戦略 ~ UX/UIデザインワークショップ】【QRコードアーティストの自立戦略 ~ UX/UIデザインワークショップ】
【QRコードアーティストの自立戦略 ~ UX/UIデザインワークショップ】
 
Swiftビギナーズ勉強会 第1回 @Co-Edo
Swiftビギナーズ勉強会 第1回 @Co-EdoSwiftビギナーズ勉強会 第1回 @Co-Edo
Swiftビギナーズ勉強会 第1回 @Co-Edo
 
Swiftビギナーズ倶楽部 vol.2
Swiftビギナーズ倶楽部 vol.2Swiftビギナーズ倶楽部 vol.2
Swiftビギナーズ倶楽部 vol.2
 
スマートフォンアプリ開発におけるディレクション
スマートフォンアプリ開発におけるディレクションスマートフォンアプリ開発におけるディレクション
スマートフォンアプリ開発におけるディレクション
 
I understand completely line api
I understand completely line apiI understand completely line api
I understand completely line api
 
I understand completely line api
I understand completely line apiI understand completely line api
I understand completely line api
 
Swift afterbeginner
Swift afterbeginnerSwift afterbeginner
Swift afterbeginner
 
オールアバウトのアプリ開発
オールアバウトのアプリ開発オールアバウトのアプリ開発
オールアバウトのアプリ開発
 
Swift勉強会
Swift勉強会Swift勉強会
Swift勉強会
 
アドベント2015ios基礎
アドベント2015ios基礎アドベント2015ios基礎
アドベント2015ios基礎
 
Cmujp21_node-webkit
Cmujp21_node-webkitCmujp21_node-webkit
Cmujp21_node-webkit
 
Swift afterbeginner
Swift afterbeginnerSwift afterbeginner
Swift afterbeginner
 
SwiftでAndroidアプリ書けるってよ
SwiftでAndroidアプリ書けるってよSwiftでAndroidアプリ書けるってよ
SwiftでAndroidアプリ書けるってよ
 
C++でiOSアプリ
C++でiOSアプリC++でiOSアプリ
C++でiOSアプリ
 
iOSアプリのリジェクト体験談
iOSアプリのリジェクト体験談iOSアプリのリジェクト体験談
iOSアプリのリジェクト体験談
 

Swiftで初アプリリリースしてみて振り返り