ラベル iPhone の投稿を表示しています。 すべての投稿を表示
ラベル iPhone の投稿を表示しています。 すべての投稿を表示

2022-08-03

iPhoneカンフー #016 Appのバックグラウンド更新をオンにできないとき(改訂版)

iPhoneカンフーの目次はこちら

今日の肝

  • (最近のバージョン)Appのバックグラウンド更新をオンにできないときは、「低電力モード」になっていないかチェック。
    [設定]アプリ→[バッテリー]→[低電力モード]をオフ
  • 以前のバージョン)Appのバックグラウンド更新をオンにできないときは、「機能制限」がかかっていないかチェック。
    [設定]アプリ→[一般]→[機能制限]

最近のバージョン(iOS 15.5で確認済み)

カーナビのアプリとか、ランニングの記録アプリとか、そのアプリが前面にないときや画面がスリープしている時でも、「バックグラウンド」で動作し続けることで機能を果たしてくれるものがあります。

こういったアプリを使う場合は、「設定」アプリで、[一般]→[Appのバックグラウンド更新]をオンにしておく必要があります。同じ画面で、アプリごとにオンにしたりオフにしたりも可能です。

いくつかのウェブサイトなどで、「この機能をオフにすると節電になる」などと書いてあるようですが、基本的にはこの機能はオフにしないほうが役に立つiPhoneとなるでしょう。

低電力モードに注意

と、この記事を読んで「どうやっても[Appのバックグラウンド更新]をオンにできない!」とお困りの方、「低電力モード」になっているとこれをオンにできませんので確認してみてください。

同じく「設定」アプリで、[バッテリ]を選択して、一番上に表示される「低電力モード」がオンになっていると、上に書いた手順ではどうやっても[Appのバックグラウンド更新]をオンにできません。

これをオフにすれば、大丈夫です。オフにしておいてから「設定」アプリで[一般]→[Appのバックグラウンド更新]とタップして必要な変更をします。


むかしのバージョン(iOS ??)

以前のiOSでは設定する箇所が違いました。昔の機種を使っている方がいらっしゃるかもしれないので、以前に書いたものも残しておきましょう。

機能制限に注意

「設定」アプリで、[機能制限]がオンになっていて、その下位項目で[Appのバックグラウンド更新]が[変更を許可しない]の設定になっていると、[Appのバックグラウンド更新]をオンにできません。

どうやってもオンにできない人は、次の手順で機能制限を外してください。

  1. 「設定」アプリを起動
  2. [一般]→[機能制限]とタップ(このとき機能制限が[オン]になっているはずです)
  3. パスコードを入力
  4. ズズ〜っとスクロールして、下のほうにある[Appのバックグラウンド更新]→[変更を許可]とタップ (もちろん、この画面で、一番上の [機能制限を解除]をタップして、全部の機能制限を外しても大丈夫)
  5. これで機能制限が解除されたので、[一般]をタップしてひとつ戻って、[Appのバックグラウンド更新]をタップして[Appのバックグラウンド更新]をオンにする

今日の肝

  • (最近のバージョン)Appのバックグラウンド更新をオンにできないときは、「低電力モード」になっていないかチェック。
    [設定]アプリ→[バッテリー]→[低電力モード]をオフ
  • (以前のバージョン)Appのバックグラウンド更新をオンにできないときは、「機能制限」がかかっていないかチェック。
    [設定]アプリ→[一般]→[機能制限]

2021-04-24

AirTagは諸刃の剣?

AppleからAirTagという便利そうなツールが発売になりました。

もう亡くなってしまったのですが、叔父が認知症になってしまって、叔母の知らぬ間に徘徊するようになって、叔母はとても困っていました。 あるときなど、自宅のある小平市から、山梨県の塩山あたりまで電車に乗って行ってしまったことがあったそうです。 親切な人から電話をもらった叔母は、慌てて電車に乗って迎えに行ったそうです。帰りは深夜になってしまったとか。

