全7件 (7件中 1-7件目)
1
1.情報を取得するアプリ提供者 たくぷれっさ2号機2.取得するユーザー情報と目的 A.ゲーム実行情報の記録 当アプリケーションでは、各ゲームの実行後に、実行者名、実行時間、実行結果を保存しますが、 あくまでゲームの挑戦履歴を保存することを目的としており、その他の目的では一切使用致しませ ん。 また、これらの情報はアプリケーション内のデータファイルの中に保存され、ご利用者の端末から 他の機器へ情報が送信されることはありません。 B.広告について 当アプリケーションでは、広告配信ツールとしてAdMob(Google Inc.)を使用しており、 AdMobがご利用者の情報を自動取得する場合があります。 取得する情報、利用目的、第三者への提供等につきましては、以下の広告配信事業者のアプリケー ション・プライバシーポリシーのリンクよりご確認ください。 Google 広告に関するポリシー https://policies.google.com/technologies/ads?hl=ja
2020.03.30
コメント(0)
![]()
ハマったことその2。これもAdMobと直接関係ないバグです。AdMobでは事前にアプリ情報を登録して、アプリIDと広告IDというやつを取得する必要があります。広告IDは、開発中はテスト用のIDを使用することが推奨されています。開発中も本番用のID使っていると、最悪アカウント停止になるようです。なので、プロジェクトのコンフィグレーションにより広告IDを動的に切り替えられるようにと思って下のようなコード書いたのですが、全く表示されない。---let configuration = Bundle.main.infoDictionary!["Configuration"] if(configuration as! String == "Debug") { self.bannerView.adUnitID = "ca-app-pub-xxxxxxxxxxxxxxxx/xxxxxxxxxx" } else if(configuration as! String == "Release") { self.bannerView.adUnitID = "ca-app-pub-yyyyyyyyyyyyyyyy/yyyyyyyyyy" }---おや?と思い、ブレークポイント置いてみたら、if にも else if にも引っかかっていない。info.plist から上手いことコンフィグレーションが取得できてなかったようです。で、下のように修正しました。--- #if DEBUGself.bannerView.adUnitID ="ca-app-pub-xxxxxxxxxxxxxxxx/xxxxxxxxxx" #elseself.bannerView.adUnitID ="ca-app-pub-yyyyyyyyyyyyyyyy/yyyyyyyyyy"#endif---無事完了。ただの無知です。macbook pro air 13 15 インチ ケース カバー macbookpro シェルケース macbookair パソコンケース PC保護ケース マックケース マックブック mac book マッキントッシュ アート デザイン Retina価格:4680円(税込、送料無料) (2020/3/30時点)楽天で購入
2020.03.29
コメント(0)
![]()
AppStoreへのアプリ配布を視野に、せっかくなのでバナー広告でも追加してみようかと思い、GoogleさんのAdMobを実装してみました。いろいろ躓いたんですが、その中で特にくだらない躓きから晒して行こうかと思います。AdMobはチュートリアルとサンプルコードが充実していて、ほぼコピペで済むくらい実装が楽です。サンプルコードが唯一頭を悩ませたのが、バナービューの追加。こちらがサンプル。---view.addSubview(bannerView)view.addConstraints( [NSLayoutConstraint(item: bannerView, attribute: .bottom, relatedBy: .equal, toItem: bottomLayoutGuide, attribute: .top, multiplier: 1, constant: 0), NSLayoutConstraint(item: bannerView, attribute: .centerX, relatedBy: .equal, toItem: view, attribute: .centerX, multiplier: 1, constant: 0) ])---ビューにバナービューに追加して、セーフエリアの最下段に追加していますが、Googleさんのサンプルコードが古いのか、BAD ACCESS(だったっけ?) になりました。んで、修正版。---bannerView.translatesAutoresizingMaskIntoConstraints = falsebannerView.translatesAutoresizingMaskIntoConstraints = falseself.view.addSubview(bannerView)bannerView.widthAnchor.constraint(equalToConstant: 320).isActive = truebannerView.heightAnchor.constraint(equalToConstant: 50).isActive = truebannerView.bottomAnchor.constraint(equalTo: view.safeAreaLayoutGuide.bottomAnchor).isActive = truebannerView.centerXAnchor.constraint(equalTo: view.centerXAnchor).isActive = true---無事成功。ビューの配置についてAdMobとは直接関係ありませんが、同じ罠にはまらないように。MacBook キーボードカバー 日本語 ( JIS配列 ) Air Pro Retina Pro13 Pro15 Touch Bar 11 12 13 15インチ Early 2015 2016 Apple Wireless Keyboard カバー《RMC 限定 オリジナル デザインカラー》 キーボード cover マック マックブック Mac iMac キーボードカバー価格:1329円(税込、送料別) (2020/3/30時点)楽天で購入
2020.03.29
コメント(0)

