投稿

2019の投稿を表示しています

【iOS】メモ Swift4 transform 最大値 、最小値

let max = 10.0 let min = 0.5 let  scale =  sqrt ( abs ( self . transform . a  *  self . transform . d  -  self . transform . b  *  self . transform . c )) if (scale >  max ){  self . transform  =  self . transform . scaledBy (x:  max  / scale, y:  max  / scale) } else   if (scale <  min  ){  self . transform  =  self . transform . scaledBy (x:  min  / scale, y:  min  / scale) }

【iOS】指定の言語のStringを取得したい時

多言語化を実装されていて、とある要件で日本語の端末の状態で、 日本語と英語だった場合のStringがほしい時に書きました。 ja.lproj とか en.lproj とかを直接読み込んで、やってます。 引数に、 en とか iOS でローカライズ化した言語を指定する。 key は、ローカライズのkeyです。 エラー処理等は入れて無いので、適宜やってね。 func SelectLocalizeString(lang: String ,   key: String ) -> String {      let p: String ? = Bundle . main . path (forResource: lang, ofType: "lproj" )     let b: Bundle ? = Bundle (path: p!)     return NSLocalizedString (key, tableName: nil , bundle: b!, value: key, comment: nil ) }

【android】android OS アップデート保証期間

google の公式でさえ、約3年間 か。 企業からしたら、売り切りの商品だから気持ちわかる。 まぁ、それくらいのサイクルが妥当か。。。 てか、十分すぎる。 ほぼ、無償でOSのメンテを3年間もやってくれるなんて、すごいでしょ。

嵐や本田翼のyoutube やっぱ芸能人はすげーや。

タイトル通りです、 いまさらながら、芸能人はすごいなぁと思いました。 音楽ならCD売れない時代、俳優、女優業も 1人しかいない都合、 映画やドラマも並行してできないし、他局に出る場合、同じ時間帯は出れないし、 などなど、色々と制約がある。 これから一気に、進出してくるのだろうと思います。 特に、事務所独自に、コンテンツの権利を持ってる場合は、 即配信できると思うので、最高の稼げる場所かと思います。 CMとか、テレビや別企業が絡んでいるものは、 権利上難しいので、 音楽業界はこうやって稼ぐのもありかなと。 あと、youtubeのJASRAC管轄の部分とか、どうなんだろう。 youtubeの収益の一部を、JASRACに支払いをしたりするのだろうか。 大好きな、女優さんとかの動画とか、公式にだしてくれないかなと思ったり。 全く、技術とは関係ないですが、思ったことを書きなぐりました。 共感して頂いた方は、ぜひ いいね  チャンネル登録をお願いします。 そうそう、youtube で 嵐が登録されたので、 youtube music でも聞けます!! あと、音質はどうなのだろう、プロの方ぜひ教えてほしいです。 CDとか、有料で購入したほうが、音質とかは良いのかな? 以上、ながながと、読んでいただきありがとうございます。

【iOS】iOS のローカライズファイルの件

多言語化対応などで、 Localizable.strings のファイルを対応言語分用意しますが、 みなさんはどのように、用意していますか? 地道に、コピペしたりしているのでしょうか? プログラマーなら、簡単に出力できるようなやつがあったりしないかな? よく、クライアントからいただく、翻訳データは、エクセルのものが多く、 そこから、コピペしていくのがすごく手間なんですよね。。。。 エクセルベースで簡単に出力できるように、できないかな・・・。 VBAでマクロ組んでも良い気がします。 需要があれば、作成して公開しても良いですね。

【iOS】Swift iOS システムフォントの名前を取得ってどうやるの?

var name =   UIFont . systemFont (ofSize: 10). fontName とりあえずこれでいいかな? 他に良い方法あるかな

【android】宣伝です。自作のandroidアプリをリリースしています。

