2017年2月23日にアップルストアで配信を開始したスマホアプリが、大きな注目を集めています。ひな壇に人形を並べていくという非常にシンプルなゲームです。 実はこれ、82歳の女性が一からプログラミングを習得して開発したアプリなのです!それが、神奈川県藤沢市の「マーちゃん」こと若宮正子さんです。 若宮正子さんは、1936年(昭和11年)生まれ。子供の頃から好奇心旺盛で、人と会っておしゃべりするのが大好きでした。 高校を卒業してから大手銀行に勤めていた若宮さんでしたが、定年退職が近づいてきた頃、退職後90歳になる母親の介護をするため家から出られなくなることを懸念していました。そんなとき、ふと見た雑誌に「パソコンがあると家から一歩も出なくても多くの人とおしゃべりができる」と書いてある広告を見て「これだ!」と、パソコンを衝動買いしたそうです。この決断が、若宮さんのその後の人生を大きく変えることになり
Learn to code withSwift PlaygroundsSwift Playgrounds is a revolutionary app foriPad andMac that helps you learn to code andbuild apps usingSwift, the same powerful language used tocreate world-class apps for the App Store. Engaging lessons and walkthroughs demonstrate the core concepts of coding andbuilding apps as you write realSwift code in an interactive environment. Learn and explore
iPhone内の画像を取得する こんにちは!クラスメソッド白猫部副部長の荒川です。iPhoneのカメラロールに保存された画像を取り出す時、UIImagePickerController が大変便利です。 しかしながら、「LINE」アプリのように画像選択の一覧画面をカスタマイズしたり、複数の画像を選択したりする機能が必要となれば、UIImagePickerController では実現出来ません。 今回はそれを実現するための AssetsLibrary について紹介致します。 ちなみに、 アプリの対応バージョンが iOS 8 以降 であれば、弊社平屋がシリーズ化している PhotoKit を使用することをオススメします。とはいえまだまだ iOS 7 対応は切り捨てられませんので、AssetsLibraryを使うことになるでしょう。 AssetsLibrary を使う AssetsLib
こんにちは、UIScrollViewと格闘中の@yoheiMune です。 今日は、UIWebViewやUITableViewなどでも用いられているUIScrollViewを用いて、 ページングを行う機能をブログに書きたいと思います。 ページングを行うためのUIScrollViewの設定UIScrollViewはページングに対応しており、ちょっとした設定をするだけで、 ページングのような動きを実現することが可能です。 設定はInterfaceBuilderやソースコード上で行うことが出来ます。 以下は、ソースコード上で行う例です。UIScrollView *scrollView = [[UIScrollView alloc] initWithFrame:self.view.frame]; scrollView.pagingEnabled = YES; ページングを行うコンテンツを準備す
どうやら、この2、3ヶ月の間に、Appleの審査基準にまた新しい項目が追加されたようです。 古いアプリを修正してリリースする方は注意してくださいね。 (最近新規プロジェクトを作成してビルドをした方はたぶん大丈夫だと思います。デフォルトの設定ではPIE Binaryになっているはずです。) 2013/9/11追記:今日発表になったiPhone 5sのA7チップは、いままでのiPhoneで採用されていた32bitではなく64bitです。64bitのiOSでは、non PIE binaryはサポートされないという情報がAppleからでているので、iPhone 5sで動作させたい場合にはPIE Binary対応が必要です。 Reject with Non-PIE Binary 今年の5月頃からApp Storeで下記のような理由でRejectされるアプリが出てきました。 *1 *2 Non-PIE
CocoaPodsをバージョン1.0.0に上げたのが原因でしょうか、App extensionを含むバイナリなのが問題なのでしょうか。 今日の夕方あたりからiTunes Connectにバイナリをアップロードするとワーニングが返ってくるようになりました。 お昼頃にはバイナリをアップロードしても何も起こりませんでした。少し時間をおいて夕方頃にアプリのバージョンだけを変えたバイナリをアップロードすると下図のようにITMS-90080のワーニングが出ました。2016/6/5 1:10になっても同じようにワーニングが出ていました。 小一時間後、TestFlightでテストができるようになったと通知が来ました。ここまではいつも通りです、実際にデバイスにインストールしてテストをしていました。 しばらくするとAppleからワーニングメールが届いた さらに時間をおいてAppleから下記のようなメールが届き
〜アプリ名を1種類だけ使いたい、とりあえずアプリ名を変更したい人向け〜 作業は設定を1つ変更するだけでアプリ名を変更できます。Swiftも、Objective-cも同じ方法です。 変更方法としては3つあります。 もし、以下の項目を複数変更した場合は優先順が高いものが選択されます。 優先度は1が一番高く、順に低くなっていきます。 ◎sample2という名前のプロジェクトを前提にします ###1.「Bundle name 」を新規作成### ・場所 Supporting Files > Info.plist > +で新規生成 Builed display Name (初期設定 なし ) ###2.「Bundle name 」 を変更### ・場所 Supporting Files > Info.plist > Builed Name (初期設定 $(PRODUCT_NAME) ) ##
記事内に広告を含む場合があります。記事内で紹介する商品を購入することで、当サイトに売り上げの一部が還元されることがあります。 2016年3月22日、Xcode 7.3と共にSwift 2.2が正式にリリースされました。Swift 2.2における変更点についてまとめておきたいと思います。 タプルを比較できるようになった(ただし条件付き) タプル同士を比較できるようになりました。以下の条件を満たす必要があります。 タプルの要素数が同じであること 個々の要素がEquatableであること(==や!=の場合) 個々の要素がComparableであること(<や>などの場合) また、タプルの要素数は6以下である必要もあります。 #selector Selector型の指定は今まで文字列リテラルで行ってきましたが、Swift 2.2では#selectorが導入され、存在しないメソッドを指定するとコンパ
Swift 2.2 の機能で変わったところを、機能面からざくりとですけど具体例も書いたりしながら挙げてみますね。 そこそこのボリューム感になったので、まずはどんな事柄が書かれているか、ざっくり箇条書きにしておきます。細かい部分については以降でじっくり記してみます。 新機能 クラスにおける init? や init-throws でプロパティの初期化前離脱が可能に プロトコルにおける付属型の明記が associatedtype を使う方法に変更 AnyGenerator を AnyGenerator.init(body:) を使って初期化する方法に変更 タプルにおいて、6つまでの要素を持つタプル同士の比較が可能に 引数ラベル名を考慮した関数の参照が可能に 引数ラベル名で予約語のほとんどをそのまま使用可能に ArraySlice で先頭要素を削除したときにインデックスの範囲が維持されるように
iOSアプリはiTunesを使えばMacでもダウンロードできます。そしてダウンロードしたipaファイルはzipファイルとして展開することができ、中身を覗き見ることができるようになっています。 ところでiOSアプリケーションのURLスキーム定義はどこに書かれているのかというと、ipaファイルの中にあるplistファイルに記載されています。URLスキームのリストは公開されていませんが、手元のアプリに限って言えばplistファイルを覗くことによって特定することが可能です。 手作業で確認するipaファイルをリネームする こいつを。 こう。 plistを探す 展開した先にはこれらのファイルやディレクトリが並びます。目的のplistはここにあるiTunesMetadata.plistではなくて、Payloadの下にあるFacebook.appのの内部にあります。 META-INF Payload i
UIFileSharingEnabled、実機内のアプリで生成したファイルを簡単にPCに取り込めて便利です。 が、UIFileSharingEnabledをYESにしたまま申請すると、理由を聞かれて申請が通りません。 ですのでアプリ申請のときだけUIFileSharingEnabledをNOにする必要があるのですが、それを忘れてしまって公開が遅れてしまうことが多々有ります。 そこで今回、DEBUG時のみUIFileSharingEnabledをYESにする方法がわかったのでメモしておきます。 以下のサイトを参考にさせてもらいました。 ios -UIFileSharingEnabled on debug variant only - Stack Overflow How to Add a Run ScriptBuildphase 作業はとても簡単で、Run Scriptにコードを書くだ
会員事業部の三木(@giginet)です。 この記事では、業務改善のために開発者向けのツールをSwiftで開発してみたため、その知見についてお伝えしたいと思います。 なお、この記事はXcode7.1上でSwift2.1を使った開発を前提としています。 作ったものクックパッドiOSアプリでは開発の際に、新しい機能を実装したり、インターフェイスを改善したあとにiOSシミュレーターの動画を撮影しPull Requestに貼り付けています。 動画を撮影する際には、汎用的にスクリーンキャストを撮影する社内ツールを使っていたのですが、使いづらい面も多かったため、 簡単にiOSシミュレーターの操作をアニメーションgifとして記録したいという需要がありました。 そのため、空き時間を使って、簡単なユーティリティを実装しました。 なぜSwiftで作るのか 今回は、OS Xの開発用SDKであるCocoaを使い
記事内に広告を含む場合があります。記事内で紹介する商品を購入することで、当サイトに売り上げの一部が還元されることがあります。Swift 2でシングルトンを実装する方法について解説したいと思います! (※「シングルトンを呼び出す」という言葉遣いには個人的に違和感を感じましたが、このキーワードで検索して調べる人がいるようなのでこのような記事タイトルとしてあります。) 「シングルトン」とは? シングルトンとは、そのクラスのインスタンスが1つしか無いことを保証するための設計パターンです。 詳しくはこちらのページなどを見てもらえればと思います。 ⇒ Singleton パターン –Wikipedia シングルトンなクラスを作る シングルトンなクラスを作るには、以下の様にコードを書きます。 // (1) 継承を禁止 final class Singleton { // (2) イニシャライザをpr
もうちょっとだけ続くんじゃ。 ディスパッチキュー 並列処理を書くもう一つの方法が、ディスパッチキューを使う方法。 といっても、内容はオペレーションキューを使うのとほぼ一緒。 基本的にはディスパッチキューにブロック(Swiftの場合、クロージャ)を追加すれば、その処理を(必要かつ可能なら)並列に処理してくれる。 ただ、ちょっと違うのは、 インタフェースがオブジェクトのメソッド呼び出しではなく、関数呼び出しである。 処理間の依存関係は管理せず、追加された順に処理を開始する。 直列ディスパッチキューと並列ディスパッチキューという2種類がある。 ということ。 直列ディスパッチキューと並列ディスパッチキュー ディスパッチキューには、直列ディスパッチキューと並列ディスパッチキューがある。 種類 説明 直列ディスパッチキュー 処理を追加された順に実行する。 キューに追加された処理で同時に実行されるものは
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く