投稿

vagrant1.8.7で発生するvagrant box addのエラー

vagrantのバージョンを1.8.7にアップデートし、いざboxを追加しようとしたら以下のエラーが発生…。

実行環境macOS 10.12.1vagrant 1.8.7
エラー内容$ vagrant box add laravel/homestead The box 'laravel/homestead' could not be found or could not be accessed in the remote catalog. If this is a private box on HashiCorp's Atlas, please verify you're logged in via `vagrant login`. Also, please double-check the name. The expanded URL and error message are shown below: URL: ["https://atlas.hashicorp.com/laravel/homestead"] Error: 

対策 以下のCurlを一度削除するとうまくいくらしい。
$ sudo rm -rf /opt/vagrant/embedded/bin/curl
元ネタ【1.8.7 fails to download or update boxes】
https://github.com/mitchellh/vagrant/issues/7969

brewでphp7をインストールした際のエラー対応

1. brewコマンドでPHP7をインストール vagrant $ brew install homebrew/php/php70 ==> Tapping homebrew/php Cloning into '/usr/local/Homebrew/Library/Taps/homebrew/homebrew-php'... remote: Counting objects: 658, done. remote: Compressing objects: 100% (426/426), done. remote: Total 658 (delta 375), reused 410 (delta 230), pack-reused 0 Receiving objects: 100% (658/658), 301.89 KiB | 319.00 KiB/s, done. Resolving deltas: 100% (375/375), done. Checking connectivity... done. Tapped 633 formulae (673 files, 1.2M) ==> Installing php70 from homebrew/php ==> Installing dependencies for homebrew/php/php70: libpng, freetype, gettext, icu4c, jpeg, libxml2, unixodbc ==> Installing homebrew/php/php70 dependency: libpng ==> Downloading https://homebrew.bintray.com/bottles/libpng-1.6.25.sierra.bottle ######################################################################## 100.0% ==> Pouring libpng-1.6.25.sierra.bottle.tar.gz 🍺 /usr/local/Cellar/libpng/1.6.25: 25 files, 1.2M ==> Inst…

iOSアプリが突然アップロードできなくなった時の対応(Missing iOS Distribution signing identity for xxxxx)

先日(2/15)iTunesStoreにアプリをアップロードしようとすると以下のエラーが出力され、アップロードできなくなったので、対応内容をメモ。
【エラー内容】
Missing iOS Distribution signing identity for xxxxx

【対応】
1.  以下の証明書をインストール
  https://developer.apple.com/certificationauthority/AppleWWDRCA.cer

2. Xcodeを再起動したり、クリーンしたりしてアーカイブ
3. iTunesにアップロード

【参考】
http://stackoverflow.com/questions/32821189/xcode-7-error-missing-ios-distribution-signing-identity-for/35406327#35406327

HealKit HKObjectType 一覧

イメージ
iOS8からHealthKitが使用できるようになりました。このHealthKit使用することで様々なヘルスデータを管理できます。これらのデータへアクセスする場合、アプリ内で各データへのアクセスをユーザーに確認しなければなりません。確認するには以下のメソッドを使用するのですが、アクセスするデータのタイプがわかりにくかったので一覧にまとめてみました。
※確認を行った端末はiOS8.2になります。

HealthKitデータへのアクセス確認メソッド - (void)requestAuthorizationToShareTypes:(NSSet *)typesToShare readTypes:(NSSet *)typesToRead completion:(void (^)(BOOL success, NSError *error))completion;

HealthKitデータへのアクセス確認画面


HealthKitデータタイプ一覧 QuantityTypeIdentifier表示名HKQuantityTypeIdentifierBodyMassIndexボディマス指数(BMI)HKQuantityTypeIdentifierBodyFatPercentage体脂肪率HKQuantityTypeIdentifierHeight身長HKQuantityTypeIdentifierBodyMass体重HKQuantityTypeIdentifierLeanBodyMass除脂肪体重HKQuantityTypeIdentifierStepCount歩数HKQuantityTypeIdentifierDistanceWalkingRunningウォーキング+ランニングHKQuantityTypeIdentifierDistanceCycling自転車の走行距離HKQuantityTypeIdentifierBasalEnergyBurned基礎代謝量HKQuantityTypeIdentifierActiveEnergyBurnedアクティブカロリーHKQuantityTypeIdentifierFlightsClimbed上った回数HKQuant…

Undefined symbols for architecture arm64

イメージ
cocoapodsを久しぶりに使用したら以下のエラーが出た。

Undefined symbols for architecture arm64:
  "_OBJC_CLASS_$_AFHTTPResponseSerializer", referenced from:
      objc-class-ref in xxxxxxxxxxx.o

うーん。
どうやらPodsで作成されたライブラリ(.a)とアプリとで、『Architecture』違うぞって言われてる模様。

試行錯誤した結果、BuildSetting -> Architecture の『Standard architectures ( including 64-bit) (armv7,armv7s,arm64)』を『Standard architectures (armv7,armv7s)』に変更するするとビルドエラーを回避できました。

※ 上記では、アプリ側のArchitectureを変更していますが、逆にPodsプロジェクトのArchitectureにarm64を追加することでもビルドエラーを回避することができます。


【Xcode5】 run script の追加方法

イメージ
Xcode5から『Run Script』の追加方法が変更になったようです。
個人的に少しテンパったので手順を残しておきます。


① まず、『Add Target...』を選択します。


② 『Aggregate』を選択し、Target名を指定します。

③ 『Build Phases』タグを選択します。
④ メニューのEditaor > Add Build Phase > Add Run Scropt Build Phaseを選択します。

⑤ Run Scriptが作成されます。



appledocの導入方法

イメージ
何度か使用しているappledocなのですが、毎回導入手順等の記録を疎かにしてしまうので、ここらで私なりの手順まとめてみようと思います。
 1.そもそもappledocって何?  appledocを使用すると、ソースコードのコメントからAPIドキュメントを自動生成することができます。Apple社のリファレンスに似せたドキュメントが生成されるため、iOS等の技術者に取っ付きやすいフォーマットで出力されます。JavadocのObjective-c版という感じでしょうか。
2.導入手順  2-1.appledocのインストール  いろいろ手順はあるのですが、今回はGithubからソース取得&コンパイルしてみます。 ソースのダウンロード  git clone git://github.com/tomaz/appledoc.git
ダウンロードできたらコンパイルします。  shdo sh install-appledoc.sh
これでappledocコマンドが実行出来ます。
 2-2.Xcodeからappledocを使用する  ターミナルからもappledocを使用できるのですが、コードを修正する度(APIリファレンスを作成する度)にコマンドを叩くのは若干手間がかかります。ですので、Xcodeから実行出来るようにしてみます。  まず、プロジェクトを選択し、画面下のAddTargetを選択してAggregateを作成します。すると作成したTarget(Scheme)が追加されます。  追加したTargetを選択し、画面右下の『Add Build Phase』の『Add Run Script』を選択します。






Run Scriptに以下のScriptを入力します。(Ctr+zの戻るコマンドは使えないので注意!!) appledoc --project-name [プロジェクト名] --project-company [会社名] --company-id [会社のID] --create-html --no-create-docset --output  [アウトプット先]  [ソースコード場所]


以上で、HtmlやXcodeから参照できるDocsetを出力できます。
細かいオプションについては、述べませんでしたが…、機会があればいずれ記事を書ければと思います。


今回、実装した開発環…