座標を扱う構造体のCGPoint。swift でこれ使いたくて変数定義をした。---var center : CGPoint!result = beforeresult.origin.x = center.x - (before.size.width / CGFloat(2))result.origin.y = center.y - (before.size.height / CGFloat(2))---こんな感じのコード書いたら、↓↓のような実行時エラーが発生しました。Thread 1: Fatal error: Unexpectedly found nil while implicitly unwrapping an Optional value要は NULL ッスよ、てことらしい。え、これって構造体じゃないの?と思いつつも変数定義を以下のように変更。---var center : CGPoint! = CGPoint(x:0.0,y:0.0)---無事解決。CGPoint ってポインター型なの?と思ってリファレンス開いたら疑惑はますます深まったと言える。Appleは説明責任を果たしてほしい。洗濯槽クリーナー 洗濯槽の激落ちくん 黒カビ洗浄 非塩素系 つけおき不要 ( 洗たく槽クリーナー レック 激落ちくん 激落ち 洗濯機 洗浄 洗剤 掃除用洗剤 掃除用具 )価格:258円(税込、送料別) (2020/3/25時点)楽天で購入
2020.03.25
コメント(0)
![]()
こんなコード書いたらコンパイル時にCPUが悲鳴をあげたというお話。個人的に好みではないけど、swift は型推論により変数型を指定しなくても、コンパイラ?側で代入された値によって自動的に判別してくれる。そこで厄介なのが、代入を行う際に左辺値と右辺値の型を全て統一する必要があること。要は、左辺値がDouble型なら、右辺値も、計算式の定数および変数も全部含めて全てDouble型に統一しないといけない。なので、型ごとに型変換する関数があり、それを使って統一していく。Double( 変数 or 定数 ) とかInt( 変数 or 定数 )的な感じ。で、viewの座標変換するために下のようなコードを書いたら、コンパイル時にファンが唸りはじめ10秒くらい経ってからエラーを吐くようになった。(エラーの詳細は忘れました(゚ω゚))---rect.origin.x = x_position + (64.0 * CGFloat(col)) +(10.0 * CGFloat(col))---↓のようなコードにすることで解決---rect.origin.x = x_position + CGFloat(64.0 * CGFloat(col)) + CGFloat(10.0 * CGFloat(col))---CGFloat型はその名の通りFloatなので定数値を 64.0 と書けばOKかな?って思ってたけど、ダメだった。Macが気の毒になるくらいコンパイル頑張ってたので、今後気をつけます。ちなみに 定数値を使う場合、 64 は Int型、64.0 はDouble型として判断されます。Floatを使いたい場合は、明示的に型を定義する必要があります。とここまで書いて、Double型(10.0)とCGFloat型の掛け算したからエラーを吐いたと気づくセンスも才能もないダメプログラマーです。あつまれ どうぶつの森価格:5920円(税込、送料無料) (2020/3/24時点)楽天で購入
2020.03.25
コメント(0)

一回書いた記事保存する前に閉じちゃった・・・Xcode 11.3.1 にアップデートしてからシュミレータでアプリを実行しようとすると、毎回下画像のエラーが出るようになった。要するに「アプリインストールできなかったけど、ごめんね(・ω<)」的なエラー。原因が不明なので根治できていないのですが、シュミレータ上のアプリを一回消して、コンパイル・実行すれば動くようになります。消したいアプリのアイコンを長押しして「Delete App」をクリック。これで動くようになりますが、次回実行にまた同じエラーが出ます。。。根本原因がわかったら記事を修正します。自分のためにね!!2020/4/5 追記なんか、これが解決してから発生しなくなった気がする。Multiple commands produceなんでなんだろう。ボールパークへ行こう!〜埼玉西武ライオンズ選手登場曲集2019〜 [ (スポーツ曲) ]価格:1936円(税込、送料無料) (2020/3/24時点)楽天で購入おすすめの一枚です。わかる人にはこれだけで私が楽天ゴールデンイーグルスが嫌いな理由がお察しいただけるかと思います笑
2020.03.24
コメント(0)

はじめまして。 たくぷれっさ2号機です。 なぜ2号機かというと「たくぷれっさ」という名前がすでに使われていたから。 今年の2月頃から数年ぶりにiOSアプリの開発を再開しました。 といっても、完全なる趣味の領域で、作って満足するだけなので特にAppStoreに配布などはしていません。 今後は配布してもいいかなって思えるものができたら配布していきます(Appleの審査が降りれば・・・)。 ということで、MacにインストールされていたXCodeのバージョンが古かったため、最新版のインストールから再開したわけですが、AppStoreでアップデートしようとしたところ、アイコンがクルクルしたままインストールが開始されない。 数時間放置していたら、インストール中の状態にはなったんだけども、これまた一向に進まない。 SSDはほぼ無音で高速といったメリットづくしのディスクですが、こいう時に動いているんだか動いてないんだかわからず困りますね😆 しびれをきらし、一旦 Mac を再起動し最初からやり直そうと思ったんですが結果変わらず。 長々経緯を描いても、後で自分が見た時にイラっとするので結論だけかくと、 https://developer.apple.com/download/more/ から、ダウンロードしました。 結局アーカイブの展開に2時間近くかかりましたが、進捗状況がわからないAppStoreよりは数倍ましです。 今後、XCodeのダウンロードにAppStoreはつかわねー MacOSのバージョンアップも同時進行したせいで、Time Machineのバックアップから始まり、足かけ2日、長い戦いだったよ。。。 【先着特典】侍の名のもとに 〜野球日本代表 侍ジャパンの800日〜 スペシャルボックス(ミニポスター)【Blu-ray】 [ 岸孝之 ]楽天で購入
2020.03.22
コメント(0)
全7件 (7件中 1-7件目)
1

![]()