こんなケースなら、叔父のベルトにAirTagをつけておけば、どこにいるかすぐわかって叔母も塩山まで行かなくても済んだことでしょう。

勝手に俺のiPhone使わないでほしいね

でもちょっと気持ちが悪いことも事実です。 結局、誰かの探し物(や探し人)のために、オレのiPhoneが勝手に使われちゃうわけですよね?

少なくとも、「みんなのために、私のiPhoneどうぞお使いください」という許諾が欲しい。

でも、私は、ONにはしませんな。少なくとも当面は。

勝手に、人のデバイスと連絡を取るのは気持ちが悪い。 これを許したら、何やられるか、わかりゃしない、なんて感じてしまいます。

でも、勝手にやられちゃうのかな〜。それはちょっとひどいのではないだろうか。 OS、アップデートしなきゃいいか(あるいは0円で買ってしまって、その小ささが気に入っているRakuten Miniに乗り換えるか)。

それに、通信することで少しはオレのiPhoneの電池残量も減りますよね? 勝手に人の資源を使ってほしくない。電気代払え!(セコい!)

まあ、わたしゃ、カミさんが認知症にでもならない限りAirTagは使いたくないですね。 多分、カミさんは認知症にはならないと思うから、一生買わないことにしようと(少なくとも今のところは)思います。

iPhoneをやめるまで行くかどうかは、今のところ不確定ですが...。

Rakuten MiniでだいぶAndroidにも慣れてしまったからな〜(そうか〜、これが楽天の作戦だったか〜)。 Assistive TouchがAndroidに入ったら乗り換えるかも...。


(2021年4月30日更新)

こちらの記事を見てたら、他の人にはつながらないようにできるみたいですね。ひとまず、安心(かな?)
https://news.mynavi.jp/article/20210425-ipadiphonehacks/

2020-02-25

アップルの日本語がおかしい #008 & iPhoneカンフー #024 「iPhoneから送信」は消去すべし

iPhoneを買ったばかりの方からメールが送られてくると最後に、「iPhoneから送信」という「署名」が付いてくることが多い。

「自分の携帯がiPhoneで、iPhoneを使ってメールしましたよ」なんて、宣伝したい人いるのかな〜? ちょっと信じられない発想だと思うのだけれど。

こんなのを「デフォルト」にするのは、「Make America Great Again」なんぞという自己(自国)中心的なスローガンを掲げている方を大統領に選んじゃうような、国の方々だけではないでしょうか。

とても日本人の発想とは思えません。少なくとも、iOSの日本語版では止めてほしいなあ。

翻訳者の端くれとしては、「Sent from iPhone」の翻訳は「」、つまり<訳なし>がよいと思うわけです。

こんな署名は変えましょう

[設定]アプリで、[メール]→[署名]とタップすれば、署名は変更できます。まだ、変えてない方、すぐに変えましょう。削除するだけでもいいと思います。 余計な署名は消して、読む人に余計な感情(=雑音)を抱かせないメールにしましょう。

今日の肝

  • iPhoneを買ったらまずメールの署名を消すべし(もちろん、きちんと設定するのもOK)。
    [設定]アプリで、[メール]→[署名]

2017-07-01

レイドバトルって、そんなことやってる暇はないわ(恥ずかしいし)

ポケモンGoがアップデートしてから、バグの多さに嫌気が差して、あまり起動していないけれど、それでも時々は起動する。カワイイ新顔のポケモンが出たりするとうれしい。

昨日久々に「ジム」に行ってみた。戦おうと思ったら、「レイドバトル」とかいう戦いしかできない!

120秒のカウントダウンを始めやがって、その間ただ待ちぼうけ。

すぐにバトルを始める方法はないか試行錯誤していたら、お母さんを伴ったガキが二人やってきた。どうやら「レイドバトルがはじまりそうだ」とかいうメッセージを見てやってきたらしい。

120秒も待ってるほどこっちは暇じゃネェぜ。(っていうか、恥ずかしくてオジサンがそんなところにいられるか! せいぜい一緒にできるのは、家族かポケモン話で盛り上がる友だちぐらいだぜ)。

