プログラマメモ2 - programmer no memo2

目次

ios import でモジュールの補完がでてこない場合は、実機が必要かもよというはなし 2024/07/28

暑いですね。みなさまいかがおすごしのことでしょうか。フジロックとかにいってたりするのでしょうか。 さて、17.2から使えるようになったジャーナルの提案機能を調査しているところです。 それで、xocdeのバージョンをあげて、さあコードでしらべようとしているて、 import JournalingSuggestions でそんなのないよ(No such module)とエラーに... そんな場合は、実機をmacにつなげましょうという話

cocoapodをbrewでinstallしてうまくいかなかったので、普通にインストールしました。 2024/05/04
2024/05/05

開発ってままならないもの

開発ってままならないものですね。僕の実力だと自力で問題を解決できないことばかり...
spm(The Swift Package Manager (SwiftPM) )の時代ということで試そうとしていたのですが、ここはいったんpodでと考え直して環境を作ろうとしていたのですが、やはり、brewでインストールと思って作業進めていたのですが、pod setup, pod installが思い通りにいかず。
調べる気力がわかず、ここは、 "sudo gem install cocoapods"。
実は、すんなりいかず、いろいろそのまえにごにょごにょと。あきらめるのも大事ですね。
あきらめてばかりの人生です。

参考
CocoaPodsを廃止した

ターゲットメンバーシップ(TARGET MEMBERSHIP)はどこに? 2024/05/01

Xcodeです。
ターゲットメンバーシップ(TARGET MEMBERSHIP)です。
キャプチャは適当なのだけど、設定する場所がすぐにわからなかったのです。


参考
https://appdev-room.com/swift-xcode-basic-membership

ストーリーボード、エントリーポイント 2024/04/15

春、今日は暑いです。

最高、気温26度だそうです。

Is Initial ViewContoroller

ここにチェックを入れるといいようです。

コンテナビューにおいたビューをとりたいんだ 2015/08/23


Container Viewです。

ぼくのコンテナビューの使い道って、ビューをコントロールする部分をわけたいからかなーってのがあるんだけど、はりつけられたビューのほうから、コンテナビューのビューを取得した場合があって、ふとどうしたものだろうと思ったわけです。

※他にいい方法があるだろうけど。

まずアウトレット
 これコンテナビュー
@IBOutlet var container: UIView!

取得するコードはきっとこんな感じ

container.subviews[0]

サブビューの一番目ということ。

たいしたことではないけど....

 

PaintCodeを使ってボタンを作成 2015/05/06

PaintCodeを使ってボタンを作成します。
使ってるPaintCodeのバージョンは2.3です。

ios - Best way to wire up a PaintCode button? - Stack Overflow

UIView使った実装の方法もありますが、やはりボタンはボタンを基底クラスにしたいなと。

コードはスタックオーバーフローのまんま

import Foundation import UIKit class VectorizedButton: UIButton { override var highlighted: Bool { didSet { setNeedsDisplay() } } required init(coder aDecoder: NSCoder) { super.init(coder: aDecoder) } override func awakeFromNib() { super.awakeFromNib() backgroundColor = UIColor.clearColor() } private var shouldHighlight: Bool { return highlighted || !enabled } override func drawRect(rect: CGRect) { println("\(rect)") StyleKitName.drawMyButton(size:rect.size, text:self.titleLabel!.text!, highlighted: shouldHighlight) } }


PaintCodeのVariableの設定は以下
expressionの設定は、以下

ようは、highlightedかどうかで、色を作成しなおしてます。

あとはXcodeでボタンを配置してクラスを作成したものを指定するだけでOK

いろいろはしょったけど、こんな感じ


[セグエ]ストーリーボード上に配置したボタンをcontrolキーを押しながら、次のViewControllerにつなげる 2015/05/06

いつも忘れてしまうので、
ストーリーボード上に配置したボタンをcontrolキーを押しながら、次のViewControllerにつなげる
このやり方いつも忘れる。

参考
Swiftでセグエを利用した画面遷移 - Qiita


Modulesというものらしい。 2013/11/15

objective-cです。Modulesというものらしい。
importで指定するときに

@import CoreBluetooth;
とかけます。
@classというのも、この辺、不勉強でわかってない反省。

参考

couchbase liteを使った単純なmaster-detailのプログラム 2 2013/11/07

couchbase liteを使った単純なmaster-detailのプログラムその2です。
今回は、Automaic Table source?を使ってみました。


