Import 2022-11-23 16:44

A collection of 196 posts
ios

Xcodeでコードを書かずに角丸のボタンを作る

タイトルの通り、プログラムらしいことをしないで角丸ボタンを表示する 手順 1. 角丸画像を用意する 2. XcodeのAssetに画像を追加する 3. 画像のスライス設定で可変領域を設定する 4. 角丸画像を表示したいボタンの背景画像(Background image)に設定する コードで実装する 覚えてたら後で書く その他 動画のアップロードがイケてない。youtubeとかじゃないとうまくいかないのかも。
ios

iOS8,9の違いを幾つか その1

次があるかわかりませんが、その1。 UIView Class 再描画でよく使われるメソッド - (void)layoutIfNeeded; 深度が違うようです。iOS9だと再帰的に適応されるようですが、iOS8だと深度が1か2か。 再描画されないなーということがありました。 気づいた時はframeの変更をしようとした時でした。 NSLocale Class - (NSArray<NSString *>*)preferredLanguages 出力する。 NSLog(@"%@", [NSLocale preferredLanguages]); iOS8系 ( ja, en, "zh-Hans", de ) この設定をしているiPhone(4S iOS8.3)のSS iOS9系 iOS9.0 実機で確認したところiOS8系と同じでした。 iOS9.1 ( "ja-JP", "en-JP&
1 min read
KH400

チェーンカバーが欲しくなった

自分のKH400にはチェーンカバーが無い。買った時から無かった。 特に気にしていなかったけど、誰かと話していた時に「これでチェーンカバーつけたら本当にどノーマルだね」と言われて、それからチェーンカバーが欲しいなと思い始めた。 純正風のレプリカも売っていたりするけど、いずれは自分でタンクの塗装してみたかったりするので、まずはチェーンカバーで塗装を剥がしたりサビの対策をしたり、とかやってみたいなーと思っていました。 そしてたまたま某オクでボロボロのチェーンカバーが1000円で売られていたので衝動的に買いました。本当にボロボロです。 こんなもの1000円でもいらないっていう人がほとんどだと思いながら、競り合うこと無く落札。 まずは塗装を剥がそうかと思いましたが、あまりに汚いのでパークリ+ブラシでざざっと汚れを落としてから、ちょうどサンエスKの煮汁?があったので煮込みました。 ある程度綺麗になったら今度は塗装を剥がします。 Holtsの塗装はがしはいろんなウェブサイトで割と評価が良いように思ったので決めました。 塗装を落としました!ボコボコです! マスクとメ
2 min read
KH400

クランク右オイルシール交換その後 タンデムしたり

クランクオイルシールを交換してしばらく経ちまして。 だいたい200kmほど走りました。 エンジンオイルの漏れやオイルポンプのエア噛みも無くエンジンの調整も悪く無いようです。バラして元に戻すだけなので、と言えばそうなんですけど初めての作業はドキドキです。 若干、オイルポンプのタンクと繋がるオイルラインのバンジョーボルトの締め付けが緩かったのでオイルが滲んでいました。ここは少し締め付けて様子見します。 そして調子いいなと思ってパッセンジャー乗せて50kmくらい走ったのですが、人を乗せるための調整が足りなかったみたいです。 車体を押すとたまに「カコッカコッ」と小さい音がフロントスプロケあたりから鳴るようになっていました。車体を前後させて見ると同じ箇所で鳴っているわけでは無いようでした。 チェーンが伸びたのかなと思い弛みを見ましたがすごく弛んでいるというわけでもなく。チェーンの間延びやスプロケの偏磨耗が起きてしまったのかなと思っています。 リアのスプロケはまだまだ歯の磨耗状況は進んでいないですがフロントは進んで来ているように感じます(まだ手裏剣というほどではないですが
1 min read
objc

[Objective-C] 特定の緯度経度と角度と距離を元に緯度経度を算出する(楕円あり)

現在地を起点として、特定距離の矩形を作成する。 みたいなことが必要だったので計算式を書いた(ほぼコピペ)。。。けど使われないことになった。 やってることとしては ある地点を中心とした半径Xメートル同心円上における角度Aの地点の緯度経度を求めよ(ただし地球は楕円形として扱うこと) みたいな感じでしょうか。文系な自分にはこういうのよくわからないです。。 結果として下記ソースでほぼイケるけど、浮動小数点数の演算ばかりなので誤差が気になるところ。メソッドのコメントに記載しているURLでJavascriptのソースがあったので、Objective-Cに書き直しただけって感じですが、一部変えています。詳細はソース見てもらえれば。 参考サイトではdo whileでループしているが この部分の動作を見てみたら、Javascriptでは精度を上げるようなループをしていたけど期待通りに実装する方法がわからなかったので、ループの中身を1度実行するだけに変更しています。 #import <CoreLocation/CoreLocation.h> #define
2 min read
KH400

スロットルワイヤー買いました

買ったのはこちら M-TEC中京エムテック中京/フゲンスーパーワイヤー スロットルケーブル KH250 エムテック中京のフゲンというやつです。ちょっとお高い品でした。 結論から言うと、もう買うことは無いかなと思います。 理由ですが分岐ボックスの中、スロットル側の先端で分岐ボックス内に入る金具(4本の切れ目があるやつ)がかなり緩いです。 どれか一本だけ引っ張ったりすると金具が中で引っかかって戻らなくなります。 あとワイヤー先端の遊びが少なかったです。左キャブだけパツパツでした。 スロットルワイヤーとスターターワイヤーはホットアンドクールは以前使った時は遊びが充分あって安定なのかな、と思いました。ここのあって、ちょうど良かった記憶があります。 転んでワイヤーが折れ曲がって捨ててしまったので、次は。。。 エムテック中京のフゲンのワイヤーは長さはちょうど良かったです。ワイヤー両端に付いている留め具?は雑でした。留め具がワイヤーに垂れている箇所も見受けられたのでサンドペーパーで少し削って慣らしたりしました。 それよりも分岐部分の金具のユルユルっぷりが気になり
1 min read
ios

iOSアプリのDBをCoredataからRealmへ

現時点の最新バージョン v0.96.2 での内容なので、バージョンによって違うかもしれないです。 GUIをインストール ブラウザが無いと閲覧できない。最新バージョンのzipをDL。 公式の日本語ドキュメントは最新バージョン用ではない可能性があるのでgithubのURLから直接落とす方が安心。 https://github.com/realm/realm-browser-osx/releases/ Xcode Plugin XcodeでModelファイルを新規作成するにはPluginを入れると簡単になるらしい。 Xcode Pluginは公式ドキュメントにならってAlcatrazからインストールする。 Xcode Pluginのインストールディレクトリパスはこちら ${HOME}/Library/Application\ Support/Developer/Shared/Xcode/Plug-ins Alcatrazのインストール コマンドラインから実行 curl -fsSL https://raw.githubusercontent.c
3 min read
KH400

クランク右シール抜け対策 その4

ざざっと組みまして ミッションオイルを補充、キャブレター取り付け、オイルラインのエア抜きをするためタンク内のガスをの混合仕様へ。こんな感じで抜きました。 1度ガソリン携行缶に入れまして、オイルピッチャーで1Lほど20:1の混合ガソリンを作りました。保険としてプラグホールから2ストオイルを数滴垂らしました。 タンクからガソリンを抜くとき、こんな感じで1本正常なラインを作っておけば、残りの2本は適当に折り曲げ&タイラップで縛るだけで十分です。吸われるわけじゃないので、抵抗の小さい方へどんどん流れます。 全て組みつけてからオイルが回るよう願いつつ空キックを10回くらいして、いざキック ガスッガスッガボボッガスッギャボボボボギャギャギャギャーーーン エンジンはかかったものの、スターターをグッグッと押すと一気に高回転へ。あっ、これは。。。 慌ててキルスイッチでイグニッションを切りスターター全開アクセル全開にしました。キャブレターを取り付けるとき、どれかスロットルバルブを前後逆に取り付けたなと察し。慌てるくらいなら確認しながら組み付ければいいのにと。最近はこんなミス
3 min read
xcode

Xcodeプロジェクトの残骸Schemeを消す

gitを使って開発しているとSchemeを追加/削除などで、Xcode上に残骸が出ることがある。 該当するアイコンがないので歯車が表示されるが、ユーザの設定を削除することで解消できる。 1. Xcodeの該当プロジェクトを閉じる 2. ターミナルで下記コマンドを実行 $ cd path/to/project $ rm -rf <Your Project>.xcodeproj/xcuserdata/<Your Name>.xcuserdatad 極論xcuserdata配下のデータはすべて削除しても問題ないと思う。 .gitignoreに*. xcuserdatad を追加していても問題ない。
KH400

クランク右シール抜け対策 その3の2

今日は昨日に引き続き作業しました。写真はほとんど撮り忘れました。 1. オイルシールを取り付け 2. プライマリードライブギアを取り付け 3. クラッチハウジングを取り付け 4. クラッチハブを取り付け と進めていたのですが、クラッチハブを取り付けて気付きました。   クラッチがくっついてない。 原因がわからず迷走 1. クラッチワイヤーをレバーから外す 2. クラッチレリーズを外す 3. 外れない 4. マフラー(右と左)を外しタイヤをずらしてチェーンを外す 5. クラッチレリーズが外れた 6. クラッチレリーズは特に問題なさそう(感触) 7. クラッチハブを取り付ける 8. やっぱりクラッチがユルユル 9. クラッチレリーズを分解 10. 脱線してクラッチレリーズをグリスアップ 11. ついでにクラッチワイヤーにもオイルを流し込む 12. クラッチハブを取り付ける 13. やっぱりクラッチがユルユル なんていう不毛な戦いをしました。 結局クラッチハブがうまくはまっていなかった?ことが原因らしく、気付いたらあ
1 min read
KH400

クランク右シール抜け対策 その3

結局純正クラッチ固定工具を買いました。柄の部分が黒いラバーになっていたので前回使用したホルダーと見分けがつくのでありがたいです。 前回傷をつけてしまって、また社外の工具を買ってポカするのも嫌だなと思ったので。と思っておきながら買おうと思っていたクラッチホルダーを見直すと 角歯形状 と記載がありました。 クラッチハブには角歯(凹型)と波歯?(V字)といった種類があるってことですかね。 クラッチハブを外せました。 純正のクラッチホルダーは前回使用したものと違って爪の根元から先までがほぼ並行でした。これが純正品質ってことでしょうか。 外して気付きましたがクラッチハブのロックワッシャーがついていませんでした。代わりに2mm厚くらいのワッシャーが挟まってて、締め付けが強かったのかナット中心部がめり込んでいました。 クラッチハブを外してから、プライマリードライブギアのナットを外すにはクラッチハウジングがつけているべきだったと気付きました。 手でナットを外せる程度の締め付けでクラッチハブを取り付け、プライマリードライブギアとプライマリードリブンギアの噛み合
2 min read
xcode7

xcode7でNullabilityを定義 したヘッダにblocksをtypedef定義したらエラーが出た

typedef (^ SimpleBlock) (id obj); とかをconfig的な場所で定義して、いろんな場所で使っていた。 たまたまヘッダーファイルをがっつりいじる機会があったので、nonnullとかnullableとかも書いて、ヘッダの上の方で定義していたので存在を忘れていた。 そのままコンパイルしたらワーニングが出ていた。 pointer is missing a nullability type specifier (_Nonnull, _Nullable, or _Null_unspecified) あ、すみません。と思ってnullableと書いてコンパイルしたらエラー。 unknown type name 'nullable' expected ')' こんな感じでいくつか。 結論は最初のワーニングに書いてあって、この通りに書けばよかった。 1. _Nonnull 2. _Nullable 3. _Null_unspecified つまりこんな。 typedef (^ SimpleBlock) (_Nulla
KH400

クランク右シール抜け対策 その2の補足

前回書いた今後の予定で買おうかなとか思っていたいくつかについて。 クラッチ固定ツール クラッチ固定ツールですが諦めて少し高いものを買おうと思います。 ちょっと調べました。パーツリストを見ていると工具のオプションでクラッチ固定ツールがいたんですよ。オプションとして。 抜粋 純正品番 56019-100。改良されたのか 57001-1243 になっています。パーツ検索かけたので間違い無いです。値段は今現在8,132(税別7,530)円でした。 ここで 57001-1243 をグーグルで画像検索とかかけてみると、買おうと思っていた工具が出てきました。 eBayとか見たら、あぁこれはOEMなのかな。カワサキが販売することで2100円くらい高くなっているのか、もともとちょっと高いのか。いや、amazonで割引の表記が無いので割引なしで5400円なんでしょう。 よくよく見ると、片側がツメで、反対側は棒が出てるのでフライホイール外すのもこれ使えるんですね。気づかなきゃよかった。 よし、これ買おうと思います。 プライマリーピニオン固定ギア あと、
2 min read
KH400

クランク右シール抜け対策 その2

一部修正と続き書きました 前日はクラッチカバーが固くなかなか開かなかったのでクレ5−56をかけてしばらく置いてから開けました。 クラッチカバー取り外し オイルラインからオイルがじわじわ出てきたのでウエスを巻きつけています。 クラッチを外します。ロックワッシャーが曲げてありませんでした。ロックワッシャーとナットの間に平ワッシャーが入っています。これは正常なのか、サービスマニュアルなどを見ながら確認したいと思います。 ここでクラッチ周りの使用限度確認をしました。 クラッチスプリング 標準値 : 28.7mm 使用限度: 26.7mm以下 実測値 : 28.2~6mm フリクションプレート厚さ 標準値 : 3.0mm 使用限度: 2.7mm 実測値 : 2.8~2.9 そう遠く無いうちに交換ですね。 クラッチハウジングとフリクションプレートの間隔 標準値 : 0.05~0.45 実測値 : 0.25(ここは一箇所しか測りませんでした) というわけで、フリクションプレートは次回交換必須で、その他は問題無さそうでした。
2 min read
KH400

クランク右シール抜け対策 その1

今日は仕事が休みだったのでKH400のメンテナンス作業をしました。 クランク右オイルシールがヘタっているらしく3番の調子が悪いので、クラッチ側のケースを開けます。 ミッションオイルを抜きます。 キックペダルとタコメーターケーブル、タコメーターシャフトを外します。 オイルポンプカバーを外します。 オイルポンプ周辺のケーブルなどを外します。 クラッチカバーは固着しているのかプラハン叩いても全然開きませんでした。やり方が悪いのかもしれないので、明日いろいろ試してみたいと思います。 どうにかして開けなければ先に進めませんので。。 この時点で気付いた欠品 1. オイルポンプロックワッシャー 純正品番 92024-058 (トライアングル状のワッシャー 2. ライトカバーグロメット 純正品番 14038-030 (オイルポンプのオイルラインの部分) ライトカバーグロメットは部品さえあればいつでも取り付けられるけど、オイルポンプロックワッシャーはどうしよう。無くても問題起きていないし、一旦は無しでいいかな、でもあった方がいいよな。 年末あ
1 min read
KH400

KH400 ライティングコイル周りのまとめ

KH400 充電されなくなった件についてで 巻き方や巻き数、線径など秘密にされる内容の詳細は次あたりのポストにまとめる予定です とか書いたので、ざっくりまとめたいと思います。 やったことは大きく分けて2つあります。 1. ライティングコイルの巻き直し 2. レギュレータ・レクチファイアのリプレース 今回はライティングコイルの巻き直しのみです。 ライティングコイルの巻き直し作業について 道具など * UEW(2種) 1.0mm マグネットワイヤ 0.3kg オヤイデ電気のオンラインショップで購入 1700円くらい * この商品は「UEW」で検索しないとヒットするけど「マグネットワイヤ」で検索してもヒットしないかも * ワニス オヤイデ電気のオンラインショップで購入 * 100均の小さいスポイト(ワニスに触りたくないから) * 100均のハケ(ワニスを塗るため) * 模型屋さんにて塗装用?の小皿のようなもの。使い捨て。12個くらい入っていて200円くらい? * ベークライト板 1.0mm (何故かかなり前に買って
4 min read
オートバイ

KH400 煙がもくもく

レギュレータ・レクチファイアのリプレースに気をよくした自分は遠出することばかり考えながら磨いたり軽く走ったりしました。 どうも半年くらい前から3番(右)の排気に煙が多い。最近は前よりひどくなった気がする。季節の変わり目だから燃調がよろしくないのだろうと思っていましたというか、そう思っていたかったです。 おそらく原因は燃調ではなくて、クランクシャフトオイルシールからミッションオイルを吸っているのだと思います。KH400の持病の1つらしいです。 3番側からミッションオイルを吸い込んで燃やしてしまうので3番だけやたらと煙が出るようになるという症状が特徴とのこと。 たぶんきっと原因はクランクシャフトオイルシールなので交換したいと思います。まずは必要になる道具などを調達です。 必要なもの 暫定です。随時追記します。 ミッションオイル 某掲示板でオススメされていたので使うようになりました。MOROREX GEAROIL 10W/30 MOTOREX(モトレックス) ギアオイル GEAR OIL 1リットル79563 [HTRC3]posted with amaz
2 min read
KH400

レギュレータレクチファイア交換

前回から空くこと2週間、ようやく受け取ってきました 31600-GEE-003。 いちおう前回に追記しつつ書くと、値段は税込8400円弱でした。オークションで半値くらいの中華とか買うならメーカー純正のこっちを買うのが自分の方針としてはいいかな、と思っています。ググったところ、純正で出ているのに9000円以上で販売しているサイトもあるみたいでした。メーカー取り寄せ分だけ高くなっているということなんでしょうね。 そして本題のレギュレータ・レクチファイアの交換ですが、いったん既存のレギュレータ・レクチファイアは車体に取り付けたまま、適当な場所に31600-GEE-003を設置してみて、うまく動いたら実際にリプレースしようかなと思っています。 道具 いったん今日は31600-GEE-003を取り付けるために必要な道具を買ってきました。 配線 AVS線(1.25sq)を赤黒黄色の三色、各1m。本当は0.9か0.75sqで良かったみたいだけど近所のホームセンターではいい具合に在庫が無かったので1.25で妥協しました。 カブラー レギュレータ/レクチファイア側カプラー
3 min read
python

Pythonのエンコードを宣言する

Pythonでファイルのエンコードを宣言するとき # -*- coding: utf-8 -*- こういった内容を記載する人が多いと思いますが、自分にはこの記法には疑問がありました。 なぜEmacsを使わない人たちがEmacsのエンコードを宣言をするのだろうか。 会社ではEmacsを使うのは自分だけなので、もしかしたらこの記法がPythonのエンコード宣言だと思っているのかもしれません。 Vimではこう書く(らしい)です(Vimはほぼ使わないので知りません # vim:fileencoding=<encoding-name> Pythonのリファレンス 英文 If a comment in the first or second line of the Python script matches the regular expression coding[=:]\s*([-\w.]+), this comment is processed as an
1 min read
ios

iOS7,8,9のアプリケーションライフサイクル

以前に作ったアプリがiOS9でうまく動かないという連絡を受けたので調査した結果、アプリケーションのライフサイクルが変更されたことによりイベントトリガと描画の関係が前後するというしょぼいミスをしていました。 悔しいので変化をまとめました。 具体的な問題の原因となった箇所はこちら。詳細は下のライフサイクルを見たらわかります。 -[AppDelegate applicationDidBecomeActive:] 検証したアプリの画面構成 1. UINavigationController 2. FirstViewController 3. SecondViewController(FirstViewController.navigationControllerにpushされる) iOS7 (7.1.2 // 起動 -[FirstViewController awakeFromNib] -[AppDelegate application:willFinishLaunchingWithOptions:] -[AppDelegate application:d
1 min read
xcode

Xcode7からのBundle Identifier定義

--- 追記@2016/12/6 こっちにXcode8での設定方法を書きました --- 追記ここまで Xcode6系まではinfo.plistで直接定義する形だったけど Xcode7からはProjectファイルで定義するようになって、info.plistのbundle identifierの項目はこんな感じになっていた(Xcodeのマイグレーションをするとこうなるということで。 $(PRODUCT_BUNDLE_IDENTIFIER) メリット ビルド設定(Build Configuration)でバンドルIDが変更できるようになった。 Debugビルド、Releaseビルド、AdHocビルドなどでバンドルIDが変更できるのでターゲットを無駄に追加する必要が無くなった。 デメリット 理解していない人がinfo.plistを書き換えたら死ねる。 下手に書き換えられたら別アプリになるから。。。