さようなら、かな〜。もうだいぶポケモンも集まったし。

もうちょっと、知的でおもしろい、自分でも遊べるゲームを作るのが一番いいんだけどね。

そういや、大学院に入りたての頃、BASIC習うのに、いくつかゲームを作ったっけ。懐かしい。 仕様(スペック)は今でもはっきり覚えているから、JavaScriptで作ってみるかな〜。

2017-06-08

囲い込みたがるApple

AppleのWWDC(世界開発者会議)が始まった。自分が強い関心をもっているところでは、自然言語用のAPIを提供するというのが気になった。

でも、こんなの使った日にゃ、結局Apple製品でしか使えなくなるわけで...。

とてもじゃないけど手を出す気にはならないのですけど...。

デスクトップのファイルを勝手にコピーしちゃうというのはいまだに信じられないのだけれど

ちょっと前のOSから、Macのデスクトップにおいたファイルを勝手にiCloudにコピーしちゃうようになった(と思う)。 わたしゃさっそくこの機能はオフにしたので、詳しいことは忘れてしまったけれど、知らない一般ピーポーは、エラーメッセージを表示されて、あわててiCloudの容量増やしてお金取られている人いるんじゃないだろうか。

「ほとんど詐欺」だと私は感じるのだけれど、あまり問題になっていないのだろうか?

ノートパソコンからescキーはなくしちゃうし(他のキーに割り当てはできるみたいだけれど)、USBポートはなくしちゃうし、最近のAppleのやることは、理解に苦しむことが多い。 次回ノートパソコン買うとき、Macは止めようかな、とか思ってしまうよね〜。 プログラミング講座で、USBメモリを渡しても受講生の方がファイルをコピーできなかったし...(変換用のコネクタを持っていらっしゃらなかった)。

と言いつつ、キーノートスピーチは見てしまう私はやっぱりAppleファンなのだろうか...

2017-02-18

Pokémon Goの新顔はイマイチ?

「金銀」とかいう奴らしいですけど、新しいポケモンがどさっと出てきました (去年の夏の発売以来、地道にコツコツとやってます...。はい。カミさんのイトコをはじめ、同世代で何人か同じような人を知っています)。

しかし、好きなポケモンが少ない。というかほとんど無い。 何か、人工的な感じで好きじゃないのが多いです。

マリルは結構昔から好きだったので、出会えたときは嬉しかった。 しかし、ヨルノズクとかヤンヤンマとかは気持ちが悪い。見たくないな〜。

散歩のお供に結構やっていたのですが、「もういいかな...」などと思い始めています... (あまり、電磁波発生源と一緒に歩きたくなかったので、三日にいっぺんぐらいにしてはいましたが)。

嫌いなものをいつも見させられるのは、ちょっとね〜。

「こいつは出すな」という設定が欲しいですな。

2016-11-27

iPhoneカンフー #023 MacBookを充電池として使う

Pokémon GOの人気はだいぶ下火になったようですが、ひとつの理由は「電池食い過ぎる」っていうことではないでしょうか。私の場合、1日外に出ていても50%まで減ってしまうことはまずなかったのですが、「ちょっと遠出したので珍しいのがゲットできるかな」と思ってPokémon GOをやった日、家に着いたら電池切れ寸前でした。

外に出るたびにPokémon GOやっていたら、なんか充電池がへたってきてしまったような気もします。それに、いつもの場所ではいつものポケモンしか出ないし。「コイキングばっかり集めてもなあ〜」。

というわけで、最近Pokémon GOをやるのは、珍しいところに出かけたときだけになってしまいました。

さて、本題です。ある日のこと、私が机の上のiPhoneを持ち上げてポケットに入れようとしたその時、充電コードが接続されていないことに気がつきました。酔っ払っていたのか、ほかの用事を思い出したのか、とにかく帰ってきて机の上にiPhoneを置いたとき、コードをつなぐのを忘れたようです。

