• 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
 
 

project.pbxprojファイル内に各ターゲットに対するSDKROOTが二つあって混乱したのですが、プロジェクトとターゲット、別々にSDKROOTを持つようです。

project.pbxproj内の下記のコメント部分辺りを読むと、別々に設定があることがわかります:

/ Build configuration list for PBXNativeTarget …
/
Build configuration list for PBXProject

色々見ていると、各ターゲットの設定がプロジェクトより優先されるようなんですが、Appleの資料(詳細は下の資料の参考3を参照)を見ると、

ターゲットごとにSDKを指定することもできますが、そのようにすると、プロジェクト全体に作用するようなSDK設定を使用している他のXcodeの機能の処理が妨げられる可能性があります

ということが書いてあって、結局はSDKの設定はプロジェクトもターゲットも同じ方が間違いがないかなと思いました。

資料

参考1:

1つのプロジェクトに複数のターゲットを持てるので、ターゲットごとに設定ができるようターゲットの設定が優先されます。全ターゲット(1つの場合も)同じ設定で良いなら、プロジェクトの方だけ設定すれば良いです。 [twicco.jp @tucitter ] posted at 23:15:29
http://twilog.org/iphone_dev_jp/date-090328

参考2:

結論としては、プロジェクトとターゲット、別々に設定できるんだね。
project.pbxprojを直接読んでやって発覚。
http://denrinken.tsbps.com/diary/2009-10.html#2009-10-12b

参考3:

SDK設定がビルドにどのように影響するか

Important: Xcodeにおいて、プロジェクトに対するSDKを選択すると(“「クロス開発のためのプロジェクトの設定」”を参照)、選択したSDKは、プロジェクト内のすべてのターゲットに適用されます(すべてのターゲットが、指定したSDKのヘッダとライブラリを使ってビルドされます)。ターゲットごとにSDKを指定することもできますが、そのようにすると、プロジェクト全体に作用するようなSDK設定を使用している他のXcodeの機能の処理が妨げられる可能性があります。(略)
http://developer.apple.com/jp/documentation/DeveloperTools/Conceptual/cross_development/HowItWorks/chapter_2_section_7.html#//apple_ref/doc/uid/20002001-1105070

posted by Png satoko on Wed 8 Sep 2010 at 03:24

宗教の世界観の中で霊験あらたかな壺が有する価値をお金と交換する行為と、ゲームの世界観の中でレアなアイテムが有する価値をお金と交換する行為の違いはなんだろう。

両者の間に本質的に違いはない気がする。 犯罪性を帯びないようにするためには、売ったアイテムの買取保証などを義務付ける必要があるのではないだろうか。

posted by Png genki on Thu 2 Sep 2010 at 19:19

Thorを使ってタスクを追加する場合、 通常以下のような感じで名前空間付きのタスクが追加されます。

   1  "クラス名":"タスク名"

グローバルな名前空間にタスクを追加したい場合は、

"help" という名前のタスクを追加すれば良いようです。

posted by Png genki on Sun 15 Aug 2010 at 05:53

踏み台ホストとターゲットホストで異なるユーザIDの場合に ProxyCommandによる多段SSHをするための設定メモ。

.ssh/config

   1  Host targethost
   2    ProxyCommand ssh -l gatewayuser gatewayhost nc %h %p
   3    User targetuser

posted by Png genki on Sat 14 Aug 2010 at 00:10

ssh接続を長時間維持したい場合、sshクライアント側からheartbeatを使うという方法がありますが、標準構成のsshにはその機能がないため、 パッチをあてる必要があります。

opensshもバージョンをあわせて4.4を使います。

あとは、patchを当てて configure; make; make install でok

インストールが済んだら、~/.ssh/configあたりに

   1  Heartbeat 300

のようにHeartbeatを打つ間隔を秒単位で指定します。

posted by Png genki on Sun 8 Aug 2010 at 23:18

glGetError()がGL_INVALID_FRAMEBUFFER_OPERATION_OESを返した場合、 glCheckFramebufferStatusOES()で理由を確認できます。 返り値は以下のとおり。

   1  GL_FRAMEBUFFER_COMPLETE_OES                      0x8CD5
   2  GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT_OES         0x8CD6
   3  GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT_OES 0x8CD7
   4  GL_FRAMEBUFFER_INCOMPLETE_DIMENSIONS_OES         0x8CD9
   5  GL_FRAMEBUFFER_INCOMPLETE_FORMATS_OES            0x8CDA
   6  GL_FRAMEBUFFER_UNSUPPORTED_OES                   0x8CDD
   7  GL_FRAMEBUFFER_BINDING_OES                       0x8CA6
   8  GL_RENDERBUFFER_BINDING_OES                      0x8CA7
   9  GL_MAX_RENDERBUFFER_SIZE_OES                     0x84E8
  10  GL_INVALID_FRAMEBUFFER_OPERATION_OES             0x0506

posted by Png genki on Mon 2 Aug 2010 at 22:37

iPhoneアプリで凝ったアニメーションを作るとCALayerを多用するようになりますが、 いくつか現時点では欠けている点があるのでメモしておきます。

  • GLに比べて大分遅い。CALayerのレンダリングは内部的にGLを使っていないようですね。そのかわりアンチエイリアシングがキレイだったりします。
  • 3D transformがrenderInContextできない。ドキュメントでも少し触れられていますが、3Dのtransfromを設定しても renderInContextに反映されないです。
  • contentsをkey frameアニメーションさせる場合に、contentsの遅延読み込みが出来ない。そのため、イメージデータを全部メモリに読み込む必要があり、メモリ消費量が大きい。AVVideoCompositionCoreAnimationToolなどを使うときに困ることになります。

ちなみに、CALayerのcontentsプロパティは id 型の retain なんですが、CGImageRefを指定するとちゃんとCGImageRetainを呼んでいる様子。違和感があります。

posted by Png genki on Wed 28 Jul 2010 at 02:39

iPhoneをLandscape状態にしたときの寸法をメモしておきます。

  • ナビゲーションバーの高さ: 32px
  • statusbar height: 20px
  • バーを除いた高さ 268px
posted by Png genki on Mon 19 Jul 2010 at 20:07

iPhone開発アカウントをもう一個とろうとしてみたのですが、1法人につき1つまでという制限があるようです。

posted by Png genki on Tue 13 Jul 2010 at 18:36

Release設定で、Code Signing IdentityAutomatic Profile Selectorを設定していて、Buildすると上記のようなエラーが出る様です。 どうやら、アイコンサイズ(57x57)やらチェックしてくれるOptionらしい。

Project SettingsのBuild OptionsでValidate Build Productをチェック

"Project - Edit Project Settings - Build - Configuration(Release)"内にあるBuild Optionsの項です。これでwarningは出なくなります。

詳細はこちらから:

Xcode 3.2.2 Validate Built Product - Blog - Use Your Loaf
http://useyourloaf.com/blog/2010/4/3/xcode-322-validate-built-product.html

posted by Png satoko on Tue 13 Jul 2010 at 06:04