iPhone
記事自体は2ヶ月前に書いていたのですがちょうどiTunes Connectがトラブっていた時期だったので公開できずじまいでした。そのため一部記載しているバージョンが古い部分があります。 大半のプロジェクトでCocoaPods 1.0.0へ移行し終えてノウハウも溜まってき…
CocoaPodsをバージョン1.0.0に上げたのが原因でしょうか、App extensionを含むバイナリなのが問題なのでしょうか。 今日の夕方あたりからiTunes Connectにバイナリをアップロードするとワーニングが返ってくるようになりました。 お昼頃にはバイナリをアップ…
今までとは別のプロジェクトにアサインされたので、いつものように開発環境を整えようとpod installをしてRealmをインストールしようとしたところ、謎のエラーが出てビルドができなくなりました。 謎のエラーとは'impl/async_query.hpp' file not find.とい…
過去にxcodebuildを使ってビルドを自動化する方法を紹介しました。 本記事ではToday Extension(Widget)を含むiOSアプリをJenkinsでビルドする方法を紹介します。アプリ側とToday Extension側とで使用するプロビジョニングプロファイルが異なります。 ビルド…
iOSでは文字入力用のコンポーネントとしてUITextFieldを利用します。文字入力中……1文字入力ごとにバリデーションしたい時があります。たとえば、 ログイン画面でユーザーIDとパスワード欄が両方入力された場合にログインボタンを有効にする ユーザー登録中に…
C#でiOSやAndroidのアプリを開発できる「Xamarin」のライセンスを無料で入手できるキャンペーンをやっているようです。 Xamarinの代理店エクセルソフトの田淵さんのブログによると…… 2015/8/17 以前に公開された Windows Phone アプリ個人開発者に無料の Xam…
(開発的な意味で)チームで働くことはほぼなくて1人でiOSアプリを開発していると、1件1件最新ビルドが欲しいという要望に応えるのが難しかったです。……というか、僕は限界だったのでJenkinsを導入してJenkinsおじさんを酷使していました。 それ以降、Xcodeプ…
文字列操作する方法を手癖で書けるほどSwiftに馴染んでいないので、いつでも見返せるようにメモしておきます。 文字列同士の結合 let str = "daru" + "yanagi" println(str) var str = "daru" str += "yana" str += "gi" println(str) 区切り文字を使って文…
①や⑩というのを丸囲み文字と呼ぶようです。数値から丸囲み文字に変換する必要があったので調べてみました。 ⓪, ①,②,③,④,⑤,⑥,⑦,⑧,⑨,⑩, ⑪,⑫,⑬,⑭,⑮,⑯,⑰,⑱,⑲,⑳, ㉑,㉒,㉓,㉔,㉕,㉖,㉗,㉘,㉙,㉚, ㉛,㉜,㉝,㉞,㉟,㊱,㊲,㊳,㊴,㊵, ㊶,㊷,㊸,㊹,㊺,㊻,㊼,㊽,㊾,㊿, …
Swiftで配列の中から文字列長の長いオブジェクトを取得する方法を紹介します。 ここではString型の配列や特定のクラスのString型プロパティの配列から最も長い文字列を持つオブジェクトを取得します。判定の仕方を変更すれば文字列以外での判定をおこなうこ…
Swiftでインスタンスからプロパティの一覧を取得してみましょう。以下のようなPersonクラスがあるとします。 @objc(Person) class Person : NSObject { let age: Int let name: String required init(age: Int, name: String) { self.age = age self.name = …
文字列からインスタンスを生成する方法として、Objective-Cでは「文字列のクラス名からインスタンスを動的に生成させる - iOSアプリ開発の逆引き辞典」で紹介しているようなコードを書くことで文字列のクラス名称からインスタンスを動的に生成させることがで…
ipaファイルの自動生成をするようになると、ipaファイルそのものの解析を依頼されることがあります。僕はバイナリアンではないのでipaファイルを投げられてもよくわかりません。 ipaファイルの正体は、zipファイルの拡張子を変えただけであるものというのは…
なんでApple Watch発売直前になってiOS 8.3とXcode 6.3を提供を開始したの……という気もするのですが、今朝方iOS 8.3が公開されました。同時に、Swift 1.2が使えるようになるというXcode 6.3も公開されました。 リリースノートは以下のリンクからみることがで…
スマートフォンを使っていると当たり前の機能のうちに「プッシュ通知」があります。 たとえば、iPhoneやiPadでGmailアプリなどのメールアプリを使っていると、メールを受け取るとユーザーに向けて「メールを受信しました」とプッシュ通知されます。 プッシュ…
これは「UEC Advent Calendar 2014」の20日目の記事です。UECについては別の方が書かれていると思うのですが、UECとは東京都調布市にある電気通信大学のことです。 先に書いておくと、僕はUECの現役学生でもOBでもありません。iPhoneで使える「休講情報 for …
MD5(Message Digest Algorithm 5)は、入力に対して128ビットのハッシュ値を出力するハッシュ関数のことで、不可逆的な一方関数を用いているところから認証などで広く使われています。他にもダウンロードしたファイルが第三者によって作者(配布者)が意図しな…
過去に「Xamarin.iOSでiOSデバイスの機種名(モデル名)を取得する - 酢ろぐ!」でiOSデバイスの機種(モデル)名を取得する方法を紹介しました。この方法は機種名を取得するものと言うよりかはiPhone7,1といったデバイスモデルの識別子を取得する方法でした。 …
この記事は「Xamarinのカレンダー | Advent Calendar 2014 - Qiita」の10日目です。 Xamarin Advent Calendarは、Xamarinを使ったアプリ開発のTipsが1日1つずつ紹介されています。この記事はXamarin.iOSについて書いていますが、他の方はXamarin.AndroidやXa…
過去にXamarin.iOSとXamarin.Macは別々のコードでメンテナンスされていて、さらに64bit対応されていませんでした。それを受けて、2014年9月に品質管理と64bit対応のため統合された「Unified API」が登場しました。過去のものは「Classic API」という位置付け…
昨日1日Azure Mobile Services(以下、Mobileサービス)からiOSアプリにプッシュが送れない問題で悩んでいて解決しないので、ちょっと問題の切り分けのために現状を書いていきます。 iOSアプリに対してAzure Mobile ServicesのNotification Hubを使ってプッシ…
本記事では、Xamarin.iOSを使ってUIImageオブジェクトをプログラム(コード)だけで動的に生成する基本となる方法を紹介します。Objective-Cで実現する方法については下記の記事をご覧ください。 以下、サイズを指定して空の(または単色の)UIImageオブジェクト…
Objective-Cで画像を保存するにはUIImageWriteToSavedPhotosAlbum関数を使いました。Xamarin.iOSで同じことをしたかったのですが検索能力が低くて該当するメソッドを見つけることができませんでした。 UIImageWriteToSavedPhotosAlbum関数に相当するメソッド…
TinamiをみるアプリをXamarin.iOSで作りました。実験的な作り方をしていて、まだほとんど何もできません(Tinamiのランキングを見て、ふぁぼるくらいです)。 https://itunes.apple.com/jp/app/illust-catcher/id933153646?mt=8&uo=4&at=10l8JW&ct=hatenablog …
Interface Builderを使用せずに、スクリーン上にイメージを表示させる方法です。UIImageViewを生成してUIImageオブジェクトを設定します。 var imageRect = new RectangleF(0f, 0f, 320f, 109f); using (var myImage = new UIImageView(imageRect)) { myImag…
セキュリティ、および節電の為にiPhoneやiPadを放置していると自動ロックがかかり、スリープ状態に突入します。 自動ロック(スリープモード)を無効にする 動画閲覧アプリなど長時間ユーザーが触らないことが想定できます。デバイスを触らずに放置していた際…
日本語で書かれたXamarin.iOSについてのTipsがあまり検索で引っかからないので忘備録代わりにメモしています。基本的時自分用に書いているのでザックリとした記載になっていますが、Xamarin.iOSでなにかやりたいという時の逆引きとして使っていただけると嬉…
下図のように「NotFoundImage.imageset」という名前でAsset Catalog(xcassets)があったとします。 以下のコードでUIImage型の画像オブジェクトを取得することができます。 var defaultImage = UIImage.FromBundle("NotFoundImage"); 関連記事 Xamarin.iOSを…
iOS 8.1が正式にリリースされたタイミングでXcode 6.1へアップデートしました。アップデート後、初めてバイナリ(ipaファイル)をiTunes Connectへアップロードするタイミングで下図のようなエラーが発生しました。 どうしても改善することができなかったので…
iOSデバイスも当初と比較するとiPad、iPod、iPhoneとそれぞれの派生モデルが複数登場してきました。搭載されているメモリや画面サイズなどアプリによって適切な表現方法が異なるケースがよくあります。 Objective-Cを使ってモデル名(機種名)を取得する方法は…