公式に提供されているChrome機能拡張とだいたい同じような使い勝手になっています。 ソースコードはこちら github.com 機能概要 ページ全体の翻訳(Proユーザーのみ) 選択したテキストを翻訳(誰でも) その他のスクリーンショット 📱 iOS app iPad app 💻 Mac app
【注意】この記事で紹介しているSMS APIサービスのVonageは利用規約により認証にVonageの電話番号を利用することを禁止しているという記述があるので、末尾の別解として載せたAndroidデバイスを使ってSMSを転送する方法が良さそうです。 help.nexmo.com 2021年2月から、App Store Connectにログインする際にすべてのApple IDで2ファクタ認証が必須になります。 Starting February 2021, additional authentication will be required for all users to sign in to App Store Connect. This extra layer of security for your Apple ID helps ensure that you’re the only
参考 Testflight build notes via iTMSTransporter [self reloadData];: Automatic app creation and binary upload Command upload App/Ipa to the iTunes Connect App Store Redesign of itunes connect · Issue #38 · kovpas/itc.cli · GitHub TL;DR Xcode(厳密にはApplication Loader)に付属するiTMSTransporterまたはaltoolを使います。 上記のリンク先を見ればだいたいわかります。 altoolのほうが直感的なコマンドで簡単です。 iTMSTransporterはそもそもゲームのアイテムなど大量のIn-App Purchaseのメタデータを
コマンドラインからiOSアプリケーションをiTunes Connectにアップロードする - 24/7 twenty-four seven ↑ こちらの記事で書いたように、コマンドラインからiTunes Connectへのアップロードや、バリデーションができるのを利用して、Travis CIを使ってビルドするたびに自動的にバリデーションを実行するようにしました。 これにより、プライベートAPIを利用していたり、必須なサイズのアイコンやLaunchImageが無いなどの理由でバリデーションエラーになってアップロードが失敗するということが未然に防げます。 ARCを使う場合、ヘッダに載っていないメソッドを呼ぶのはコンパイルエラーになるので、知らずにプライベートAPIを使ってしまうようなことは現在はほぼありません。 しかし、iTunes Connectのバリデーションはあまり賢くないので(おそらく
この記事において利用している.travis.ymlとRakefileの全体はGistにて公開しています。 ↓ Rakefileの全体はこちら gist.github.com/kishikawakatsumi/8918124 ↓ .travis.ymlはこちら gist.github.com/kishikawakatsumi/8918365 概要 ユビレジではiOS アプリを申請する際に発生する作業の大部分をCIで自動化しています。 申請の作業としてユビレジでは下記のワークフローを決めています。 1. リリースブランチを作る 2. リリースするバージョンのバイナリをビルドする 3. 2と同等のアプリケーションを社内に配布して最終チェックをする 4. クラッシュレポートのサービスとしてCrittercismを利用しているので、そこにデバッグシンボル(dSYM)をアップロードする 5. 2のバイ
今年の5月くらいの話なのですが、ユビレジのiPadアプリケーションのプロジェクトで使っているStoryboardを基本的に1画面(≒1 View Controller)の単位に分割するということをしました。 1画面1Storyboardメソッドについてはnakiwoさんが書かれた記事も参考になります。 1画面から始めるStoryboard - Cocoaメモ ↑ 上記の資料はどちらかというとStoryboardを使い始めるにあたって、1画面単位で少しずつ使っていこうという感じですが、ユビレジではもともとほぼ全部の画面がStoryboardになっていました。 ただ複数人で共同作業をするにあたっては、1画面単位を1ファイルにしておくくらいがメンテナンスしやすいんじゃないかなあという結論になったのでしばらくそういうふうに運用することにしました。 また、XIBと違ってStoryboardは単純にコ
iOSアプリケーションでWeb APIから返ってきたJSONを処理するのにNSNullの扱いに困っていて、事前にNSNullを取り除いてしまうのが事故を防ぐための確実な方法なのですが、再帰的にすべての要素を検査する以外になにかいい方法がないかと思って考えていたらちょっとおもしろい方法を思いついたので書いてみました。 kishikawakatsumi/CollectionUtils · GitHub ↑ に含まれるCUCompactArrayとCUCompactDictionaryです。 NSArrayとNSDictionaryのサブクラスとして実装されていて、次のようにして生成します。 (普通にalloc/initを使って生成することも可能です) NSArray *array = @[@"0", @"1", [NSNull null], @"2", [NSNull null], @"3"]
クックパッド主催の第4回potatotipsでiOSのtipsとして日付のフォーマットをするときのパフォーマンスの話をしました。 きっかけ きっかけは何気なくgistを眺めていたときに見つけたこれです。 ↓ Compare the date parsing performance of NSDateFormatter against SQLite's date parser for parsing an iOS 8601 date. NSDateFormatter took 108.163 seconds strptime_l took 21.656 seconds sqlite3 took 7.096 seconds そうそう、NSDateFomatterはけっこう遅いからフォーマットが固定だったりロケール関係ないときはstrptime_l使うよね、アップルのドキュメントにも載ってるし…
CocoaPodsを利用している場合は、PodsディレクトリにPods/Pods-acknowledgements.plistまたはPods/Pods-acknowledgements.markdownが自動的に作成されていますので、それを利用して使用しているライブラリのライセンス表記を自動化できます。 一番簡単なのは設定アプリに項目を設けて表示することです。アプリケーションに画面を追加するわけではないのでお手軽です。 CocoaPodsのWikiにも同様の方法が載っています。 Acknowledgements · CocoaPods/CocoaPods Wiki · GitHub ライセンス表記は使用しているライブラリの構成が変わったときにだけ更新されればいいので、PodFileのpost_installフックで作成されるようにします。 これで`pod install`あるいは`pod
こちらの記事について、最新のTravis CIの環境(2014/4/15)ではコード署名に失敗する問題があります。 その問題の修正については下記の記事にまとめました。 Travis CIでipaを作るときのCode Signが失敗するのを修正したメモ - 24/7 twenty-four seven 実際は完全に移行したわけではなくて、Travis CIの有料プラン(プライベートリポジトリが使える)のフリートライアルを試しているところなのですが、しばらくはTravis CIでCIを動かすことにしたので、そのときの設定などをまとめます。 もともとは社内のサーバでJenkinsをホストしていて、それがダメということは全然ないのですが、社内でサーバをメンテナンスするのも面倒だし、ビルドスクリプトとかをポータブルな状態にしておくのは手元でサクッと実行できたりいろいろ都合が良さそうだと思い、試しにや
年に1度のiOSデベロッパーのイベント「Conference with Developers」で話をしました。 JavaScriptCore.frameworkとObjective-C のRuntime APIという非常にマニアックな内容でしたが、まあまあわかるように伝えられたかなと思います。 話の内容は主に以下の3点です。 JavaScriptCore.frameworkの概要と使い方 Objective-C Runtime APIの活用方法 JavaScriptBridgeの紹介 伝えきれなかったことを補足しますと、JavaScriptBridgeはフルスクラッチで最初から最後まですべてJavaScriptでiOSアプリを書く、という用途のために作られたのではありません。 例としてそういうものを示しているのは、単に例は極端なほうがわかりやすいというだけの理由です。 どちらかというと、週
iOS/AndroidのTips共有会potatotipsでiOSの実行時引数は思ってるより簡単ベンリに扱えるんだよって話をしました。 potatotips (iOS/Android開発Tips共有会) 第3回 ↑ 起動時のオプション引数はiOSだと上図のようにXcodeのスキーマで指定します。 int main(int argc, char * argv[]) ↑ そして普通のUnixプログラムと同様にmain関数のargcに引数の個数が、argvに文字列の配列で入ってきます。 でもGUIの無いコマンドラインのユーティリティプログラムならともかく、iOSアプリでargvをParseして何かするとか面倒なだけだと思っていませんか? 詳しいことはスライドに書いたので端的に言うと、ある規則にしたがうとこの引数は自動的にParseされてNSUserDefaultsに格納されます。 つまりアプリケ
参考 iOS 7 で使えるフォント名一覧 - Over&Out その後 出力の方法 iOS 7からは`kCTFontDownloadableAttribute`という属性が追加されているのでそれを利用します。 この方法で数えると、すべてのフォント数は283になりました。 iOS 7で新たに使えるようになった日本語のフォントとしてはOsakaとOsaka-等幅フォントがあります(追加ダウンロードフォント)。 かつてのMacの日本語システムフォントです。懐かしいですね。 + (void)downloadableFonts { NSDictionary *attributes = @{(id)kCTFontDownloadableAttribute : (id)kCFBooleanTrue}; CTFontDescriptorRef fontDescriptor = CTFontDescript
kishikawakatsumi/SECoreTextView · GitHub iOS/Macの両方で使えて、文字の選択やリンクのクリックに対応したテキストビューをテスト公開しました。 - 24/7 twenty-four seven 前に書いたSECoreTextViewに編集機能を実装しました (iOSのみ)。 SECoreTextViewはCoreTextを使って簡単にクリッカブルなリンクや画像付きのリッチテキストを表示できるテキストビューの代替実装としてのライブラリです。 以前のものはそこそこ簡単に豊かな表現ができるのでこれはこれでけっこう実用的だったと思います。 ↓ このように画像を含めたテキストを表示したり、リンクはクリックに反応して任意の処理をすることができます。 画像に限らず、画面に表示できるものはボタンでもその他のビューでもブロックを渡して任意の描画をすることも可能です
https://github.com/VerbalExpressions/ObjectiveCVerbalExpressions ↑ 本家にマージされました。 https://github.com/kishikawakatsumi/ObjectiveCVerbalExpressions 概要 VerbalExpressions はメソッドチェーンとわかりやすい名前を使って、正規表現を読みやすくしようという試みです。 ↓ オリジナルはJavaScriptのライブラリのようです。 https://github.com/VerbalExpressions/JSVerbalExpressions iOS Dev Weeklyの106号でObjective-Cの移植はまだ無いみたいに書いてあったので、やってみました。 (実際は2つほど先に書かれたものがありました) ↓ 私が書いた Objective
先日のアップデートでOS Xを10.8.4にしてから、XcodeからアプリケーションをiOS Simulatorで実行したときにSIGABRTでアプリが起動せずにクラッシュすることが多くなってしまいました。 私の環境だとアプリを終了させてから再度実行、という手順だと数回に1回、実行中に⌘+Rで再起動という方法だと100%クラッシュしてしまいました。 Developer Forumsの情報からデバッガをLLDBからGDBに変更すると発生しないことを確認しました。 もしくはいったん終了 (⌘+.) させてから再度実行 (⌘+R) する場合は数回に1回くらいの頻度だったので、少し面倒ですがそれでもいいかもしれません。 Xcode 4.6.3 で修正されました。
kishikawakatsumi/SECoreTextView · GitHub SECoreTextView はリッチテキストの表示と文字の選択(現在はOS Xのみ)やリンクがクリック可能だったりするテキストビューです。 別のアプリでテーブルビューのセルにリンクを含むテキストを表示するのに、既存のものでMacで使えるいい感じのものが今ひとつ見つからなかったので書きました。 OS X で使うだけだとなんなので、せっかくだから iOS にも対応してみました。 UITableVIewやNSTableVIewのセルで使うと便利だと思います。 iOS のほうは半日くらいでちょちょっと書いただけなのでおかしなところが結構あると思うので見つけたら教えてください。
kishikawakatsumi/ScreenRecorder · GitHub ScreenRecorder は iOS デバイスの画面を連続的にキャプチャして、動画に変換することで画面の操作を録画することができる機能をアプリケーションに追加します。 開発中のソフトウェアのユーザーテストなどに利用すると効果的です。 使い方 1. 以下のファイルをプロジェクトに追加します Lib/SRScreenRecorder.h Lib/SRScreenRecorder.m Vendor/KTouchPointerWindow.h Vendor/KTouchPointerWindow.m 2. 以下のフレームワークをリンクします QuartzCore.framework CoreVideo.framework CoreMedia.framework AVFoundation.framework sta
iOS 4.0 と iPhone OS 3.x の両方で動作するアプリケーションをビルドする設定 - 24/7 twenty-four seven ↑ こちらも参考に iOS 4.0 が登場したくらいのときに上の記事を書いて、仕組みは変わってないのですけど Xcode 4.x 系だと UI が変わってるので現在のやり方をまとめます。 ベース SDK と Deployment Target を設定する プロジェクトの "Build Settings" で "Base SDK" を "Latest iOS" にします。 前にも書きましたが、ベース SDK は最新を指定したほうがいいです。 プロジェクトの "Info" で "Deployment Target" をサポートする OS の最も低いバージョンにします。 (下の場合は iOS 5.0 以降で動作する。) 今なら、Base SDK 6.
kishikawakatsumi/SymbolFontKit · GitHub ↑ シミュレータに表示されている画像やツールバーのボタン、タブバーのアイコンは全てフォントです。 シンボルフォントとは要するにアイコン画像などをフォント形式にしたものです。 Webだと最近のブラウザだとWebフォントが使えるので、利用者の環境にフォントがインストールされていなくても使えるので、最近は解像度非依存ということもあっていろいろな Github や Twitter などいろいろなサイトで利用されています。 シンボルフォントについて詳しくは下記のリンク先などを見てください。 Ligature Symbols 〜ほんとにべんりなフォントのはなし〜 【完全版】Ligature Symbols フォントセットの自作方法 - くらげだらけ Ligature Symbols で、フォントなのでベクターデータのためど
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く