著者アーカイブ 村上

村上 著者:村上

【イベント】ビジネスマッチングフェア in Hamamatsu 2018 が無事終了しました

7月11日、12日の2日間にわたって開催された「ビジネスマッチングフェア in Hamamatsu 2018」ですが、無事終了しました。
ご来場くださった皆様ならびに当協会のブースに足を運んでくださった皆様、誠にありがとうございました。
なお、主催者の浜松信用金庫様から頂いたメールによると、2日間の来場者は下記のとおりでした。

1日目(7/11)  3,950人
2日目(7/12)  3,650人
2日間合計    7,600人

やはり2日目はお昼ごろの豪雨の影響か、1日目より少し少ないですね。
室内のため、雨が降っていることに全く気が付かず、外に出たらしい社長に「外凄い豪雨だよ」と聞いて驚きました。
ですが、一時的だったようで、私が昼食をとりに行ったときは小雨になっていました。
2日目は授業の一環なのか高校生のご来場もあり、その時に土砂降りでなくてよかったと思います。

 

また、2日目は少し余裕があり、同じ協会内のブースで気になった展示を見せてもらいました。
特に、モアソンジャパン様の展示されていた「スマートグラス」が興味深かったですね。
実物を見たことがなかったので、興味津々で「これ掛けてみて良いですか!?」と。
画面と目の距離が近いからなのか、予想以上にはっきりとした映像でした。
また、VRゴーグルのように目がチカチカする感じもなく、かなり快適でしたね。
是非これでカーナビを使いたい…!

 

ちなみに、今日のブログのトップ画像は打ち上げで訪れた「マインシュロス」のお料理です。
ソーセージ美味しかった!

村上 著者:村上

【イベント】「第12回ビジネスマッチングフェア in Hamamatsu 2018」の1日目が終了しました

私が事務局として参加させている浜松ソフト産業協会が参加している「ビジネスマッチングフェア in Hamamatsu 2018」が本日開催され、1日目が無事終了しました。

ビジネスマッチングはままつとは、「マッチング名鑑」に掲載されている事業所同士のビジネスマッチングを常時実施する通年事業です。
その中で、「ビジネスマッチングフェア in Hamamatsu」とは、商談機会創出のメインイベントになります。
なお、主催は浜松信用金庫です。

ビジネスマッチングフェアについて、公式サイトはこちらから。

ビジネスマッチングはままつ[マッチング名鑑]公式サイト
http://www.hamamatsu-bmf.jp/

 

今日は時間がなかったので会場を回れませんでしたが、ソフ協はカフェブースを設置していたため、会員企業のお知り合いの方が向こうからいらしてくださり、色々な方とお話しできました。
また、ご来場者が落ち着いた時間帯には、ブース出展しているソフ協会員の方々が休憩としていらしてくれるので、そのときに雑談をさせていただくこともできました。
隣のブースのシーポイントラボのブースに立ち寄ってくださった方もいらっしゃり、数回ですが出展内容について簡単にご説明させていただく機会もありました。
が、まだまだ説明が下手だと再認識する結果に。
こればかりは経験を積む必要があるので、こういう出展の時に頑張ってチャレンジしたいと思います。

 

なお、ビジネスマッチングフェアは明日が最終日です。
立ちっぱなしは辛いので折を見て休憩しつつ、明日も精一杯頑張りたいと思います。

村上 著者:村上

【アプリ】料理の写真を送るとカロリーや脂質などがわかる「カロミル」

先日、興味深いアプリを見つけたのでご紹介。
ライフログテクノロジー社が提供している「カロミル」という、食事や運動の記録・管理に対応したヘルスケアアプリです。

【カロミル】人工知能(AI)がダイエットと健康管理をサポート
https://calomeal.com/

読んだニュースによると、自社開発の食事画像解析AIを活用し、識別できる料理品目が約5200品目になったと発表されました。
これにより、食事を解析できる一般料理のカバー率が90%を超えたとのこと。
なお、今秋には、1万品目を達成する予定とのことでした。
ニュース記事についてはこちらから。

食事記録を手軽に–ダイエットアプリ「カロミル」、食事画像解析AIで5200品目を識別 – CNET Japan
https://japan.cnet.com/article/35122061/

 

