woshidan's blog

あいとゆうきとITと、とっておきの話。

iOS

APNsのプッシュ通知で利用するプロバイダ証明書関連の各種ファイル形式について調べてみたメモ

前の記事では、APNsとプロバイダの間の接続信頼の話をしました。この記事では、接続信頼の確認に使う証明書関係のファイルの話をします。 複数の鍵や証明書をまとめて扱うための個人情報交換( .p12 ) まず、Push通知の証明書関連で調べているとよく出てくる …

Appleの証明書関連を調べるときに公式ドキュメントの「証明書」ページを読んでおくととても捗る

Appleの証明書関連を検索するとき、かなり検索しにくく感じるときがありますが、 証明書 - サポート - Apple Developer のページに目を通しておくと公式ドキュメントのググラビリティが非常に上がります。というか、先に読んでおくもののはずなんですが、グ…

xcodebuild testのテスト対象のデバイスやテストケースをappiumぽく簡単に指定できるラッパースクリプトを書いてみた

この記事はiOS2 Advent Calendar 2017の3日目の記事です。 xcodebuild testのテスト対象のデバイスやテストケースをややappiumみたいに簡単に指定できるラッパースクリプトを書いてみました。 なお、CocoaPodsでライブラリ管理をしているプロジェクトを対象…

XCode Tools CLIのバージョンアップとビルドに必要なパラメータ、権限の変化について

お仕事の都合で古いOSに対してもXCode Tools CLIを使ってビルドする必要があって調べてみても要領を得なかったんだけど少しわかった気がするので、わかったところまで整理してみます*1。 アプリとして実機やシミュレータにインストールできるファイルの種類…

iOSにてzlibのdeflate()コマンドでファイルをgzip形式で圧縮する方法について

zlibについてコピペで使うのはいやだなと思ったのでちょっと調べてメモ。 比較的小さいファイルの圧縮を行うなど、圧縮前後のデータを全てメモリ上に展開できる場合は、 compress() を使って一気に圧縮できますが、今回はストリームから少しずつデータを出し…

NSURLSessionを使って通信処理を書いてみる

http://woshidan.hatenablog.com/entry/2017/06/18/014734 の記事の続きで、先の記事の中の 2. Foregroundでダウンロード処理を開始する場合は、ダウンロード中にアプリが停止ないし終了してもよいようにそのダウンロード処理の管理をシステム側へ手渡すこと…

iOSでアプリがバックグラウンドへ遷移してもタスクが終了するまではアプリのプロセスをkillさせないようにする

AndroidではAndroid Oからバックグラウンド処理の実行制限が厳しくなることが話題ですが、iOSでは以前から基本的にはバックグラウンド処理はアプリがバックグラウンドに回った時点で停止させられます。 実際にはiOS側の判断で止めるので、タスクがすぐにkill…

iOSのProvisioning Profile周りについてざっくり確認するシートを作りました

iOSのProvisioning Profile周りについて毎回ハマっているような気がしていたので、どのファイルをいつ用意して用意した後どうすればいいのか、といったことを手短に確認するために 主になんて呼ばれているか 代表的なファイル名 主にいつ作成するか、どう作…

iOSでファイルにオブジェクトの状態を保存する/.plistとは

ObjCのコードを読んでいた時に書いたメモを放流。 アーカイブとは プログラムで使われている複数のオブジェクトを、その属性値や相互の関係も含めてファイルに保存したり、他のプロセスに渡したりしたい場合があります。 そのために、互いに関連するオブジェ…

ideviceinstallerで「Could not connect to lockdownd. Exiting.」と出てアプリのインストールに失敗する

$ ideviceinstaller -u b93fd1bed1bbdf952070fa4160a34510efbe71ee -i /Users/woshidan/to/app/dir/iOSApp/build/sym/Release-iphoneos/iOSApp.app Could not connect to lockdownd. Exiting. github.com Mac OS X El Captain以降のバージョンだと、iOSアプ…

AppiumでiOSのテストのサンプルを動かすところまで

iOSやAndroidのUIテストをSeleniumのように書くことができるAppiumというものがあるそうですが、 説明を見ていてもさっぱり挙動がわからなかったので、動かしてみたメモです。 各種のバージョンは Appium 1.5.3 maevn 3.3.9 です。スクショにAviraが映ってい…

iOSのidentifierForVendorとadvertisingIdentifierについて

iOS

お仕事で調べる必要があったのでメモ。 identifierForVendor https://developer.apple.com/reference/uikit/uidevice/1620059-identifierforvendor?language=objc アプリのベンダー(開発元)ごとにデバイスが一意に見えるように発行されるアルファベットと数…

UI用のクラスのプロトコルとWebViewなどについて

内容 iPhone/iPadプログラミングバイブル iOS9/Xcode7/Swift 対応 (smart phone programming bible)作者: 布留川英一出版社/メーカー: ソシム発売日: 2015/10/27メディア: 単行本この商品を含むブログ (1件) を見る 上の本を参考にiOSのUIViewと戯れています…

XCodeのデバッガについて少しだけメモ

内容 iPhone/iPadプログラミングバイブル iOS9/Xcode7/Swift 対応 (smart phone programming bible)作者: 布留川英一出版社/メーカー: ソシム発売日: 2015/10/27メディア: 単行本この商品を含むブログ (1件) を見る 上の本を参考にiOSのUIViewと戯れています…

UIButton, UIAlertController, UITextView, UITextFieldあたりに触りました