delegateはCBLUITableDelegate,datasourceをCBLUITableSourceを使って実装してみました。
といっても、既にTODOアプリのサンプルがあるので、コードをみつつ実装してみましたが
結構しんどかったです。

いくつかはまった点
1.editでdeleteをさせる方法がわからなかった。
2.delegateの実装方法
3.couchbaseにおけるviewの概念


短いコードですが、
pub/xcode/SampleUseCouchbaselite2 at master · ugo-nakawaka/pub

コードへのコメントはあとから再利用したいので、書くようにしよう。。。

僕のgithubの使い方ちょっとまちがえたかなー
リポジトリごとにxcodeのプロジェクトをあげるべきだった。
次回からそうしよう。

custom classを設定は何処に? - xcode 2013/11/07

xcodeです。versionは5.0.1です。
一人でもくもくもくと作業していて、自分を疑いはじめるときりがないという状況におちいったりしてます。

IBでごにょごにょしてて、custom classを設定しようと思い、設定パネルを開いていきました。
普通は、下のように設定できるわけです。


ですが、たまたま、こんなふうになっていてなくなっているようにみえたのでした。

そうです。入力フィールドがなくなっていたのでした。


まったく入力フィールドがみつからないので、グーグルさんに尋ねたり、storyboardのファイルを開いたりと、あせったわけですが。

実は、マウスカーソルをもっていくと。


 うっすら[show]の文字列が....
ひどくないですか、これに気がつかず、どんだけ時間費やしたか。
ちなみに、


うっすらと[hide] はまる人ははまるのでは(笑)

couchbase liteを使った単純なmaster-detailのプログラム 2013/11/06

xcodeのプロジェクトまるごとあげれるので、githubを使ってみました。
 couchbase liteを使った単純なmaster-detailのプログラムです。

couchbase liteをわざわざ使うほどのものではないかもしれないけど。
どういう使い方がいいんだろか?
 dbを同期させるとか、どの辺の分野のアプリケーションだと活かせるのかな。



プログラム自体まずいところは、セルのレンダリングで毎回、全件とってきてその中から、1個えらんで情報取得というふうにやっているので、よくないんだろうなーとは思いつつ。


アプリにhtml含めて、jsも読み込ませたい - ios 2013/11/04

iosアプリにhtml5、javascript,cssを含めてみたいというわけで、html,cssはうまくいったのですが、javascriptがうまくいかない。

UIWebView を使ってリソースバンドル内の HTML ファイルで、外部 JavaScript や CSS を読み込む - 24/7 twenty-four seven

たしかにビルド対象になっていたので、リソースファイルに移動させてうまくいきました。


'Missing recommended icon file - The bundle does not contain an app icon for iPhone / iPod Touch of exactly '120x120' pixels, in .png format' - 悪夢 2013/10/24

アプリbullcounterのバージョンアップを申請する際にはまったことです。

ios7がでて、いろいろ必要なアイコンがかわったみたいですね。

Organizerでワーニングがでて、ファイルを用意すればいいのかと思い用意するだけではだめで、xxx-Info.plistに追加する必要があったのが今回はまった点です。






参考

手でセグエ(セグーと僕は呼ぶ) 2013/10/21

またよくわからないタイトルですが、「手でセグエ(セグーと僕は呼ぶ) 」
xcodeでの実装メモです。

ストーリーボードでテーブルから次の詳細画面にいくさいに途中で、問い合わせダイアログみたいのをだしたいというわけです。その処理をどこで入れるのかというわけで、行選択時に表示したいわけですが、セグエが設定されている場合はそれを解除します。

デフォルトでできる動作だと行を選択で次の詳細画面にいってしまうので、それをストーリーボードでいったん切りにして、 代わりにmanualでpushできるようにします。そのときにstoryboard segueでidentifierを設定してあげます。
コード上で、そのidentifierを使ってperformしてあげるという流れになります。

UITableViewControllerに行を選択時の処理を実装していない場合は、 didSelectRowAtIndexPathを実装します。次の画面へいきたい場合は、

 [self performSegueWithIdentifier:@"showDetail" sender:self];
 してあげます。※ここでは、identifierをshowDetailとしています。





参考

空xibは 2013/07/31

空のxibの作り方です。
僕がいつも忘れるのでここにメモっときます。











参考は
ハマケン100%開発: iOS: UITableViewCellの作り方で参考にしたサイト

またもう一つの失敗 unrecognized selector sent to instance - 実装ファイルのAdd Targetを疑え!! 2013/04/30

Objective-Cです。xcodeです。
 NSMutableArrayにshuffleというカテゴリを追加して、実行時に呼び出した際に下記のエラーがでておちたわけです。

*** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[__NSArrayM shuffle]: unrecognized selector sent to instance 0x9d94d00'

みつからないよといわれて落ちたわけですが、xcodeにはヘッダーファイルも、実装ソースもあるし、コンパイルも通っているわけですが、何のことはなくて、実装ファイル(xxxx.m)をターゲットメンバーシップ(Target Membership)に含めていなかっただけでした。

ソースファイルを他のプロジェクトからドラックアンドドロップでコピーファイルしてもってきたときにAdd targetのチェックを入れてなかったからでした。

こういうのってはまるとはまってしばらく悩んでしまいますね。
ヘッダーファイルがあるのでコンパイルは通るのですが、実行時にエラーは正直つらいですね。


cocos2dはarcに対応しているのか?対応させれるのか? 2012/08/04
2012/08/05

というわけで、最近rejectばかりで若干やる気をなくしつつ、世の中にうけいれられるアプリってつくるのたいへんねーと思いつつ、がんばらないとねーと夏バテの頭で思うのでした。
cocos2dがバージョン2なので、ARCってどうなのかしらというわけです。

release_notes:2_0_0 – cocos2d for iPhone

と、よくわからないので、
 Mobile and Design BLOG - プロジェクトのARC移行について
とあったので、cocos2dごとプロジェクトで変換してしまえばと乱暴に考えたのでした。
すると、いろいろプリチェックでエラーになるので、ひとつづつ、ARCの対象からはずすという作業をしてみました。

が、本当に開発して問題なく、動作し続けるかははわからないですが...
だましだましプロジェクトを変換すると、-fno-objc-arcが設定されてることがわかります。

とりあえず、-fno-objc-arcをつけたソースファイルを列挙しますと、
なんかすごく重要そうなクラスばかりのような....
CCActionManager.m
CCNode.m
CCScheduler.m
CCSprite.m
CCSpriteBatchNode.m
CCSpriteFrameCache.m
CCTextureCache.m
CCTMXLayer.m
CCArray.m
NSThread+performBlock.m
CDAudioManager.m
動作させてエラーでおちたので、復元して、fno-objc-arcをつけたものは以下
ccCArray.m
追記 このやりかたやめたほうがよいですね。。。。
とりあえず、この方法で動かしてみると、へんなところでおちて、ccCArray.mを復元して、fno-objc-arcしたりしたので、checkにひっかかるクラスいがいのものにもfno-objc-arcをつけないといけないものがあるってことで。

ストーリーボードは思ったほど柔軟じゃない気がするのでXibと併用 2012/07/09

iosです。xcodeです。ストーリーボードです。
いまのところの僕の意見として、ストーリーボードは柔軟じゃないということです。
タブとかの画面とかは便利なのですが、ひとつのViewをいろいろデザインしたくなるときちょいと不便。というのもUIViewのサイズを大きくしてスクロールViewにのせたいというデザインを目論でいるので、ストーリボードだと画面のUIViewはコントローラーにのっけないといろいろデザインできないようだし、コントローラーのサイズは固定っぽい感じなのでアウト。
現時点での僕の解としてストーリボードでのUIViewContorollerを用意してその中でinitWithNibName使ってxibを読み込ませるって感じです。
ストーリーボードはUIViewContorollerのinitWithCoderを呼び出す動きをするのでinitWithCoderを実装してその中でinitWithNibNameを使うって流れになります。
参考コード

- (id)initWithCoder:(NSCoder *)coder { self = [super initWithNibName:NSStringFromClass([self class]) bundle:nil]; if (self) { // Custom initialization } return self; }

画面が表示されないストーリーボードのわな 2012/07/09

iosです。xcodeです。ストーリーボードです。 xcodeでストーリボードをがちゃがちゃいじっていてRUNさせるととつぜん表示されなったというときは、 起動ポイントを確認するといいかもしれない。ぼくは何度かこれでパニクっりましたです。

ステータスバーを黒くしたい - ios 2012/06/12

xcodeです。 いままでios appのステータスバーを通常かなしでしかつくってこなかったのではて黒にするにはどうするのだろう?と思った訳です。

で、ストーリーボードとかにある設定をかえるとxcode上では色がかわってみえるのですが、実際アプリを動かすとかわってない!?

参考
[XCODE] iPhoneアプリのステータスバーのスタイルを指定する - YoheiM .NET

なにやら、べつのところで設定するとうまくいきました。

 なっとくはいってないのですが、まあいいか。