実をいうと、平日は朝食を抜いてしまっているので、毎日の食事記録にはそこまで関心がないのですが、食べた料理がどのくらいのカロリーかがわかるというのは興味深いですね。
アプリ自体もインストールしてみましたが、LINEのアカウントでも、料理の画像を送ると料理名やカロリー、脂質などを認識してくれるというので、先に試してみました。

ちなみに送信したのは私が作ったカオマンガイ風のご飯です。
品目名は「海南チキンライス」なっていますが、鶏肉とご飯は識別できています。
カロリーは計算していないのでわかりません。

お手軽にどのくらいの精度かを知りたい場合は、LINEアカウントを友達追加するのがおすすめですね。
また、私のように毎日の食事の記録までは取らないけど、この料理はどのくらいのカロリーなのかを知りたいという場合には、LINEの機能を使うのが便利だと思います。

村上 著者:村上

【Xcode】「Profile doesn’t match the entitlements file’s values for the application-identifier and keychain-access-groups entitlements.」エラーの対処法

今回は、Xcodeでアプリをリリース用のビルドを行なっているときに遭遇したエラーについてです。
他のアプリを同じようにリリース・ビルドするときにも遭遇したので、今後の自分のためにまとめました。

エラー文はこちら。

Profile doesn’t match the entitlements file’s values for the application-identifier and keychain-access-groups entitlements.

Google翻訳で訳したところ、「プロファイルは、アプリケーションIDおよびキーチェーン・アクセス・グループのエンタイトルメントのエンタイトルメント・ファイルの値と一致しません。」とのこと。
つまり、署名の設定のどこかが間違っているようでした。
ふわっとした把握で申し訳ない!

 

で、解決方法ですが、下の画像の設定を確認します。

TARGET ではなく PROGECT のBuild Settings を開いてください。
そうすると、青く選択されている箇所「Provisioning Profile(Deprecated)」の設定値を確認します。
私の場合、デフォルトだと、Automatic という値が入っていましたが、こちらを正しい Provisioning Profile に変更します。

あとは、いつも通り、Archive を行います。
それが完了すると Organizer が自動起動するので、Validate を実行します。

設定前では、下記の箇所で、エラー文が発生したため先の処理を行えなかったのですが、きちんと設定したため、今回は問題なく実行できました。

 

以上、アプリの署名に関するエラーの対処法でした。
発生するようになったのは、Xcodeをアップデートしてからな気も…?
…Xocde不用意なアップデートは避けましょう。

村上 著者:村上

【Swift】「Unexpectedly found nil while unwrapping an Optional value」エラーの対処法

最近、iOSアプリ開発に関する記事ばかりですが…今日も今日とて、アプリ開発中に遭遇したエラーについてです。

エラー文はこちら。

Unexpectedly found nil while unwrapping an Optional value

Google翻訳を使って翻訳したところ、「オプショナル値をアンラッピングしている間に予期せずnilが見つかりました」とのこと。
ある程度アプリ開発をしている人なら原因はすぐに分かるか、もしくはそもそもこのエラーが発生しないように対処済みかと思います。
が、Swift 初心者だと、オプショナル型が理解しづらく(実体験)、なかなかハマったのでまとめます。

 

今回参考にさせていただいたサイトはこちらから。

どこよりも分かりやすいSwiftの”?”と”!” – Qiita
https://qiita.com/maiki055/items/b24378a3707bd35a31a8

まずオプショナル型がイマイチわからない…という人は、この記事よりもこのリンクを読みましょう。

 

さて、対処方法ですが、まずエラーが発生したコードがこちら。

var title: Sting! // オプショナル型

/* 何らかの処理 */

print(title!);

簡単に説明すると、上記のコードの title という変数は、nil(null)を代入できるオプショナル型です。
非オプショナル型と違い、代入された値がラップ(包み紙)に包まれています。
これのおかげで、nil を扱うことができています。
で、この変数にタイトルのテキストを代入するなどの処理を行い、結果を print() で出力しています。
が、このとき、何らかの原因で、title変数に値が代入されないことがあります。
そして、中身が nil の状態で、包み紙を剥がすアンラップの処理を行うと、エラーが発生します。
このエラーが、今回紹介した「Unexpectedly found nil while unwrapping an Optional value」です。