内容 iPhone/iPadプログラミングバイブル iOS9/Xcode7/Swift 対応 (smart phone programming bible)作者: 布留川英一出版社/メーカー: ソシム発売日: 2015/10/27メディア: 単行本この商品を含むブログ (1件) を見る 上の本を参考にiOSのUIViewと戯れています…

タッチベントの処理とタイマーの処理について

内容 iPhone/iPadプログラミングバイブル iOS9/Xcode7/Swift 対応 (smart phone programming bible)作者: 布留川英一出版社/メーカー: ソシム発売日: 2015/10/27メディア: 単行本この商品を含むブログ (1件) を見る 上の本を参考にiOSのUIViewと戯れています…

UIViewのメソッドにCGContextRefオブジェクトを渡してStoryBoard上に図形を描画する

内容 iPhone/iPadプログラミングバイブル iOS9/Xcode7/Swift 対応 (smart phone programming bible)作者: 布留川英一出版社/メーカー: ソシム発売日: 2015/10/27メディア: 単行本この商品を含むブログ (1件) を見る 上の本を参考にiOSのUIViewと戯れています…

画像をStoryBoard上で描画する

内容 iPhone/iPadプログラミングバイブル iOS9/Xcode7/Swift 対応 (smart phone programming bible)作者: 布留川英一出版社/メーカー: ソシム発売日: 2015/10/27メディア: 単行本この商品を含むブログ (1件) を見る 上の本を参考にiOSのUIViewと戯れています…

カスタムビューの配置方法と文字のフォント設定、描画領域のサイズ取得について

今日から少しずつ慣れてこーってことでターミナルでREPLからXCodeに戻ってきたんですが、XCodeって入力してると、にょん!って補完が出てちょっと楽しいですね...。 内容 iPhone/iPadプログラミングバイブル iOS9/Xcode7/Swift 対応 (smart phone programming…

はてな教科書の「プログラミング言語 Swift」を読んでます 7

https://github.com/hatena/Hatena-Textbook/blob/master/swift-programming-language.md のんびり読んでいきます。一旦ラストォ! Generics 特定の型ではなくて、同じ種類ならどの型に対しても対応したい、みたいな場合に使います。 Javaだとだいたい一文字…

はてな教科書の「プログラミング言語 Swift」を読んでます 6

https://github.com/hatena/Hatena-Textbook/blob/master/swift-programming-language.md のんびり読んでいきます。もうちょい! Casting isでインスタンスの型を確認. 84> class Cat: Animal { 85. // 86. // A'(A をオーバーライド。ここに required 修飾…

はてな教科書の「プログラミング言語 Swift」を読んでます 5

https://github.com/hatena/Hatena-Textbook/blob/master/swift-programming-language.md イニシャライザが難しかったのですが、のんびり読んでいきます。 Inheritance class名の右に:をつけてスーパークラスを指定することでそのクラスを継承することができ…

はてな教科書の「プログラミング言語 Swift」を読んでます 4

https://github.com/hatena/Hatena-Textbook/blob/master/swift-programming-language.md のんびり読んでいきます。 Reference types 参照型の値は、変数間で同じ状態を共有する。 参照型の変数の場合、オブジェクトの参照先をコピーして、オブジェクトの中…

はてな教科書の「プログラミング言語 Swift」を読んでます 3

https://github.com/hatena/Hatena-Textbook/blob/master/swift-programming-language.md のんびり読んでいきます。 Functions guard guardは関数の early exits をサポートする構文 guardの条件式に書かれた条件が満たされなかったら終了したり、異常の場合…

はてな教科書の「プログラミング言語 Swift」を読んでます 2

https://github.com/hatena/Hatena-Textbook/blob/master/swift-programming-language.md のんびり読んでいきます。 Control Flow For-In 範囲(cf. 0..<3)には不等号で含まれるかどうか示すことができる For - Inにはwhere節で渡した式が真になるもののみブ…

はてな教科書の「プログラミング言語 Swift」を読んでます 1

https://github.com/hatena/Hatena-Textbook/blob/master/swift-programming-language.md のんびり読んでいきます。 序文を読んで LLVM と Clang はその後の Apple プラットフォームにおける標準的なコンパイラの地位を占め、また OSS のコンパイラとして多…

Androidを触っていた人がiOSのOSやクラスライブラリの概要について本を読みました

「iOSもAndroidもスマートフォンなのだから、まあなんとか」と思って本を買って読み始めたところ、想像していた以上に違いがありそうで楽しそうですね、という感じでした。 iPhone・iPadとiOSについて OSのバージョンごとに出てきた機能について コピー&ペー…

rubyとAndroidを触っている人がObjective-Cを一年以上ぶりに見たときの感想

こちらを参考にしながら、Objective-Cを一年以上ぶりに見たら結構面白かったので少しでも覚えられるようにメモをします。 オブジェクトの生成 NSObject *obj = [[NSObject alloc] init]; 往時は、くらくらするだけだったんですが、 rubyやJavaをある程度いじ…

CocoaPodsをつかってみてRealm入れてビルドしようとしたら「~.h」ファイルがないと言われてつまづいた

有線LANのアダプターを購入した結果無事、pod setupに成功いたしました。めでたい。 gitのネットワークの設定より、物理的にネットワーク環境を変えられるのであれば変えたほうが早いですね。 CocoaPodをセットアップする前にはLANのアダプタを無線wifiから…

XCodeでStoryBoardのPreviewをする

とりあえず、CocoaPodsを触ってみた、というブログ記事を書こうと思ったところ、自宅の回線 + 無線LANの組み合わせでは 5時間格闘してもセットアップに成功する気配が一向に見られず、諦めて有線のアダプタをぽちったところです。 有線のアダプタでもだめな…