電池の残量を見ると20%程度しか残っていません。これは困った。でも、出かけなければなりません。それまで予備の電池の必要性を感じたことはなかったので、そんなものは持っていません。今まで使っていないのにわざわざ買うのももったいないし、面倒です。

と、その時、机の上にあったMacBook Airが目に入りました。そう言えば、これを使って新幹線の中でiPhoneに充電したことあったなあ。

「おお、そうだ。Airを持っていけばいいのだ」

ちょっと荷物は重くなりましたが、Airをカバンに入れて家を出て、電車の中でiPhoneに充電をしながら都心方向に向かいました。ホッとひと安心。

今日の肝

  • いざとなったら、MacBookがiPhoneの充電器になる。

2016-09-11

iPhoneが発売されたら本が売れなくなっちゃった

先週、iPhoneの新機種(iPhone 7など)が発売されました。

そしたら、困ったことに私たちの訳書のAmazonのランキングが下がりっぱなしです。

昨日出版社から見本が届いたばかりで、まだ本屋さんには並んでいない、最新刊の『デザインの伝え方』はAmazonのランキングで800位前後だったのが、5,000位ぐらいまで急降下。 少し前に発売になった『続・インタフェースデザインの心理学』は3,000位ぐらいだったのが、今日は31,000位ぐらいといった具合。

デザイナーや開発者の皆さんは、iPhoneの話題に集中しちゃって、本のレビューページとか読まなくなっちゃってるんですかね? 今までこんな傾向に気がついたことはなかったのですが、iPhoneはこの世界では別格なのでしょうかね。

落ち着いた頃には、またランキングが回復してくれといいのですが...。


後日談

iPhoe発売から1週間ほどが立ちましたが、我々の本のランキングはほぼiPhone発売前に戻ったようです。

やっぱり、iPhone関連ニュースに注目が集まったのが原因のようですね〜。

何やかやでやっぱりiPhoneの影響力は大きいな〜。


↑の「何やかや」の使い方、国語辞典を引いてみると正しくないみたいですけど、こんな言い方するような気がするので、直しませんでした。悪しからず。

2016-07-28

Pokémon Goをやってみた

先日の金曜日に公開されたばかりのPokémon Goをやってみた。

う〜ん、なつかしい。 うちの回りで簡単につかまるのは、オレでも知っているものばかり。

オレが好きなプリンはどこにいるんだろう。

息子が好きだったマルマインには遇えるかな。

2015-08-17

アップルの日本語がおかしい #007 Appは変ジャね?

アップルは「アプリ」という言葉が嫌いらしい。

いつまで App という訳のわからない言葉を使い続けるのだろうか。これ日本語じゃないでしょ?

2014-07-29

アップルの日本語がおかしい #003 OS XのSafari

10.9からOS XのSafariの表示が醜いことになっている。たとえば私の個人ページのトップをご覧あれ(Safariをお使いでない方も多いでしょうから、画像(↓)も置いておきます)。

"』" の前の巨大な「空き」は何なのだろうか?

これはさすがに悲惨なので、そのうち直してくれるだろうと思ってた。 なおらないので、Appleにレポートもしました。"This is VERY UGLY." と。

でも直してくれない。

PC オンラインの記事(最下段の図8の下)などでも見られ、どうやら括弧とリンクが絡んでいるとおかしくなるらしい。

OS X 10.8まではこんな現象はなかったし、iOSのSafariでもこんなことはない。 やれば簡単にできるでしょう。こんなこと直すのは!

ヤル気がないとしか思えない。


アップデート 2015年8月17日

今日確認したら、OS X 10.10.3 では直ってる(↓)。

こうしてみると、ここに取り上げた問題の半分以上は、その後改善されている。「効果アリ」かもしれないので、見つけたら必ずここに書くことにしよう。


再アップデート 2015年10月6日

と思ったら、再発しています。次の画像の "』"の前の空きは何?


再々アップデート 2018年8月4日

もうだいぶ前に直ったようです。少なくとも10.13.4では問題なし!

2014-07-28

アップルの日本語がおかしい #002 iPhoneのメール

