iPhone用アプリを開発中にiPhone実機でアプリを動作させようとすると出てくるのがこのiPhone has denied the launch request.というエラーです。
対処法は色々と紹介されているのですが、基本のキであるiPhone側の設定が見つかりにくく感じましたので紹介しておきます。
- 「設定」アプリを開く
- 一般
- プロファイルとデバイス管理
- 自分のApple ID
- Apple IDを信頼する
- 「信頼」をタップ
iPhone用アプリを開発中にiPhone実機でアプリを動作させようとすると出てくるのがこのiPhone has denied the launch request.というエラーです。
対処法は色々と紹介されているのですが、基本のキであるiPhone側の設定が見つかりにくく感じましたので紹介しておきます。
当ブログ「ドリリウム」は木工から頭痛対策まで私の思うがままの題材を取り上げて書き連ねたいわゆる雑記ブログです。
記事によっては日記みたいなものも含まれていて、本当にありきたりな個人ブログといった様相になっていると自負しています。
さて、そんなドリリウムも昨年のGoogleのコアアルゴリズムアップデートからアクセス数がガタンと落ちて、毎日2000PV程度に落ち着いていました。
それ以前は3000~4000PV程度で推移していたので3割以上落ちていた状態です。
とはいえ所詮は趣味の個人ブログ。
特別本格的な対策はせず、気が向いたときにネットに書かれているような対策をちょくちょく取り入れてみる程度で、結局効果は得られませんでした。
さて、そんなドリリウムが5月になってからアクセスが急増しています。
当初はGWのせいで人が増えているだけだろうと考えていましたが、なぜかGWが過ぎてもアクセス数が減りません。
これははてなブログのアクセス解析画面のPVを表したグラフです。
見づらいと思いますが、前半が4月、後半が5月です。
多い日では6000PVを越え、5月に入ってからは安定して5000PVを越えています。
検索結果上位に食い込み始めたのは昔からアクセスの多いアマゾンのFire TVのトラブルシューティング記事や、あんまりふるわなかったレモンの栽培関連の記事です。
ちょうど今、レモンは花が咲いて落花や受粉といったイベントごとが起きる時期ですのでこれは一過性のものかもしれません。
アマゾンやレモンといったキーワードを除けば大きく変動があったものも見られず、なぜアクセス数が底上げされたかあんまりよくわかっていないのが正直なところです。
これが今後どう推移していくのか楽しみにしつつ、引き続きくだらない記事ばかり積み上げていこうと思います。
Picassoを使って画像をネット上から読み込むサンプルプログラムを作成していたところ、どうしてもうまく読み込むことができませんでした。
ImageView自体は表示されるのですが、画像がなくて画面は真っ白。
Androidアプリはデフォルトでインターネット接続ができないようです。
そこでAndroidManifest.xmlファイルに権限を与えるため以下の赤字の2行を追記します。
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.gridviewimagesample">
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<application
省略
</application>
</manifest>
Picassoはデフォルトでは画像の読み込みに失敗してもエラーを表示してくれません。
そこで画像の読み込み処理を以下のように書き換えることでログに例外の詳細を出力するようにしてみます。
ImageView img = view.findViewById(R.id.imageView);
Picasso.with(context).setLoggingEnabled(true);
String imgUrl = "画像のURL";
Picasso.Builder builder = new Picasso.Builder(context);
builder.listener(new Picasso.Listener() {
@Override
public void onImageLoadFailed(Picasso picasso, Uri uri, Exception exception) {
Log.e("picasso error", exception.getMessage());
}
});
Picasso pic = builder.build();
pic.load(imgUrl).into(img);
私の場合には「Socket failed: EPERM(Operation not permitted)」というエラーが出ていることがわかりました。
Picassoの使用自体はとっても簡単です。
ここまでのチェックポイントを確認しても原因がわからない場合には全く異なる点が原因の可能性があります。
そこで問題の切り分けのためにエミュレーター上のアプリをアンインストールしてみましょう。
エミュレーターのアプリ一覧から対象アプリを長押しすると「アプリ情報」というメニューが表示されるためタップします。
そこから「アンインストール」して再度Android Studioから起動してみてください。
Macを使い始めて間も無くAndroid Studioのプロジェクトの保存先の参照方法がわからなかったので同じような人がいるかと思って残しておきます。
Finderを開いて「移動」メニューから「コンピュータ」を選択
ユーザーディレクトリを開けば「Android Studio Projects」というディレクトリがあるのでこの中にプロジェクトが保存されています。
エミュレーターからインターネットに接続できずに四苦八苦していましたが以下の設定で問題なく接続できるようになりました。
あんまり理屈はわかっていませんが、これでエミュレーターのブラウザからもアプリからも接続できるようになりました。
GridLayoutを使ってグリッドを連結する際にColumnSpanやRowSpanを指定しても上手く結合できませんでした。
上手くいかなかった際のコードが以下の通りです。
<Button
android:id="@+id/buttonEqual"
android:layout_width="64dp"
android:layout_height="64dp"
android:text="="
app:layout_rowSpan="2"
app:layout_column="3"
app:layout_row="2" />
調べてみた結果、layout_gravityという要素で結合したい方向を指定すると上手く動作することがわかりました。
<Button
android:id="@+id/buttonEqual"
android:layout_width="64dp"
android:layout_height="64dp"
android:text="="
app:layout_rowSpan="2"
app:layout_column="3"
app:layout_gravity="fill_vertical"
app:layout_row="2" />
縦方向に結合するならfill_vertical、横方向に結合するならfill_horizonalを指定すれば良いみたいです。
arrayはご存じ配列なので置いておいて、chunkとは大きなかたまりを意味しています。
意味合いが漠然としており、漠然とかたまりと言いたければchunkです。
同様に大きなかたまりというイメージから多くの・大きななどの意味にも使われます。
That man must have stolen a chunk of money!
もらって間もない今月のお小遣いを盗まれたときはこの1文で説明することができます。
https://www.php.net/manual/ja/function.array-chunk.php
反響や繰り返しを意味し、物理的な反響から意見の類の反響まで幅広く使われる。
The room echoed when he shouted.
テストの最終工程で叫び声をあげた同僚の声がオフィス中に響き渡った(反響した)時にはこんな1文で表現することができる。
https://www.php.net/manual/ja/function.echo.php
斧などを振り下ろすイメージ。
このイメージから色々な派生した意味合いがある。プロレスや格闘技のチョップもそのイメージから名づけられている(はず)。
いわゆる空手の手刀打ちはKarate Chopと呼ばれている。
She chopped the kind boss using axe.
この1文で優しい上司を斧で叩き切った同僚を説明することができる。
念のため最後に「using axe」を付け加えることでチョップしたのではなく叩き切ったのだと理解しやすくなる。
https://www.php.net/manual/ja/function.chop.php
爆弾が爆発するだけでなく感情の爆発にも使える。
ゲームやアニメに出てくる「エクスプロージョン」はこのexplodeの名詞形。
He exploded with anger.
この1文でバグを指摘されて激怒している同僚を説明することができる。
https://www.php.net/manual/ja/function.explode.php
思いのほか「知らない人が多そうで色々な意味のある単語」って見つかりません。
メソッド名は考えられて付けられているんだなぁとつくづく実感。
PHPの勉強中にファイルを読み書きする際にタイトルのエラー
「read of 8192 bytes failed with errno=9 Bad file descriptor」
が発生しました。
エラーというかNoticeなので無視しても構わないのですが、実害もあったため修正しました。
ソースコードは以下の通りです。
$fp = fopen("sample.txt", "a");
fwrite($fp, "AAAAA\n");
rewind($fp);
while($line = fgets($fp)){
echo $line."<br>";
}
fclose($fp);
ファイルを開き、末尾に追記した後ファイルポインタを先頭に移動させてファイルの中身を1行ずつ表示しています。
原因は1行目のfopenにありました。
fopenの第二引数に「a」を指定していますが、これは書き出しモードでファイルを開きます。
てっきり書き出しモード=読み込み+書き出しモードだとばかり考えていましたが、これは書き出し専用のモードです。
そのため「a」で開いたファイルを読み込もうとしたためにエラーが出るとともに読み込みも失敗していたわけです。
解決策としては引数に「a」ではなく「r+」や「a+」といった読み込み+書き出しの双方に対応したモードを選択することです。
対策したコードは以下の通りです。
$fp = fopen("sample.txt", "a+");
fwrite($fp, "AAAAA\n");
rewind($fp);
while($line = fgets($fp)){
echo $line."<br>";
}
fclose($fp);
先日新しいポイントを発見していた物部川河口へまた行ってきました。
今回釣りに行ったのは物部川河口で、こちらの記事で釣り場の詳細を解説していたポイントです。
大きく分けて漁港とサーフの2つに分けることができる釣り場ですが、今回の狙いはサーフおよび河口の川側です。
タックルはいつも通りのこれらです。
タックル
バイクで釣りに行くために買った5本継ぎのパックロッド。レビュー記事はこちら。ショアジギングもバッチリの優れもの。
長らく2500番という小さすぎるリールで頑張っていましたが、ようやく購入。レビューの記事はこちら。
お気に入りのライン。8本撚りにしては安いしカラーパターンが見やすい。
安くて必要十分。最近はずっとこれです。
釣り場に着くとやや強めの追い風。
久しぶりに冷え込んでいます。
最近暖かすぎるくらい暖かかったので、その反動で寒さがきつい。
寒さがきついので今日は珍しく車で釣りにきました。この釣り場は車でもアクセスしやすいことが大きな魅力のひとつです。
時間的には干潮から満ちていく最中。
とはいえ長潮なので変化は緩やかです。
まずは広く探る意味で個人的な定番であるジグパラサーフ35gを投げます。
レンジを変え、投げる方向を変えながらストップ&ゴーで素早く探っていきます。が、いつも通り当たりなし。
それっぽいことを言ってますが釣りはへたくそで釣れたらラッキーくらいの腕なので正しいのかどうかわかりません。
その後、表面にはねる魚がちらほら見え出したことからオルルド釣具の格安メタルジグに切り替えてショアジギングに切り替えます。
そんななかで集中力が切れだし、おかしな方向へキャストしてしまいました。
仕方がないので早巻きして回収している最中にふと魔がさして?リールを巻く手を止めました。
するとその瞬間ガツンというアタリが!
早巻きからのストップでラインが多少緩んでいたにも関わらず手元にガツンと伝わる感触、そして何より表層を早巻きして止めた瞬間に来たということは間違いなく魚のアタリ!
が、しかし。
集中力が切れてボケっとしていた時のことで反応が遅れます。
気持ち的にはすかさず合わせるも時すでに遅しで一瞬生命感ある抵抗を感じましたがするりと抜けてしまいました。
気を抜いた時に限ってアタリが来る。よくあることです。
反省。
その後しばらく似たようなアクション(素早いストップ&ゴー)を繰り返しますが反応はなく、前回見つけた河口内のポイントへ移動しました。
具体的には下図赤枠内です。
航空写真で見るとこんな具合で、物部川河口の流れの外側のポイントです。
河口内は全体的に水位が低めです。
物部川河口は土砂の堆積が早く、土砂を定期的に掻き出しているくらいなのでその浅さがよくわかりますが、ここはカーブの外側ということで理屈的には深くなっているはずです。
底にはゴロゴロした岩が時折あるくらいで根掛かりの心配がないポイントですが、たまに木の枝が沈んでいて根掛かります。
無理やり引っ張れば枝ごと引き上げられるのでルアーのロストの心配はあまりないポイントといえます。
ここはボトムを探っているとたまにフックに小さなハゼの仲間と思われる魚がかかることがあるので、いわゆるハゼパターンが有効かもしれません。
ちょうど良いルアーがないので小ぶりなバイブレーションで河原を歩き進めながら探りますが反応なし。
今日も相変わらずボウズでした。
植物を育てていると必ずといって遭遇する虫害が「ハダニ」によるものです。
ハダニは一見すると葉の上にゴミがついているのかな?と勘違いしてしまうほど小さく、しかも一見して動いている様子がないため虫とは思わず放置してしまいがちです。
もしあなたの育てている植物・果樹の葉に小さな粒々があるのであれば、ハダニを疑った方が良いでしょう。
ハダニ単体の影響力は決して強くありませんが、数が多く長期間に渡って植物にダメージを与えるため放置すると葉の色が変色し植物に小さくない影響を与えてしまいます。
ハダニは生命力も弱く対処も簡単です。
植物に影響が出る前に積極的に対処してハダニを駆除しましょう。
ハダニは目視する限りは小さな「点」あるいは「粒」にしか見えないことが多いです。
拡大すれば明らかな虫の形状をしているのですが、それほどまでに小さいです。
色も葉に近い緑色から茶色、赤色など目立ちにくい色をしています。
その中でも比較的目立つ赤色のハダニがこちらです。
カメラでできるだけズームしているのですが、小さなものを写すのに適した道具がなければ点にしか見えません。
葉の上にあるゴミのようにも見える粒々。これがハダニです。
ハダニによりダメージを受けた葉の写真を2枚紹介します。
こちらは我が家のベランダで育てているレモンの葉の様子です。
ハダニは葉をかじるわけですが、先ほど紹介した通りとてつもなく小さいので影響は軽微です。
しかし、繁殖力が強く大量に発生するため放置すると写真のように葉が変色し、更に放置すれば葉が枯れてしまいます。
葉の数が重要になってくるレモンのような果樹には影響は深刻と言えます。
ハダニは乾燥した場所を好み、その一方で水を嫌います。
そのため雨が降るだけで数を大きく減らすことになります。
逆に言えば、雨のかからない軒下やベランダで栽培されている植物はハダニにとって絶好の好ポイントとなってしまいます。
そこで有効なのが葉に水をかける、いわゆる「葉水」です。
霧吹きや、じょうろでも構いません。葉に満遍なく水を掛けましょう。
これだけでハダニは数を一気に減らします。
これをこつこつ毎日、あるいは数日おきに繰り返すことでハダニを駆除することができます。
水に弱いハダニですが、薬剤にも弱いです。
市販される多くの薬剤にハダニの表記があるはずです。
もし薬剤の使用を控えたいというのであれば、薄めて使うのも有効です。
例えばこの手の薬剤としては定番商品である「ベニカX」(下図)を私は使用していますが、ハダニ程度にそのまま使うのはもったいないので薄めて使っています。
10倍近く薄めていますが、ただでさえ水に弱いハダニですから10倍に薄めたベニカXであっても十分に効果があります。
殺虫剤を使うメリットとしては、葉水のように定期的に行わなくとも長期間に渡って効果が持続するという点です。
私は10倍程度に薄めたベニカXを2~3週間に1度塗布するようにしています。