これを解決するために、アンラップの処理を下記のように変更します。

// 変更前
// print(title!);

// 変更後
if let unwrap_title = title {
    print(unwrap_title)
}
else {
    print("値が代入されていません")
}

なお、この方法を「オプショナルバインディング」と言います。

簡単に解説すると、新しいコードでは、まずオプショナル型の変数を if 文以降の定数に代入しています。
その結果が nil でなかれば、if 以下の処理が実行されます。
一方で、title を代入した定数が nil であれば、else 以下の処理が実行されます。
なお、title の値は unwrap_title に代入されていますので、こちらを利用します。
処理としては以上です。

 

最初に紹介したアンラップ方法は、「強制的アンラップ」といい、文字通り代入された値に関係なくアンラップの処理を行います。
この方法は、絶対に nil が代入されない変数に対してのみ使うようにしてください。
そうでなければ、オプショナルバインディングを使うことを強く推奨します。

私も最初はオプショナル型が全く理解できず、かなり苦労しました。
個人的には、実際にコードを書いてみて、どういうときにプログラムが落ちるのかを体験するとわかりやすいかなと思います。

村上 著者:村上

【Chrome拡張機能】表示されている画像のEXIF情報を手軽に確認できる「EXIF Viewer」

最近は使わないのですが、以前インストールしてそのままになっていた拡張機能をご紹介。
EXIF Viewer」という、Google Chrome で表示している画像のEXIF情報を表示できる拡張機能です。

インストールはこちらから行えます。

EXIF Viewer – Chrome ウェブストア
https://chrome.google.com/webstore/detail/exif-viewer/nafpfdcmppffipmhcpkbplhkoiekndck?hl=ja

 

実際の使用イメージはこんな感じ。

「EXIF Viewer」を有効にした状態で、画像の上にカーソルを合わせると、画像の左上に青い枠が現れて、そこに撮影したカメラの機種や焦点距離などのEXIF情報が表示されます。
また、緯度経度が保存されている場合は、青枠の中に赤く「GPS」という表示がされるので、そのにマウスカーソルを合わせることで、手軽にマップを表示させることもできます。

なお、こちら私の以前のブログなのですが、写真のEXIFは削除しているので、この様に変な情報が表示されています…。
ご了承ください。

 

以上、画像のEXIF情報を手軽に確認する方法でした。
自分のアップした画像に位置情報など、公開したくない情報が含まれていないかの確認が簡単に確認できますね。
もしくは、お店の料理の写真に位置情報が含まれている場合、このお店がどのあたりにあるのかをマップに表示する、という使い方もできそうです。

村上 著者:村上

【Xcode】アプリのメモリ使用量を調べる方法

業務内でアプリを修正中、実機で動作確認をしているアプリが頻繁に落ちる現象に遭遇しました。
エラー文はこちら。

CoreAnimation: failed to allocate 183072 bytes

バイト数もほぼこの値でした。

こちらの原因ですが、書いてあるとおり、メモリの割り当てに失敗しているとのこと。
で、対処法を調べたところ、こちらの投稿がヒットしました。

ios – Core animation failed to allocate bytes though NOT using Core Plot – Stack Overflow
https://stackoverflow.com/questions/19403295/core-animation-failed-to-allocate-bytes-though-not-using-core-plot

こちらのページに投稿された対処法によると、「おそらくあなたはアプリ内の他の場所で多すぎるメモリ使用量を使用している可能性があります。コアアニメーションは最初に割り振りに失敗しています(特に大きな割り当てであるため)。」とのことでした。

 

ということで、メモリ使用量を調べようとしているのですが、どうやらXcodeにはメモリ使用量を調べられるDeveloper Toolsがあるとのこと。
それについて書かれているサイトはこちらから確認できます。

Instrumentsを使ってみた – Qiita
https://qiita.com/nohirap/items/39ed06c550b6b5c1f247

こちらを参考に、とりあえず起動してみました。

まず、Xcodeのメニューから、Open Developer Tools を選択し、そこから Instruments をクリックします。

Instruments を選択すると、下記のようなウィンドウが表示されるため、ログを取りたい項目を選択します。

私は Core Animation を選択しました。

そうすると、下のようなウィンドウが表示されるため、左上の録画ボタンのような赤丸アイコンをクリックします。