このあいだスマフォ(Android)を使っている友人に「いつもの○○でお昼食べることにしました」とメールをした。

ところが、そのあとすぐにやってきた友人に「メール、読めないよ」と言われてしまったのだ。いつもの場所だったので、そこで会えたのだが、そうでなければややこしいことになったところだった。

ちょっと前に、ガラケーを使っている田舎の義姉にメールをしたら「へんな文字ばかりで全然読めない」と言われてしまった。「そうか、UTF-8のメールは読めないガラケーがあるのか。Appleはサボってるな〜」と思ったので、それ以来ガラケーの人に送るときには、iPhoneの「メール」ではなくGmailアプリを使うようにしている(Googleはこのへんしっかりしている。ウェブ版のGmailなんて、文字化けを直してくれる機能まであるんだから助かる)。

しかし、(たぶん)新品のAndroid携帯に送っても文字化けしてしまうとは。悲惨だ〜。 まさか、iPhone以外では読めなくてもいいと思っているわけ?

2014-07-27

アップルの日本語がおかしい #001 「連絡先」

最近のアップルがおかしい。とくに日本語まわりがとくにおかしい。 頭に来たので、↑のようなタイトルのブログをはじめることにした。 少しは直してくれればよし、直してくれなければ、他の選択肢を探すしかあるまい。

第1回は「連絡先」。

OS Xのアイコンはまだいい。だがiPhoneのアイコンはなんだ〜、これは。 私が意見を聞いた人の全員が「超ダサイ」といっていた(といっても二人に聞いただけだけど)。

まあ、百歩譲ってそれは許すとしよう。今回の議題は日本語なのだから。

しかし「連絡先」という名前は、何じゃこれ? 

OS XのSpotlightを使えば、キーボードだけを使ってアプリが簡単に起動できるのだが、私はいつもアプリ名を忘れてしまう。「何だっけな」とわからなくなって、「住所」とか「アドレス」とか入力するのだが、ヒットしなくて、結局マウスをもってDockにあるアイコンをクリックする羽目になる。

英語版は「Contacts」なので、これを直訳したのか? 発想としては、「連絡先管理用アプリ」なわけね。

日本語なら「住所録」とか「アドレス帳」とかでしょう。

しかし、iOSのアプリのアイコンはダサイ。とてもアップルの製品とは思えない。

2014-07-14

カンフーマック番外編 #003 兼 iPhoneカンフー #022
マックの「プレビュー」で写真の整理

最近のアップルのアプリケーションとかけて、昔のMicrosoft Wordととく。

その心は —— ウザイ、余計なことをやり過ぎる。

前のほうが使いやすかったソフトが多い

西暦2000年ぐらいのことかな、Wordを時々使うと発狂しそうなほど頭に来た。とにかく余計なことをやり過ぎるのだ。「--」を引くと勝手に長い棒に変えたり、小文字の単語を書くと勝手に先頭を大文字にしちゃったり、箇条書きにするつもりがないのに勝手に箇条書きにしちゃったり。

それに比べてアップルのソフトはシンプルでわかりやすくて使いやすかった。こっちがやりたいとおりに素直に動いてくれた。iMovieやiDVDなんて感動しましたね。マニュアルなんかまったく読まないで姪の結婚式のDVDや同窓会のムービーが簡単にできてしまったもの。

ところが、最近のアップルのソフトはどんどん使えなくなっている。最近のiMovieはどう使えばよいかさっぱり想像がつかないので、昔のバージョンをいまだに使っている(使えるアプリがあるのに、わざわざマニュアル読みません)。iPhotoなんて、余計なファイルをコピーばっかりするから、全然使っていない。デフォルトだとiPhoneやiPadつなぐと勝手にiPhoto起動して写真をコピーしちゃうけど、速攻でこの設定はオフにした。

iCloudができてこの傾向に拍車がかかっている。「iCloudが超便利」などいう記事を見かけるけど、ワタシャほとんど使いません。Pagesとか勝手に同期しないで欲しいわ。iWorksの同期機能も速攻でオフにした(もっともメモ帳や住所録の共有はオンにしてますがね)。

