サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
コーヒー沼
www.zero4racer.com
親指シフトについて 日本語入力には色々方法があり、一般的に使われるローマ字入力や、かな入力に加えて、親指シフト入力というものがあります。これは左右の親指にそれぞれシフトキーを割り当てて、それぞれの親指を押した時に、キーの入力する文字を変化させる方法です。わたしは下のブログ記事にありますが、2014年に始めました。最初の1ヶ月くらいはローマ字入力よりかなり遅くても無理して使ったいたのですが、1ヶ月くらいでそれほど変わらないスピードになり、1年くらいでローマ字入力よりも早くなりました。 ブログ書いた→ Mac・英語キーボードで親指シフト初めてみた[配列表あり] – Zero4Racer PRO Developer's Blog http://t.co/3nfbw9gXdI — Tomohisa Takaoka (@tomohisa) July 8, 2015 親指シフトをほぼ5年使った今の感想
Swiftでの開発環境 Swiftでボットを作るためのフレームワークをオープンソース化しました こちらの記事でオープンソースSwiftでの開発を始めているのですが、最初あまりにも試行錯誤だったので、まとめの情報を書いておきたいと思います。僕もわからないことばかりで、試行錯誤中なので、この方法がいいよというのがあったら教えてください。 ビルドの環境を整える まずはSwiftのコンパイラなのどのビルドの環境が必要です。オープンソースのSwiftは、現在6月のWWDC、9月の次期iOSを目標にSwift3.0の実装が行われていますので、月に2度のスナップショット毎に、昨日が少しずつ追加されています。そのため、複数のビルドを使い分ける環境にするkylef/swiftenv: Swift Version Manager をインストールします。 Homebrew でインストール $ brew inst
Swift がオープンソース化して、Linux、OSX両方で動くコードを書けるようになったので、Slackのボットに挑戦してみました。 tomohisa/SwiftSlackBotter: Bot Framework for Swift Linux Command Line 以下はReadmeの意訳です。 SwiftSlackBotter SwiftSlackBotter はLinux、OSXで動くSlackボットのためのフレームワークです。 J-Tech Creations, Inc. により作成されました。 SwiftSlackBotter はSwiftのための Slack Bot フレームワークです。オープンソース版の DEVELOPMENT-SNAPSHOT-2016-02-08-a Swift を使用する必要があります。Zewo フレームワークのバージョン 0.3、Environ
はじめに 僕は家で作業することが多いので、4畳半のスペースをホームオフィスにしています。引っ越す前もIKEAでホームオフィスを作ったのですが2年半前に引っ越して、一から作り直しました。 引っ越す前の最初のオフィスがこちら自宅作業が多い方にオススメ!IKEA で作った快適自宅オフィス | 引っ越した後の途中経過がこちら4畳半のスペースにIKEAで作った!見えるところにものを置かない、快適ホームオフィス空間 | ホームオフィスのコンセプト 前のブログ記事にも書いたのですが、ホームオフィスのコンセプトはこのような感じです。 シンプルで見えるところに物を置かないミニマルデザイン できるだけデスクを広く ケーブルなどがごちゃごちゃしない 以上に加えて健康のことも考えて以下を追加しました 立ちながら仕事できるスタンディングデスク スタンディングだけではなくて座っても作業できる プリンタなども含めてすっ
ガジェットや最新のテクノロジーニュースを扱ったPodcast番組,backspace.fm ちょっと前ですが,日本語入力の入力方法の親指シフトが紹介されていました。B-side #018: 親指シフト vs ローマ字シフト – backspace.fm ずっと試してみたいと思っていて,ついに試せたので,備忘も兼ねてブログに残しておきます。 Mac 英語キーボードでの導入方法 基本的にMacのUSキーボードで親指シフト入力する方法 – Qiita こちらの説明どおりに導入しました。Karabiner – OS X用のソフトウェア こちらのソフトで使用するキーバインドの設定ファイルを作成してアプリから設定を有効にしたら使用可能になります。 Macの英語キーボードの場合,日本語入力とアルファベット入力を切り替えるキーがありません。それで同じくKarabinerの標準である設定で,左右のコマンドキ
ThumbFan Keyboard 1.0.1がリリースされました。 今回のアプリでの変更点を見ながら、iOSキーボードやiOS8開発の技術についてまとめておきたいと思います。 関係ないですが、最近カメラとレンズを新しくして、夕日が綺麗だったので写真撮ってみました。 Keyboardアプリの設定保存 前提として、iOSキーボードアプリは、iOS8より使用可能になった、Extentionという技術を用いて作成可能です。日本語ドキュメント – Apple Developer こちらにも、日本語訳された、App Extensionsプログラミングガイドがあり、英語を読まずに多くの情報を得ることができます。Extension(キーボードやNotificationウィジェットなど)は大元のアプリとは別領域で動くもので、通常状態ではホストアプリケーションと情報を共有できません。 こちらのApp Ext
iOS8でエクステンションの機能が追加されて何か作ってみたかったのと、iPhone 6 Plusの大きさによる不便さを解決したいという理由で、片手親指キーボードをつくってみました。 片手UIについて 片方に寄せるキーボードは他にも幾つかあるのですが、実際に片手で使おうとすると、縦横のキーボードの一部を親指でクリックするのは難しいので、親指の回転に合わせて扇型にキーを配置しました。 左右にキーを動かせるようになっているので、右手左手両方使うことできたり、キーボード閉じるボタンを常に表示していたり、横向きにすると右手左手両方に扇型のキーボードが出てきたりという感じの面白い動きになっています。また、キーボードエクステンション内で全ての動作を終わらせていて、親アプリとのデータの交換もしていないため、フルアクセスを必要としていません。 実際にタイプしている様子はこちら。ビデオ撮りながら打っているので
まえから、型チェックをした上でプロパティ名を文字列化したいと思っていました。 @interface MyClass @property (nonatomic, strong) NSString * myPropertyName; @end @implementation MyClass -(void) myFunc { self.myPropertyName = @"abc"; NSString * property = NSStringFromSelector(@selector(myPropertyName)); // myPropertyName が出力される NSLog(@"%@", property); // abc が出力される NSLog(@"%@",[self valueForKey:property]); } @end これだと、SEL型から名前をえることが出来るのですが
Swift&Obj-C&Xcode開発周り勉強会 – 0x02 の実況ツイートまとめ #fukuObjC – Togetterまとめ 久しぶりにiOS開発の勉強会に出てみようということで、福岡では出たことなかったのですが参加してみました。 Swift&Obj-C&Xcode開発周り勉強会 – 0x02 on Zusaar せっかくですので新しいものをやってみて登壇しようと思い、関心のあったReactiveCocoaの勉強してサンプルアプリを作って、iOSアプリを綺麗に作る方法についてまとめてみました。 ReactiveCocoaは面倒ですけど、ちゃんと作れば良いプログラムが出来るのは間違いないのでどんどん取り込んでいきたいと思います。SwiftでのFRPも調査していきたいですね。 福岡の勉強会初めてでましたが、他の発表も面白かったです。Swiftはこういう勉強会で軽く見ながら実践投入する段
ちょっと遅れた話題ですが、libextobjcライブラリを使用して、weak変数を使う方法があることを知ったので調査してみました。 これまでの記述法と問題点 これまでわたしは、この記事ARC+Blocks+llvm4.0時代のコード記述作法 | Zero4Racer PRO Developer’s Blog で書いたルールにしたがって、ivar(クラス内の変数)を基本的に使わず、block内で使用する場合に、weak化して使用する方法を使ってきました。WEAKSELFMAKE;というマクロを作成して、selfのマクロを作成しています。 #define WEAKSELFMAKE __weak typeof(self) wself = self 使用する時は、 { WEAKSELFMAKE; SomeViewController *controller = [self.storyboard i
1つのプロジェクトに複数のターゲットを作成している時に起きる問題のようで引っかかったのでメモ。 File not found エラー cocoaPodsを導入して、podsで導入したフレームワークのヘッダーファイルが読めずに、 19:9: fatal error: ‘RestKit/RestKit.h’ file not found のようなエラーが出ました。 ヘッダーファイルが見つからないんですね。”pod install”をした時に出たエラーを見て、 [!] The target `******** [Debug]` overrides the `HEADER_SEARCH_PATHS` build setting defined in `Pods/Pods.xcconfig’. – Use the `$(inherited)` flag, or – Remove the build
TweetOverview 2.0.2 がリリースされました。 iTunes の App Store で配信中の iPhone、iPod touch、iPad 用 TweetOverview ツイート俯瞰デスクサイドアプリ TweetOverviewはiOS 7限定でアップデートしたのですが、iOS7限定にして、iOS7の最新機能を出来るだけ取り込むためにそうしました。その一つがTextKitです。「上を目指すプログラマーのためのiPhoneアプリ開発テクニック iOS 7編」を書きました[内容紹介あり] | Zero4Racer PRO Developer’s Blog こちらのリンクにもある、iOS7の解説本を書くためにいろいろテストをした機能を使って作成しています。 どのように使用しているかと言うと、まず、ツイート一覧画面での各ツイートですが、今までは複数のUILabelをレイアウト
UIWebViewが編集中かを確かめる方法がStackoverflowにもはっきりと分かりやすいのがなかったので備忘で書いておきます。UITextViewだと [textView isFirstResponder] で編集中か分かるのですが、UIWebViewの場合は、内部にある要素の一部が編集中になるため、webView自体のisFirstResponderはfalseが帰ってきます。 それで、再帰的に内部を確かめてどれか一つの要素が編集中かを確かめるメソッドがこちら。 使う時は、 if([webView isFirstResponderRecursive]) のように使うことが出来ます。
TweetOverview 2.0.0 がリリースされました。 iTunes の App Store で配信中の iPhone、iPod touch、iPad 用 TweetOverview ツイート俯瞰デスクサイドアプリ これまでのバージョンがiOS7でちょっと不具合があり、修正しようと思ったところ、ここもなおそう、あそこもなおそうとやっていたら、ほぼ書き直しになってしまいました。前バージョンではUITableViewを使用してスクロールしていたのですが、これがデータが多くなるとパフォーマンスも落ちますし、また検索ストリームにあまりにたくさんのツイートが入ってきた時に安定性が悪いという問題がなかなか解決しませんでした。 これを解決するためにUICollectionViewを使ってみたのですが、やはり完全に綺麗にスクロールさせつつパフォーマンスを維持するのが難しかったので断念しました。そこ
追記:2015/8/14 さらに改善した新しいオフィスの記事はこちらIKEAの家具で作った!スタンディングで作業できるヘルシーホームオフィス | 以前アメリカにいた時のホームオフィスの記事自宅作業が多い方にオススメ!IKEA で作った快適自宅オフィス | Zero4Racer PRO Developer’s Blog が人気だったので、日本に引っ越してきて新しく作り直したホームオフィスも記事にしてみます。 引越前のオフィスはこんな感じでした。 以前のホームオフィス これはこれで気に入っていたのですが、やはりちょっと見た感じですっきりしていないのと、やはり電子機器が多いのでケーブルが多いのが気になっていました。写真とる時はケーブルを整理して撮るのですが、通常モードになると、どうしてもデスク中にケーブルが広がります。また、テーブルのスペースがやはりたくさんあると資料をいろいろ並べてみたり、一時
Objective-Cでクラスを作る場合は、他のクラスからアクセスさせたくないプロパティはクラスエクステンションにして、自クラスだけでアクセス出来るようにします。こんな感じです。 PCEBaseClass.h モジュールはこんな感じです。 PCEBaseClass.m こうすることによって、notesというプロパティは、参照するクラスからは変更されたくないので、ヘッダーにはreadonly,クラスエクステンションでは、readwriteで定義することによって、クラス内で変更可能です。 booksというプロパティは、クラス内ではNSMutableArrayとして振る舞いたいけれども、対外的には変更してほしくないので、NSArrayとして返しています。booksと別のbooksInternalという内部用プロパティをNSMutableArrayで定義して、内部ではbooksInternalにア
iOS4でiOS SDKにも追加されたBlocksは、いまでは多くのiOS標準ライブラリで使われています。バックグラウンドで作業を行わせて、作業が終わったときのコールバックや結果を取得する事が出来ます。確かに、スムーズなUIを実現するのに便利なのですが、ときどき、プログラムの流れを崩したくないので、順序立てて動作してほしいと思うときがありますね。例えば、ALAssetで画像を取得するときも、画像を順番にアップロードしたいなどの要望があります。そのときにALAssetをsyncronizeに取得するメソッドを書きました。 ポイントがいくつかあります。 Dispatch Semaphore エキスパートObjective-Cプログラミングの説明を引用すると、 Dispatch Semaphore は、マルチスレッドプログラミングでは計数型セマフォとして知られるカウンタを持ったセマフォです。セマ
追記 2013/3/21:詳細の目次情報を別エントリに追加しました。「iPhoneアプリ開発エキスパートガイド iOS 6対応」詳細目次の紹介 | Zero4Racer PRO Developer’s Blog 長い執筆期間が終わってもう少しで発売になります。わたしを含むiOS5プログラミングブックの執筆陣による、iOS6の最新機能を含む活用方法が書かれた書籍です。 Amazonからの内容紹介と目次はこちらです。 最前線のエキスパート陣が、渾身の力でまとめた必携の書! 新しく搭載された各種フレームワークの使いこなしはもちろん、従来機種から最新のiPhone5まで、iOS 6ならではの開発テクニックを満載しています。 柔軟でなおかつ効率的なUI設計、Storyboardの徹底活用から各種フレームワークの使い分け、PassbookやiAdの全体像、Bluetooth Smartの応用など、最新
備忘として記録しときます。iOSでNSURLRequestを使用したて、PostでPostBodyを設定したときに、timeoutIntervalを設定たらタイムアウトが240秒固定になってしまう以下に設定出来ない仕様(バグ)があったのですが、iOS6では改善されているようです。ちなみに標準のタイムアウトは60秒です。 iphone – NSURLConnection timeout? – Stack Overflow それをふまえて、AFNetworking でのタイムアウトの設定方法です。 Added timeoutInterval to AFHTTPClient by Shukuyen · Pull Request #133 · AFNetworking/AFNetworking ここで、タイムアウトの設定の仕方が説明されています。iOS5以前では、NSMutableRequestの
Appleのサンプルコード、iAdSuite を見ていたら見慣れない表現が出てきたので、調べて見ました。 @implementation TextViewController - (instancetype)init { self = [super initWithNibName:@"TextViewController" bundle:nil]; if (self) { //... } return self; } こんな感じ、”- (instancetype)init”と書いているのを見て、なんで”-(id) init”じゃないのかなと思いました。 調べてみると、Clang Language Extensions — Clang 3.3 documentation clangのドキュメントによると、 A method with a related result type can be
tomohisa/JTCAdBaseViewController · GitHub 自作の広告表示ライブラリです。主な機能としては、 上下自由に広告を配置 コンテンツViewControllerのサイズを、広告によって自動選択 BOOLプロパティで、広告のオンオフをアクティブに設定可能 Admob, iAdの優先順位(初期表示)を設定可能 AdMob, iAd表示エラーが出たらもう一方に切り替え可能 回転にも対応 というものです。 Youtubeサンプル 今回の修正で、 iOS6のiAdの修正対応 AdMobの最新版を組み込み XIBを使用するサンプルを作成 AutoLayoutを使用するサンプル作成 ナビゲーションコントローラ内に広告を表示するサンプルを作成 NavigationController内の広告 このような感じで広告が表示できます。 Cocoa Controlにも登録されまし
忘れないように記録しときます。 Design matters: Fixing double entries in “Open with” menu under Mac OS X こちらのリンクその他いくつかのリンクで紹介されていました。 Terminal を開く 僕はSpotlightから、起動しています。 以下のコマンドを実行 /System/Library/Frameworks/CoreServices.framework/Frameworks/LaunchServices.framework/Support/lsregister -kill -r -domain local -domain system -domain user コマンド実行 再起動する わたしの場合は再起動して修正が有効になったのを確認しましたが、ログアウトでも良いと思います。 OSX 10.5 以降で使えるらしい
【注意】LINEが勝手に電話帳を同期して友達を増やすバグアップデートで被害者多数の模様 – Togetter この記事を読んですぐに、「これはおそらくAndroidでの状況だろうな。」と思いました。調べてみると確かにAndroid版でのバグのようです。Android版「LINE」で電話帳データが強制的に同期される不具合 -INTERNET Watch これは、iOSとAndroidのセキュリティの設計思想が関係しています。 わたしは仕事でiOS、Android共にアプリ開発をしていますが、Android開発の際にアプリのパーミッション(権限)で気になる点がありました。Androidのアプリではアプリの設定ファイル(AndroidManifest.xml)に、アプリが使用したい情報を記述します。例えば、”READ_CONTACTS”をONにすると、そのアプリでの連絡先へのアクセスを求めます。
iOS6のサンプルプロジェクトを使ってて挙動が違ったのでメモ。iOS5までのAutoResizingの場合、viewDidLoad時は正しいサイズがかえってこないという現象がありました。viewDidLoad後に、ツールバーのサイズなどを含めてAutoResizingを行うためです。AutoLayoutの場合、viewWillAppear後に、viewの位置決定が行われるようです。 - (void)viewDidLoad { [super viewDidLoad]; NSLog(@" viewDidLoad %@",NSStringFromCGRect(self.scrollView.frame)); } - (void) viewWillAppear:(BOOL)animated { [super viewWillAppear:animated]; NSLog(@" viewWillAp
基本的なことですが、UIWebViewからdelegateを使って機能を呼び出す簡単な方法があったので共有します。こちらのリンクからの情報です。 iphone – How to change a javascript alert box title into an UIWebView? – Stack Overflow まず UIViewに表示するHTMLから。こちらではローカルのファイルを使いましたが、通常のWebサイトでももちろん可能です。 ここで、onClick (イベントでなくても、任意の JavaScriptでOK)から、 document.location='app://alert'; や、 document.location='app://actionSheet'; などのコードを実行しています。この際、WebViewは、ページがかわる許可を得るために、UIWebViewDe
Objectified 10月29日に、Appleのトップの人事の変更が発表され、これまでiOSのソフトウェアを管轄していた、Scott ForstallさんがAppleを去り、それによってトップの人事が変更されたことがプレスリリースにのせられました。 Apple – Press Info – Apple Announces Changes to Increase Collaboration Across Hardware, Software & Services この後の人事をまとめたもので一番分かりやすかったのがこちらの記事、Apple’s Reorganization Goes Deeper Than Just Who’s In Charge – Mac Rumors で、このようにまとめられていました。 There’s a long-standing pattern of sepa
追記: 2013/2/22 見開きの方向だけではなくて縦に表示する方法も書きました。 本日、MacBook Pro with Retina Display 13インチ、Mac mini, iMac, iPad 4th Generation, iPad Miniと、多くのハードウェアが発表されました。Apple – Apple Events – Apple Special Event October 2012 ソフトウェアのアップデートで、日本語の縦書きがサポートされたことも発表されました。 が、しかし、iBook Storeには、日本語の縦書きの本は見つかりませんでした。epub 3.0で対応された縦書きの方式で書き出されている必要があり、縦書きで実際に本を読むまで一苦労だったのでまとめてみました。 まず、ePubのデータを探してみました。 みんなで作るePubファイル投稿・共有サイト(ベ
追記:テストの際の勘違いで、iOS5ではクラッシュしてしまいます。iOS5でテストしたつもりのデバイスが、既にiOS6にアップしていました。間違った情報を流してしまい、申し訳ありません。指摘して下さった、内田宏基@東京都 (_danwaneji)さんにも感謝します。 うーん、Storyboardのこれ、iOS5.1のデバイスで実行するとクラッシュしなかったっけ。 >iOS5でも使えるXcode4.5の新機能、StoryboardでのContainer Viewが便利!zero4racer.com/blog/942 @tomohisa さんから — 内田宏基@東京都さん (@_danwaneji) 9月 25, 2012 Xcode4.5使っているでしょうか?iOS6/iPhone5対応のために使わざるを得ないという方も少なくないと思います。多くの新機能は、iOS6以降のみの機能のため、iO
Lead Developer of J-Tech Creations, Inc. http://www.jtechs.com/ We make iOS App, Android App, PHP Web and InDesign PlugIn. Developer of Zero4Racer PRO. J-Tech Creations, Inc. 主任開発者. iOSアプリ開発者。Zero4Racer PRO, TweetOverview などを開発。iOS5プログラミングブックの執筆。cocos2d本の監修。ObjC/C/Cake PHP/Yii/Box2d/JS/C++/C#
次のページ
このページを最初にブックマークしてみませんか?
『Zero4Racer PRO Developer's Blog – iOS, Mac 技術情報サイト』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く