XCode4でプロジェクトが壊れた

ことの始まりは、InterFaceBuilderでボタンに紐付けた処理がなぜか実行されないこと。
BreakPoint貼って確認しても飛んで来ない。

そんな状態になったので、xibをInterFaceBuilderでいろいろいじってたらプロジェクトが壊れた。
もう一度プロジェクトを作り直し、初期のxibファイルの名前を変えると、変えた直後か起動で確実にクラッシュするように。
・・・XCode3のときは問題なかったよね?

とりあえず端末のプロジェクトを削除して、リポジトリからバックアップをチェックアウトして、再度起動すると今度はまたこれが。

今回は一度もOrganizer経由していないのに!と思って起動してみると、勝手にOrganizerが管理対象にしていた。開いたプロジェクトに".SVN"が存在すると勝手に追加するのかな?
まあ、それはともかく管理対象をすべて削除して再度やってみると・・・また出た。
なのでリポジトリ情報も削除して再々度やってみると・・・今度はOKだった。

で、ちょこちょこファイルいじってたら何故かリポジトリのID/Passを聞いてくる。
な〜ぜ〜だ〜。お願いだから、頼んだこと以外やらないで欲しい(T.T)

"rm -Rrf .DS_Store"でワークスペース配下の情報を全部消し、マシンを再起動し、再度プロジェクトを作ってみた。
今度は上手くいく。
バックアップしてたソースをファイル単位で戻しつつ、再度画面を起動すると、飛ばなかったDelegate処理が飛んでるようになった。
・・・ソースの内容、1行たりとも変更してないんだけどなぁ・・・。

どうやらXCode4との相性はとことん悪いみたい。
AppCodeへの乗り換えを真剣に検討中な今日この頃。


Home |  Category:iOS |  コメントアイコン Comment0  |  Trackback0

XCode4のxibファイルでwarning

warning: Unsupported Configuration: Title set but using a system Identifier (These attributes are mutually exclusive; the Title will be ignored)

InterfaceBuidlerでxibファイルを編集していたら、いつの間にか上のようなwaringが出てた。
見た目上も問題ないし、実際に動かしても全く問題がない。
けど、waringが出るのは気持ち悪いのでパーツを全部取り払って、1つ配置するたびにビルドをかけて、warningがどこで出るか地道にチェックしていった。

で、warningが出てたのはUIButtonItemであることが判明。
これをアイコンに変更して利用していたのだが、デフォルトでTitleに設定されている"Item"という値をアイコンに変更しても保持しているようで「Titleに値を設定しているけれど、アイコン表示になってるので無効だよ。」という警告が出ていたようだ。

XCode3のときはアイコン状態に切り替えるとTitle欄が空白になったかなにかだったで、少なくともこんな警告は表示されていなかった。
型のチェックが厳密になるとかは喜ばしいことだけど、こんな風にチェックを厳密にされても困る。
XCode3と同じ仕様に戻してくれないかなぁ。

・・・ということが、VisualStudioやEclipseの初期だとよく言われてたんだろうな。
とりあえず、XCode4はまだまだだなぁ。
Home |  Category:iOS |  コメントアイコン Comment0  |  Trackback0

XCode4でCoreData

XCode4でCoreDataを扱う方法

1.DataModelを作成する。
 プロジェクト→右クリック→New File→iOS/Core Data→Data Modelを選択。
2.Entityを追加する。
 1で作成したDataModelを選択する。
 画面下のアイコンでEntityを追加し、"+""-"ボタンでAttributesなどを追加する。
DataModel編集


3.Entityをクラスとして出力する。
 (1)プロジェクト→右クリック→New File→iOS/Core Data→NSManagedObjectsubclassを選択。
 (2)2で更新したDataModelを選択
 (3)出力するEntityを選択

 ※DataModel→右クリック→New File→iOS/Core Data→NSManagedObjectsubclassの場合、(2)と(3)をスキップできる。


 
Home |  Category:iOS |  コメントアイコン Comment0  |  Trackback0

XCode4でSVN