外へ出てiPadでPagesとか使う人、何%いるの? 5%ぐらいじゃないだろうか。どんなに多く見積もっても、3割はいないと思う。

つまりあとの7割の人にとっては、どんどん使いにくい方向に行っているわけですよ。余計な設定が加わって、iCloudで使わないようにするには、わざわざ環境設定でオフにしなければならない。 PagesとかKeynoteとかの書類や写真しか保存できないクラウドって意味あるの? DropboxとかTresoritとかのほうがよっぽど便利だわ。

これが正しい方向でしょうか?

写真の整理にゃ、プレビューが最高

iPhoneで撮った写真だけでなく、他のカメラで撮った写真の整理にも「プレビュー」が使えます。大変便利です。 まずiPhone/iPadの写真を整理するなら、次のようにするのがおすすめ(もちろん、iPhotoが起動してしまったら、[環境設定]で自動的に起動しないよう設定しておきましょう)。

  1. iPhone/iPadをMacにつなぎます。
  2. Macの「アプリケーション」フォルダにある「プレビュー」アプリを開きます。
  3. [ファイル]メニューの下のほうにある[XXX から読み込む](XXXはiPhone/iPadの機種名)を選択します。
  4. まず、表示された写真のうち、明らかに不要な写真を選択して、左下の<削除アイコン>をクリックして消してしまいましょう。単なるピンぼけ写真や、同じようなものが何枚もあるのはここで消すのがおすすめ。
  5. 次に、[すべてを読み込む]をクリックして、フォルダを指定してMacにコピーします。

これでマックにコピーされると同時に、プレビューに写真が読み込まれます。

左側に「サムネール」が表示され、それを選択すると右側に写真が大きく表示されます。回転したり、拡大・縮小したりはメニューを選べば簡単にできます。「やっぱりいらない」と思ったやつはサムネールをクリックしてからcommand+deleteをクリックして消してしまいましょう(マウスの右クリックあるいはcontrol+クリックでも消せます)。

余計なファイルは作らないし、ホンとシンプルで便利。

ちなみにすでにマックに入っている写真なら、プレビューを起動しておいてフォルダごとDockのプレビューのアイコンにドラッグすると、同じようにサムネールを表示してくれます。 今試してみたら、写真がたくさん入っているフォルダがいっぱい入っているフォルダ(フォルダのフォルダ)をドラッグしても大丈夫。全部の写真をサムネールで確認できます。

今日の肝

  • iPhone/iPadや他のデジカメで撮った写真を整理するのにはマックの「プレビュー」を使うのが一番シンプルでいいと思う。

iPhoneカンフーの目次はこちら

カンフーマック番外編の目次はこちら

2014-06-28

iPhoneカンフー #021 ブラウザで一番上に戻る

今日の肝

  • 画面一番上の時刻を(ダブル)タップすると、ブラウザで表示中のページの一番上に簡単に戻れる

iPhoneで結構長いページを表示していて、一番上に戻りたくなるときありますよね。 検索フォームとかが上にあるときとか。

えっちらおっちら上にスクロールするより、時刻の表示されている黒い帯をダブルタップしましょう。

これで簡単に一番上に戻れます。知っていると、とても便利!

ちなみにこのワザはiPadでも使えます。また、ブラウザがChromeの場合はシングルタップで戻りますね。

2014-06-23

ビデオ会議アプリWhereby(旧名称 appear.in)が便利(2014年6月23日作成。2020年1月5日更新)

5月から翻訳講座を始めたのですが、教室にいらっしゃれない方がいるので、なんとか様子を中継して差し上げることはできないかなと思ってアプリを探していました。

そしたらビックリするほど簡単なのが見つかりました。それが wherebyです(旧名称は appear.in・)。

使うにはどうすればいいかというと、ブラウザでhttps://whereby.com/xxx と入力するだけ。