android のアプリで、 youtubeのLiveしているチャット部分を表示するだけのアプリです。 何故か、1000 ダウンロード以上の実績があったりします。 https://play.google.com/store/apps/details?id=com.kixking1020.chatview_youtube_v2 需要があるのか無いのか、よくわからないです。 ぜひ試しに、インストールしてみてください。 日本のユーザーより、海外の方がインストールしているようです。 なぜだろう・・・。

Made by Google '19

イメージ
日本時間で 2019/10/15   23時からです。 ・Pixel Buds       が 来年 ・Google Stadia  が11月 ・Pixel 4             このへんで力尽きて寝てしまいました・・・・。

台風19号 大丈夫ですか?

幸いなことに、我が家では強風で揺れはしましたが、 停電などもなく、無事です。

macOS Catalina え? アプリ動かない?

ちゃんと設定すれば大丈夫そう。 未署名(公式の署名ではない)アプリは起動できないかも。 と思っていましたが、設定変更できる様子。 まぁ、すぐにOSは更新しないほうが良さそうだなぁ。 特に、開発で利用してるやつはなおさら、あげないほうが良いな。

【iOS】今更聞けない、UIViewControllerのライフサイクル。 (Swift)

いまさら聞けない、UIViewControllerのライフサイクル。(Swift) 下記が主なイベント class ViewController : UIViewController {     override func viewDidLoad () {         super . viewDidLoad ()         print ( "viewDidLoad" )     }          override func viewWillAppear ( _ animated: Bool ) {         super . viewWillAppear (animated)         print ( "viewWillAppear" )     }     override func viewDidAppear ( _ animated: Bool ) {         super . viewDidAppear (animated)         print ( "viewDidAppear" )     }     override func viewWillLayoutSubviews () {         super . viewWillLayoutSubviews ()         print ( "viewWillLayoutSubviews" )     }     override func viewDidLayoutSubviews () {         super . viewDidLayoutSubviews ()         print ( "viewDidLayoutSubviews" )     }     override func viewWillDisappear ( _ animated: Bool ) {         super . viewWillDisappear (animated)         print ( &quo

【iOS】 ヒラギノフォントが切れる件 ( UILabel )

イメージ
iOS で開発していると、フォント指定がありますが、 ヒラギノフォントを指定した場合、 UILabel ( UIButton ) で表示しようとすると文字が切れるやつがいます。 特に、sizeToFit() を呼ぶと結構悲惨です。 切れる可能性がある文字たちは下記 ① gjpqy Ä Ö Ü ß ĀĂĄąĆĈĊČĎ Ņ gjの文字が消えないように検索したら、 他のサイトでは、 NSAttributedString.Key.baselineOffset: NSNumber(value:1.0) とか位置少し上にずらして attributedText に入れるとか記載がありますが完全ではありませんでした。 Ä Ö Ü の「..」のなどの部分が切れてしまいます。  そこで、どうしてもだめだったら、完全では無いですが、 下記を試して見てください。 clipsToBounds = false 意外と盲点だったりします。 まぁ、画面上下ピッタリの場合はだめかも知れませんが. こんな感じに表示可能です。(赤が本来のViewの領域)

【Stadia】Google Stadia でゲームがしたい。

日本のローンチが決まったら買います。やります。 ネット環境あればできるので、とても楽しみです。 さて、Google Stadia 日本はいつになることやら。。。 おそらく、PS5が出るまでには、日本対応するだろうかと思います。 それと、ソフトのラインナップがどれくらいになるかも気になるところ。 おそらく、PCをに移植されてるものなら、早いだろうと・・・。 海外では11月なので。 来年になるのかと思います。 英語のgoogle Store なら プレオーダできますが、 日本への発送は行っていないので、入手するには、輸入するしかない・・・。 日本国内でできるかは、わからないけどね。 まぁ、どうにかやる手段はあるだろうと思うけど。 結論は、正式リリースを待ちます。

macOS Mojaveに更新したら、Gitコマンドが動かなくなった・・・・。

いやぁ。 びっくりした。 macOS Mojave へ 更新したら、Gitコマンドが使えなくなってた・・・。 xcrun: error: invalid active developer path (/Library/Developer/CommandLineTools), missing xcrun at: /Library/Developer/CommandLineTools/usr/bin/xcrun こんなんでてきてびっくり。 色々とgoogle 様にお伺いをたてたら。 ターミナルから下記を実行したら行けた。 xcode-select --install ふー。  よかった。

【iOS】ITMS-90683 リジェクトされた。

申請しようとして、怒られた件 ITMS-90683 は、ほとんどの場合、 Info.plist に利用する理由(目的)の記載が無いのが理由です。 端末のいろんな機能を利用する場合は必ず、記載するようにしましょう。 NSCameraUsageDescription NSMicrophoneUsageDescription NSPhotoLibraryUsageDescription NSPhotoLibraryAddUsageDescription NSAppleMusicUsageDescription NSLocationAlwaysUsageDescription NSLocationWhenInUseUsageDescription NSMotionUsageDescription NSBluetoothPeripheralUsageDescription (  ~ iOS 12  ) NSBluetoothAlwaysUsageDescription  (  iOS 13 ~  ) NSCalendarsUsageDescription NSContactsUsageDescription NSHealthShareUsageDescription NSHealthUpdateUsageDescription NSHomeKitUsageDescription NSRemindersUsageDescription NSSiriUsageDescription NSSpeechRecognitionUsageDescription NFCReaderUsageDescription NSFaceIDUsageDescription NSVideoSubscriberAccountUsageDescription

【iOS】iOS13 / iPadOS 13 対応端末について

メモ iOS 13 対応端末は下記となりそうです。 iPhone 11 iPhone 11 Pro iPhone 11 Pro Max iPhone XS iPhone XS Max iPhone XR iPhone X iPhone 8 iPhone 8 Plus iPhone 7 iPhone 7 Plus iPhone 6s iPhone 6s Plus iPhone SE iPod touch(第7世代) iPadOS 13 対応端末は下記となりそうです。 12.9インチiPad Pro 11インチiPad Pro 10.5インチiPad Pro 9.7インチiPad Pro iPad(第7世代) iPad(第6世代) iPad(第5世代) iPad mini(第5世代) iPad mini 4 iPad Air(第3世代) iPad Air 2

ダークサイト

いや、先日ちょっとダークサイトなるものが話題になった。 え? まだそんなものあるの? 都市伝説と思っていたのですが。 実際にあるらしい。。。。 Googleでも検索に引っかからず、 特定のお作法でアクセス可能になるとか、 少し調べたら、ダークサイトへのアクセス方法やら、 サーバー(サイト)の立て方とかは、Googleの検索で分かった。 まぁ、アクセスする用事はないので、実際にはアクセスなどはやらないですけど。 リスクが大きすぎるきがするので。 あ。何があっても自己責任なので、素人は手を出しちゃいけないとのこと。

【android】android 10 (Q) アップデートがPixel3などに来ました。

イメージ
ニュースでandroid 10 が今日(2019年09月04日)リリースされた事を知り、 早速確認してみた。 そしたら我がPixel3にアップデート有り。 すごく、悩んで実はまだ更新していません。 だって、既存のアプリがまだ対応していないものがある可能性があるので ちょっと、たってから更新してみようと思います。 あと、ダークテーマが気になるので、更新したら確認してこうと思います。

AWS 東京リージョン 不具合

2019/08/23  13時 頃からAWSの東京リージョンで不具合が発生して、 大変だった。。。。 リージョン単位で不具合が発生する怖さを味わった感じ。 EC2やら、RDSやら、アクセス不可などになっている感じでした。 なんとなく、サーバーが停止したのでは無く、 EC2やRDSの外側のネットワーク関連がだめだったのではと思います。 一部のサーバーでSSHでのログインも不可だったし、 Ping打っても、かえって来なかったし。 まぁ、順次復旧しているとの事。

【git】Updates were rejected because the tag already exists in the remote.

プッシュしようとすると、下記のエラーが出た。 Updates were rejected because the tag already exists in the remote. もし、エラーがでたら git pull --tags これで治った。

さて、9月に iOS 13 とか 新しいiPhoneが本当に出る?

最近は、注目度が上がりすぎて、事前にリークされて、やっぱりか。。。 とか感じていまうので、発表会がある場合は、あえて検索は避けてます。 発表会とかニュースで新発売! とか見たほうがワクワクする。

参考にするのはいいのだけど・・・。

プログラムを書く仕事をしていて ブログとか、ネットにサンプルが載っていたりするのを参考にしたりするけど、 本当に実装する時、コメントとか、変数名、メソッド名、インデント、まで、 そのまんま使うってどうなのだろうか・・・・。 サンプルを参考にしても良いが、 案件のコーディングルールに則って、書き直すべきだと思うんだ。 実装スピードは早いかもしれないが、 あとで、誰かが見直すとここだけ、書き方違う! って指摘、で検索かけると、ここを参考にしたなって。 なる。 これが、著作権など放棄、商用利用OKなら良いが、 ダメなやつまでやられると終わりだよね・・・。

【iOS】Swiftでの16進数変換 周り

メモメモ Int ( "10" , radix: 16 )! // 16 Int ( "16" , radix: 16 )! // 22 String ( 10 , radix: 16 ) //  a String ( 16 , radix: 16 ) //  10 あとこの方法で文字列として16進数を表記した時は、 a~f の表記は小文字なので注意が必要です。 うっかり、文字列で比較する人がいた場合。 let i = 10 // 10進数で動的に変わるとして if ( String ( i , radix: 16 ) == "A" ){   print ( "true" ) } else {   print ( "false" ) } こんな事をやろうものなら、いくらやっても true にならないから注意が必要です。

【iOS】swift4 ナビゲーションコントローラー 非活性化

タイトル通りで、 ボタンを押せなくする方法。 self . navigationController ?. navigationBar . isUserInteractionEnabled = false ちゃんと、押せるように戻すようにしておくこと!

たまに忘れる。 時間合わせ. ntpdate

memo #ntpdate -v ntp.nict.jp

頑張って、変わっていこう。

最近、仕事が上手くいってないので、 改善していこう。 楽しくなるように。

Mac pro

先日、WWDCで発表された、Mac pro 誰をターゲットにしているのか、 60万円台とか結構無理があるでしょ。 会社で買おうかな。 その分、稼ぐからさ。 仕事頑張ろう。

【iPad】iPadOS13 って。

とうとう、OSが別れましたね、 OSが肥大化してきたので、分けようと思ったのでしょう。 いつのまにか、iPadは、Mac OS が入るようになってたりして。。。 まさかね。 いや、でも、ありえそう。

【iOS】swift の 配列を for する時、、、

Swift 4で確認済み ちょっと恥ずかしい話、 var array = [ "1" , "2" ] for i in 0 ... array . count - 1 {          print ( array [i]) } ↓ こう書けば良かったんだ。 for i in 0 ..< array . count {          print ( array [i]) } いや、必ず要素が1個以上ある場合は、いいんだけど。 要素が0個の時、強制終了する。

地球は丸かった(google map)

イメージ
知らなかったのは、自分だけかもしれませんが、 google map を 手前に引いていったら、地球が丸いことがわかりました。 こんな機能って前からあったかなぁ。 気が付かなかった。 もちろん、航空写真に切り替えられます。

iPod touch 新型 公開されてた。

iPod touchが公開されていたようです。 公式ページからも購入可能なようです。 androidユーザーなので、値段も32GBのやつなら、 それなりに手頃なので、購入しようかな。 iOSの4インチ端末ってちょうど良いサイズだと思うんですよね。 あ〜、でも、同じ金額くらいの白ロム買うっていう、手段も有りかな。 どっちが良いかなぁ。

Amazon. co. jp にご登録のアカウント(名前、パスワード、その他個人情報)の確認 (迷惑メール)

タイトルの通り、 迷惑メール来た。一瞬焦ったよー。 ログインのURLのドメインがすごく怪しいので絶対に押しちゃ行けないよ。 ( リンクや画像は消してあります) 下記のような  html メールが届きました。 ---- Аmazon お客様     Аmazon に登録いただいたお客様に、Аmazon アカウントの情報更新をお届けします。 残念ながら、Аmazon のアカウントを更新できませんでした。 今回は、カードが期限切れになってるか、請求先住所が変更されたなど、さまざまな理由でカードの情報を更新できませんでした。 アカウント情報の一部が誤っている故に、お客様のアカウントを維持するため   Аmazon   アカウントの 情報を確認する必要があります。下からアカウントをログインし、情報を更新してください。 Аmazon ログイン   なお、24時間以内にご確認がない場合、誠に申し訳ございません、お客様の安全の為、アカウントの利用制限をさせていただきますので、予めご了承ください。 アカウントに登録のEメールアドレスにアクセスできない場合 お問い合わせ: Amazonカスタマーサービス。 お知らせ:   パスワードは誰にも教えないでください。 個人情報と関係がなく、推測しにくいパスワードを作成してください。大文字と小文字、数字、および記号を必ず使用してください。   オンラインアカウントごとに、異なるパスワードを使用してください。 どうぞよろしくお願いいたします。   Аmazon   ----

Xcode 日本語無いよ。

イメージ
なんか最近ですが、 Xcodeの対応言語は英語しか無いのかと、びっくりする方がいました。 まぁ、英語くらい覚えようよってのが一番かもしれませんが・・・。 プログラムを組むのも英語? なので、 ツールのUI部分はほとんどが技術用語なので、英語で覚えろって事何でしょうね。 いちいち、翻訳してられるか!  って感じですかね。 それと、ちょっと余談ですが、 日本語でプログラムを組む事はないかと思うのですが 変数名や関数名を日本語にしたりとかでます。 すごくかっこ悪いよね〜。

github って プライベートリポジトリつくれるじゃん!

表題の通り、なんとMSに買収されてから、 プライベートリポジトリも制限つきだけど、作れるようになったとの事。 リポジトリの個数制限も無いっぽい。 知らなかったよ・・・・。

【iOS】ヒラギノ問題

iOS ってヒラギノフォントを対応はしているのですが、 UILabelで英字の jg などの 特定の文字だけ、下の部分が切れてしまいます。 sizetofit() とかやっても切れます。 AutoLayoutでも駄目です。 この仕様はどうにかしてほしい・・・・。 対策案) ・Layoutを作成するとき、高さを明示的に固定で大きめに取る ・ソース上で個々に対応する(検索すれば、いろいろ出てきます) これくらいしか対策が思いつ来ません。 ある程度、開発が進んで個数が多い場合は、あとからきつくなる問題です。

AMAZON SNS Ruby On Rails にて実装した。

プッシュ通知の実装のしかたって、何が一番正解なのだろうか・・・。 デバイストークンはどこに貯める(保存)? ・Amazon SNS 側のみ。 ・サーバー等に集約する。 結局のところ、両方が正しいのだろうか・・・ 両方で管理してもあまり効率が良さそうで無い・・・  ※最終的に何をしたいかで決まるが・・・。 大まかな流れ)  デバイストークンを投げる(直接?サーバー経由?) ↓ アプリケーションに登録とトピックへ登録 ↓ 配信指示 ・一斉送信をする場合は、トピックに登録するのを忘れずに。 ・完全個別配信の場合は、トピックは無くてもよい。 SNSの不便な点 ・デバイストークンの総数を取得する機能が無い。 100件づつ取得する機能はあるが、全て数えるとなるとすごく時間がかかる。 100万件とかあると地獄・・・・ ・一斉配信はアプリケーションにトークン登録してからトピックへ登録する必要有り。   export機能とかあってもよいのではないか? -------- 送信スペック ・トピックにて配信  10万件 程度なら、誤差1分もかからないかも。 ゴミ掃除 ・トークンとか無効なやつは削除してあげた方が良い。 殴り書き中ですが、今日はここまで。気が向いたら、続きを!

AMAZON SNS 管理画面 UIが変わった・・・。

AMAZON  SNS 今日アクセスしたら、昨日までみていた画面と変わっていて困惑中、、、 主に、google 関連のGCM  → FCM に表記が変わって、きれいなUIになっている。

AMAZON SNS の証明書

AMAZON SNSでiOS用のプッシュ通知の証明書(.p12)は、 なぜかファイル名にマルチバイト文字があるとアップ時にエラーになる。 解決する方法は、半角英数字の文字のファイル名にすればアップできた。 なんだかなぁ。これくらいは対応してほしい。

【iOS】Swiftでtransformから角度、ラジアン、ディグリー、スケールを求める

メモ Swift 4 でtransformから角度、ラジアン、ディグリー、スケールを求める 忘れがちなので・・・。 let transform = view.transform let radians = atan2(transform.b, transform.a) let degrees = radians * 180 / .pi let scale = sqrt(abs(transform.a * transform.d - transform.b * transform.c)) import CoreGraphics extension CGAffineTransform { var angle: CGFloat { return atan2(b, a) } var radians: CGFloat { return angle } var degrees: CGFloat { return angle * 180.0 / CGFloat.pi } var scale: CGPoint { return CGPoint(x: sqrt(a * a + c * c), y: sqrt(b * b + d * d)) } } // 例として、適当な CGAffineTransform を作成 let transform = CGAffineTransform(rotationAngle: CGFloat.pi/4).scaledBy(x: 2.0, y: 1.5) let angleInRadians = transform.radians let angleInDegrees = transform.degrees let scale = transform.scale print("Angle in radians: \(angleInRadians)") print("Angle in degrees: \(angleInDegrees)") print("Scale: \(sca

【iOS】UIViewの当たり判定( swift )

UIViewの当たり判定メモ          let myView:UIView = UIView     override func hitTest( _ point: CGPoint , with event: UIEvent ?) -> UIView ? {         let v =  myView . hitTest (point, with: event)          return  v     } こんな感じで取れる。 あたって入ればvの中にはあたったViewが入ってる。 ハズレならnil 

Locale.availableIdentifiers の中身 iOS 12

iOS 12   iPhone7 にて確認して現在は797 種類あるようです。 let i dentifiers = Locale . availableIdentifiers ▿ 797 elements   - 0 : "eu"   - 1 : "hr_BA"   - 2 : "en_CM"   - 3 : "en_BI"   - 4 : "rw_RW"   - 5 : "ast"   - 6 : "en_SZ"   - 7 : "he_IL"   - 8 : "ar"   - 9 : "uz_Arab"   - 10 : "en_PN"   - 11 : "as"   - 12 : "en_NF"   - 13 : "ks_IN"   - 14 : "es_KY"   - 15 : "rwk_TZ"   - 16 : "zh_Hant_TW"   - 17 : "en_CN"   - 18 : "gsw_LI"   - 19 : "ta_IN"   - 20 : "th_TH"   - 21 : "es_EA"   - 22 : "fr_GF"   - 23 : "ar_001"   - 24 : "en_RW"   - 25 : "tr_TR"   - 26 : "de_CH"   - 27 : "ee_TG"   - 28 : "en_NG"   - 29 : "fr_TG"   - 30 : "az"   - 31 : "fr_SC"