XCode4付属のOrganizerでGit・SVNと連携が出来るようになったので、社内公用になっているSVNとの連携を試してみた。
連携を試したSVNはここ

プロジェクト画面右上のOrganizerのアイコンを押して起動し、左下の+ボタンからリポジトリを追加して早速連携!・・・連携?・・・連携???
認証は正常に成功しているが、CheckOut,Importなどのメニューが全く出ない。
サーバ側がおかしいのかな?と思ってEclipseのプラグイン経由で確認したものの、何も問題なし。
ああでもない、こうでもないって先週ずっといじってたが、何も進展せずギブアップ。
iOSのプロジェクトなのにEclipse経由で無理やりコミットして、逃げてみた。

・・・が、今日続きをやろうとOrganizerを起動すると、コマンド類が全部表示され、ばりばり連携が可能な状態になっている。理由がまったくわからないのが気持ち悪いが(無理やりコミットのおかげ?)、まあ、何はともあれできたのでよしとして、早速実機で確認開始。
何も問題なく連携でき、ソースコードの管理がだいぶ楽に。ほんまAppleさん、最高やで!
・・・なんてことはありませんでした。

XCode4でプロジェクト作成→Organizerでインポート→ローカルを削除して、インポートしたプロジェクトをCheckOut→起動としたところエラーが発生。内容は「フォルダに権限なくて編集可能にできないのでごめんね〜」。
・・・ワークスペースもプロジェクトも全部自分がownerなんだけど・・・。
関連ディレクトリを全部777にしても変わらず、権限エラー。

いろいろ試したところ、Organizerを一度でも経由するとこうなることがわかった。
SVNのサーバとMacでユーザ名が違う環境で試しているのだが、Organizerが変にユーザ情報をいじってしまうのが原因かと想定。例えば、Import/CommitをするとオーナーをSVNのユーザにする。で、ローカルを削除して、チェックアウトするとオーナーであるSVNのユーザーがローカルにいないので、権限系が軒並みエラーになる。こんな感じ?

なんだか面倒になったので、Organizerをサックリ捨てて、Versionsを利用することにしました。
もともとOrganizer使いにくかったからなんの未練もないし。

けれど、開発系は本当にAppleダメダメだなぁ。個人ならともかく、ちょっとチーム組むとローカルのユーザ名が違うことがちょこちょこあるのに・・・。それともそんな環境でやっている私が悪いのかなぁ?
どういう環境が正しい開発環境なんでしょうね。
よくわからなくなってきてしまいました。






Home |  Category:iOS |  コメントアイコン Comment2  |  Trackback0

XCode4でFramework追加

XCode4でFrameworkを新しく追加する方法は以下。
1.プロジェクトを開く
2.左のファイルツリーからプロジェクトのトップを選択する。
3.画面右側がプロジェクトの設定画面になるので、TARGETSからプロジェクトを選択し、上のタブから「BuildPhases」を選択する。
4.「Link Binary With Libraries(3 items)」(デフォルトだと多分この表記かと)を選択すると、メニューが開き、メニュー内部にお約束の「+」「-」ボタンが出てくるので、+ボタンを押下して必要なライブラリを追加していく。

LibraryAdd
Home |  Category:iOS |  コメントアイコン Comment0  |  Trackback0
Home   Top
 
最近のエントリー
カレンダー

08 | 2018/09 | 10
- - - - - - 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 - - - - - -

月別アーカイブ
カテゴリー
リンク
プロフィール

shiffon

ニックネーム:shiffon
自己紹介:
[仕事]
昔は官公庁メインなお堅いSIerでソフトウェアアーキテクト。今は広告系の会社で主にスマートフォンアプリの制作をやってます。

[プライベート]
個人名義でiPhoneやWindowsPhoneのアプリをリリースしています。
アプリ一覧へ

[趣味]
帆船,ベルギービール,焼酎,日本酒,SF,4コマ漫画

Mail:shiffon.1f あっとまーく gmail.com

検索フォーム

PoweredBy

Powered By DTIブログ