カテゴリー ‘ MacOS/iOS Dev.

開発環境の移行とCodeSignエラー

Macの入れ替えなどで開発環境を移行すると、Xcodeでのビルド時にCodeSignのエラーが起こる。その対処法。

移行元のMacで、Xcode: Organizerを起動。Deviceタブ: TeamリストをExportして、ファイルに保存。

移行先のMacでは、 同じTeamから、Importを行う。

サンドボックス使用時のログイン項目のアプリケーション自動起動

サンドボックスに対応させたMac OSX用のアプリケーションですが、よく環境設定などで見かけるログイン時の自動起動が全然機能していないことに気づいた。
早速調べてみると、別途ヘルパーアプリを用意して、それが自動起動してそのアプリがメインのアプリを起動させるというなんとも手間な方法になっている。

Daemons and Services Programming Guide

そして、ここにはそのものズバリを解説してくれているひとがいる。

http://blog.timschroeder.net/2012/07/03/the-launch-at-login-sandbox-project/

おかげさまで、うまく起動までたどりついた。

一応、10.6.8のサンドボックスに対応しないCoreDuo iMacでも動作を確認できた。

追記

調べていると、LSRegisterURL()でヘルパーのURLを登録の必要があるとの記載もあるが、Appleのエンジニアから使用しない方が良いという発言があったようだ。

http://blog.mcohen.me/2012/01/12/login-items-in-the-sandbox/

現在の位置情報を利用しますか?

IB上でMapViewを使用していて、上記のアラートが出てしまう。しばらく悩んでしまったけど、IB上で”Shows User Location”のチェックが入っていただけだった。IBをあまりつかっていなかった弊害ですね。SBを機に使っていくようにしよう。

サンドボックス対応したアプリを10.6 CoreDuoで動かしてみる

インターネットに接続を許可しないサンドボックス対応アプリを作って、10.6 CoreDuo Macで動かしてみると、するっとネットに繋がりました。サンドボックスに対応していないのだから当然なんでしょうけど。

Xcode4で32-bit/64-bit appのビルド

Xcode4になって32-bit/64-bitのスキームがなくなり、どうすればビルドできるのかがわからなかった。どうやら下記で良いようだ。

1.Build Settings > Architectures を Standard (32/64-bit Intel)に。

2.Build Active Architecture Only を NOに。

3.Deployment > Mac OS X Deployment Target を Mac OS X 10.6に(必要であれば)

以前はこの状態でスキームに(32-bit/64bit)のプルダウンが現れたと思ったけどそうはならない。これで、どちらのスキームを選んでも32-bit/64-bit対応がビルドできる。

ちなみに、ARC(Automatic Reference Counting)を使用しているとビルドエラーが起こるので、

Apple LLVM compiler 3.1 – Language > Objective=C Automatic Reference Counting

をNOにした上で、テンプレートが吐いたデフォルトのコードを若干修正する必要がある。

 

※10.6でDeployする場合は、.xibの Document Versionを10.6にして、Auto Layoutのチェックを外さないと出来上がったアプリケーションが起動できない。(ボタンなどを配置すると起動時にクラッシュします。)

return top