すると、何かしらの情報が黙々と記録されていきます。
こんな感じで、具体的にメモリ使用量を調査します。

 

以上、Xcodeでメモリ使用量を調べる方法でした。
が、私はまだこのデータの見方がわからない…!
頑張って調べたいと思います…。

村上 著者:村上

【Xcode】ビルド時の「[プロジェクト名] has conflicting provisioning settings.」エラーの対処法 その2

Xcodeで証明書を設定した際のエラーの対処法について、以前紹介した方法では解決しなかったので、その2の対処法をまとめました。
ちなみに、以前の記事はこちらから。

【Xcode】ビルド時の「[プロジェクト名] has conflicting provisioning settings.」エラーの対処法
https://cpoint-lab.co.jp/article/201805/【xcode】ビルド時の「プロジェクト名-has-conflicting-provisioning-settings-」エ

 

今回参考にさせていただいたサイトはこちらから。
iOSアプリをリリースする際のプロビジョニングの設定
http://chinotsubo.com/ios-provisioning-config/

で、対処法ですが、アプリの Build SettingsCode Signing Identity に設定されている項目を、下記のように変更するだけです。

なお、記事の投稿者いわく、「イマイチなぜこの設定が正しいのかは理解していない」とのこと。
ちなみに、こちらの記事の下には参考にした記事のリンクもあるので、気になる方はぜひ御覧ください。

 

以上、Xcodeの証明書の設定方法その2でした。
前ご紹介した方法でビルドができなかった方は、この方法もお試しください。
なお、私の環境では、実機を接続してのビルド時に失敗するようでした。
…実機の接続・未接続で、設定等が違う箇所があるんでしょうね。

村上 著者:村上

【Android】アプリの画面を縦方向で固定する方法

久しぶりのAndroidネタです。
今回は、端末が横向きになった場合でも、アプリの画面を縦方向に固定する方法について。

 

今回は、こちらのサイトを参考にさせていただきました。

Android縦画面固定 – Qiita
https://qiita.com/yasumodev/items/44f7fd84a58b709a0349

実装方法ですが、2つ方法があり、私が実装したのが、AndroidManifest.xml で指定する方法です。
縦方向で固定したいページのアクティビティに対して、下記を指定します。

android:screenOrientation="portrait"

具体的には、下記のようになります。

<activity
    android:name=".Main.MainActivity"
    android:screenOrientation="portrait"
    android:label="@string/app_name"/>

3行目に、縦方向で固定する指定を追加しています。

なお、横固定にしたい場合は、値を「portrait」から「landscape」に変更します。

 

次に、Activity で指定する方法ですが、こちらは onCreate の中に下記を記入します。

setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);

こちらの方法で横方向で固定したい場合は、引数に ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE を指定します。

 

以上、アプリの画面の向きを固定する方法でした。
iOS だと、チェックボックスの ON/OFF だけで済むので、Android は少しだけ面倒ですね。
また、アクティビティごとでの指定なので、常に縦固定の場合は、すべてのアクティビティに縦固定の指定をしなければ習いので、指定抜けにご注意ください。

村上 著者:村上

【フリー素材】アイコン素材なら商用利用可の「icooon-mono」がおすすめ

絵が描けないので、Webデザイン中に毎回困るのがアイコン素材なのですが…数年前からかなりお世話になっているサイトがこちら。

アイコン素材ダウンロードサイト「icooon-mono」
http://icooon-mono.com/

「icooon-mono」という、フリーのアイコン素材のサイトです。
掲載しているアイコン数は何と6000以上!
また、タイトルにも書きましたが、商用利用も可能なのでかなり助かっています。

 

アイコンの詳細ページはこちら。

見てわかるように、アイコンのサイズが選べ、色も変えることができます。
また、ダウンロードするファイル形式も、PNG、JPG、SVG から選ぶことができます。
…まあ、たいてい選ぶのはPNGですけど。

 

オーソドックスな物から、一体どこで使うんだ?と思うような物まで、かなりの種類を取り揃えているので、きっとぴったりなアイコンが見つかるはず。
が、いかんせん量が多いので、最初は探すのだけでも一苦労かもしれません
時間があるときに、さらっと眺めてみるのもおすすめです。