xxxは適当な名前で、基本的には他のセッションとぶつかっていなければ大丈夫。中継して欲しい人にhttps://whereby.com/xxx にアクセスしてもらえば、それで双方向のビデオ会議が開始されます。

翻訳者の方は、必ずしもこの方面に詳しくない人が多いので、「アプリをダウンロードして」「アカウントを取得して」「ログイン名はこれで」とかいう細かい話はできるだけ避けたいわけですが、これなら誰でも使えます。

  • 今のところ、Chrome、Firefox、Operaのみ対応(Windows、Mac、Android)。最近iPhoneアプリもできて、試してみたら2時間つなぎっぱなしでも大丈夫でした。WiFiがなくてもでも大丈夫です(長時間になると帯域制限とかかかっちゃうのかな?)。
  • lockすることで第三者が入ってこられないようにできる
  • 8人まで一度につなげる
  • 今のところまったく無料。メアドの登録も簡単に使う分には必要なし(将来はプロ版とかで儲けるのかな〜)。

誰でも簡単に使えるのがすばらしい! 

2014-06-12

Swiftカンフー #002 標準入力から文字列をもらう

プログラミング言語を覚えるには「実際に役に立つプログラムを作ってみるのが一番」というわけで、翻訳作業で役に立つプログラムを作成してみることにしました。

私が自作するプログラムの多くは「フィルタ」です。ファイル(あるいはキーボード)から文字列を読み込んで、何かを処理して出力する。

標準入力(stdin)から文字列をもらう

フィルタを作るには標準入力からの読み込みができないとなりません。C言語のscanf()とか、C++のcinとかみたいに。

Google大明神にお願いすること数度、何とかできました。出典はstackoverflowです。

// example-01-stdin.swift
import Foundation  // Objective-CのNSFileHandleなどが使えるようになる

func データ読み込み() -> String {
  var 標準入力用ファイルハンドル = NSFileHandle.fileHandleWithStandardInput()
  var 生データ = 標準入力用ファイルハンドル.availableData
  var 文字列データ = NSString(data: 生データ, encoding:NSUTF8StringEncoding)
  return 文字列データ
}

func 何か処理(入力文字列: String) -> String {
  return 入力文字列 + 入力文字列 // 2度繰り返す
}

var 読み込んだ文字列 = データ読み込み()
while 読み込んだ文字列 != "" {
  let 処理後の文字列 = 何か処理(読み込んだ文字列) // ここで処理
  print(処理後の文字列)
  読み込んだ文字列 = データ読み込み()
}

2014-06-11

Swiftカンフー #001 関数から複数の値が戻ってきたときの処理

もうじきiOSの本を出版するので、Swiftは避けて通ることができません。

というか、なかなか悪くない言語かなと思っています。

GoogleのDartも悪くないと思ったのですが、やっぱりそう簡単には広まりません。だいいち実行速度が遅すぎるし...。 しかしAppleがiOSやMac用に採用したとなると、強制的に広まることになります。

というわけで、Swiftのお勉強を始めることにしました。

関数は複数の値を返せる

Swiftの関数は複数の値を返せます。たとえば次のように定義します。

func ガソリンスタンドの価格表() ->(灯油: Int, レギュラー: Int, ハイオク: Int) {
  return (114, 152, 168)
}

しかし、日本語が変数名や関数名に使えるというのはメチャわかりやすいですね。ふ〜む。変数とテキストの区別がつかなくなるかと心配していたのですが、それは杞憂のような気もします。もっとも、英語ネイティブな人々はいつもこんな風に書いているわけですからね。かえって、funcとかIntとかreturnとか、キーワードが目立ってわかりやすいかもしれませんね。

複数の値をもらうには?

関数から複数の値が返ってくるのは、はっきり言って便利です。 ポインタとか使わなくていいですし、明確です。 JavaScriptでもオブジェクトを返せば複数の値を簡単に返せますが、私はすぐに気がつかなかったです。それに対して、こう明確になっていると明確。もっともPHPは返せましたよね(色々やっていると混乱する...)。

さて、「返ってきた複数の値をどう処理したらいいんだろう?」と思ったら、タプル(tuple)というのを使えばいいのです。あえて訳せば「n組」「n個の組」とでも言いましょうか。Wikipediaを見ると「組」という訳も使われているみたいですね。

じつは関数定義の次の部分は「タプルを返しますよ」という宣言なのでした。この場合は「三つ組み」を返しますということですね。

 ->(灯油: Int, レギュラー: Int, ハイオク: Int) 

それで、受け取る側は次のようにタプルで受け取ればいい。

func ガソリンスタンドの価格表() ->(灯油: Int, レギュラー: Int, ハイオク: Int) {
  return (114, 152, 168)
}

let (灯油, レギュラー, ハイオク) = ガソリンスタンドの価格表()  ## ★★ここ★★ letは定数の定義

println("本日の価格(税込) -- 灯油:\(灯油)円 レギュラー:\(レギュラー)円  ハイオク:\(ハイオク)円");

実行結果はこちら。

% swift -i example-01-func-multi-value1.swift ## ← -iでファイルを指定できる
本日の価格(税込) -- 灯油:114円 レギュラー:152円  ハイオク:168円

% swift  example-01-func-multi-value1.swift ## ←オプションを指定しないと実行ファイルを作る

% ./example-01-func-multi-value1   ## これで実行できちゃう
本日の価格(税込) -- 灯油:114円 レギュラー:152円  ハイオク:168円
  • let —— 定数の定義
  • println —— 1行出力。「\(<変数>)」で変数の値を入れられる。ライブラリとかインクルードしなくても使える。

なお、タプルをひとつの変数に代入することもできるようです。最後に、全部まとめてソースを書いておきましょう。

/* ファイル名: example-01-func-multi-value1.swfit */

// 関数の定義
func ガソリンスタンドの価格表() ->(灯油: Int, レギュラー: Int, ハイオク: Int) {
  return (114, 152, 168)
}

let (灯油, レギュラー, ハイオク) = ガソリンスタンドの価格表() // タプルで受け取る
println("本日の価格(税込) -- 灯油:\(灯油)円 レギュラー:\(レギュラー)円  ハイオク:\(ハイオク)円");

let 価格表 = ガソリンスタンドの価格表() // こうすることもできる
println("本日の価格(税込) -- 灯油:\(価格表.灯油)円 レギュラー:\(価格表.レギュラー)円  ハイオク:\(価格表.ハイオク)円");

2014-06-03

まさか新しいプログラミング言語Swiftが出てくるとは

アップルのWWDCが始まった。まず言っておきますけど、これは世界「開発者」会議であって、アップルの新製品発表会ではありません。 したがって、この会議で新製品が出てこないのは「あたりまえ」なのです。新製品が出てくることがおかしいのです。

しかし、新しいプログラミング言語が出てくるとは思いませんでしたな。 新しい市場を切り開いてくれますなあ。アップルさん。

おかげで新しいネタはできますが、ついていくのは大変です。

開発者も、みんなそんなにswiftに移行はできないのではないでしょうか。

SwiftはSwiftでも、Jonathan Swiftの『ガリバー旅行記』に出てくる巨人のようになってしまいやしないだろうか。

2014-05-30

iPhoneカンフー #020 通知センターの消去

iPhoneカンフーの目次はこちら

#018で「コントロールセンター」の閉じ方について書きましたが、iOS 7.1から「通知センター」も同じ閉じ方ができるようになりましたのでご紹介。

「通知センター」は画面最上部を↓方向にスライドすると表示されます(ロック画面だと上中央に「白い棒」が表示されますが上辺のどこを下にスライドしても大丈夫です)。

iOS 7.1から、下の辺の任意の場所を軽くタップすれば消えてくれるのです。

コントロールセンターとは違って、画面全体を表示しているので、他の領域をタップすることはできませんが、真ん中を狙わなくても大丈夫です。

このワザはiPadでも使えます。

今日の肝

  • 通知を閉じるのに下辺の中央部を上にスライドする必要はない。下辺の任意の部分をタップすればよい。