【マック】Macintoshプログラミング質問箱

■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん
垢版 |
2005/04/09(土) 23:47:34
   三|三
  イ `<             ,..-──- 、         _|_
   ̄             /. : : : : : : : : : \        |_ ヽ
   ∧           /.: : : : : : : : : : : : : : ヽ      (j  )
   /  \        ,!::: : : :,-…-…-ミ: : : : :',
              {:: : : : :i '⌒'  '⌒' i: : : : :}     _ヽ_∠
  └┼┘          {:: : : : | ェェ  ェェ |: : : : :}       lニl l |
.   |_|_|  , 、      { : : : :|   ,.、   |:: : : :;!      l─| l 亅
   __   ヽ ヽ.  _ .ヾ: :: :i r‐-ニ-┐ | : : :ノ        _
    /     }  >'´.-!、 ゞイ! ヽ 二゙ノ イゞ‐′      l  `ヽ
   ´⌒)    |    −!   \` ー一'´丿 \       l/⌒ヽ
    -'    ノ    ,二!\   \___/   /`丶、      _ノ
        /\  /    \   /~ト、   /    l \
       / 、 `ソ!      \/l::::|ハ/     l-7 _ヽ
      /\  ,へi    ⊂ニ''ー-ゝ_`ヽ、    |_厂 _゙:、
      ∧   ̄ ,ト|    >‐- ̄`    \.  | .r'´  ヽ、
     ,ヘ \_,. ' | |    丁二_     7\、|イ _/ ̄ \
429デフォルトの名無しさん
垢版 |
2011/07/19(火) 22:36:42.70
>>428
そっから先は自分で調べなさいな
ネットで人に教えてもらうことと自分で調べることは大違いだよ
2011/07/19(火) 22:54:50.37
>>428
他の方法だと、clock_get_uptime() という関数があるみたいね

http://developer.apple.com/library/mac/#documentation/Darwin/Conceptual/KernelProgramming/services/services.html

実装は追い掛けていないので、使えるかどうかは分かりませんが
431ななし。
垢版 |
2011/07/27(水) 15:05:41.79
カ オ ス ラ ウ ン ジ ゆ る せ な ぁ い ー
432デフォルトの名無しさん
垢版 |
2011/10/13(木) 14:25:08.28
OSXで、ほかのプロセスの環境変数を覗く方法って存在しますか?
2011/10/19(水) 13:11:53.97
まずコアをはかせます
434デフォルトの名無しさん
垢版 |
2011/10/25(火) 21:02:26.34
macのノート買おうと思ってます。今だとAirかProかの選択肢ですが
どちらを選ぶかでプログラミングに不都合あるもんでしょうか。

例えばなんですが、WindowsではIISの制限がグレードによって異なり、
開発時には開発ツールのサーバを利用できるものの、
ちょっとした実運用をという段階では支障が出てしまうなど、あり得ると思います。
プログラム開発目的ならProにしとけとか、もしあるようなら教えてください。
2011/10/25(火) 21:12:51.38
>>434
そんな違いはないよ。自分は Air 13 インチ使ってるけど、何の問題もない。
Air は後からメモリやディスクの増設はできないから、最初から 4GB にすることを勧める。
436434
垢版 |
2011/10/25(火) 23:23:40.38
>>435
ありがとうございます。すっきりしました!
2011/10/29(土) 21:52:00.66
マックは何もかも初になるのだけど、
winで言うところのレジストリ操作(値の登録や取得)って何に置き換わるのかな
2011/10/29(土) 22:05:22.13
>>437
自アプリの設定とかなら NSUserDefaults
2011/10/29(土) 22:11:49.12
>>438
ありがとう
2011/12/08(木) 14:28:59.67
thx
2011/12/23(金) 12:00:29.48

プログラムから、アプリケーションの
パッケージをアンインストールする処理を
書きたいのですが、何かAPIのようなものは
ありますか。

Mac OS X 10.5 以降で使えるもので
お願いしたいと思います。

それとも、/Application フォルダーの中の、
.app フォルダを捜し出して消去するほか
ないのでしょうか?

よろしくお願いします。
442デフォルトの名無しさん
垢版 |
2011/12/27(火) 18:17:22.39
俺が作ったアプリ以外は認めない 全て削除する

ってこと?
2012/01/07(土) 08:31:41.79
c言語で初期設定ファイルってどう扱うの?
winから着たばかりでさっぱり。

objective-cは無しの方向で。
2012/01/07(土) 08:48:35.05
は?
2012/01/07(土) 08:50:54.96
レジストリって概念がないじゃない?
.plist ってのがアプリごと固有で作れるみたいなんだけど
それの作り方とかが知りたい
446445
垢版 |
2012/01/07(土) 08:57:18.20
http://www.itmedia.co.jp/enterprise/articles/0705/30/news011.html
これでいけるのかな
2012/01/07(土) 09:54:31.22
>>443
Xcode使ってないの?
2012/01/07(土) 10:37:15.72
自分で適当な名前のファイル作って、そこの変数のデータを書き込むだけ。
2012/01/07(土) 16:11:11.80
CFPreferencesというのがありますですよ
http://developer.apple.com/library/mac/#documentation/CoreFoundation/Reference/CFPreferencesUtils/Reference/reference.html
450445
垢版 |
2012/01/07(土) 16:29:05.19
>>447
Xcode 3 つかってるよ。

>>448
適当にというのは、ファイルストリームつかってということかな。

>>449
ありがとう、みてみます
2012/01/07(土) 16:37:21.14
いいから最初はNSUserDefaultsを使いなさい
452445
垢版 |
2012/01/07(土) 16:43:32.80
NS系って、C言語と共存できるの?
Adobe系のプラグインのWindows移植をしないといけないから
開発言語はCかC++になるのだよね
2012/01/07(土) 16:56:33.21
C言語のスーパーセットだからそら共存できるよ

たとえば文字列を扱うNSStringはstringWithCStringって初期化メソッドでconst charから作れるし
そのインスタンスにcStringメッセージを送ればconst charを吐き出すし

Objective-Cを覚えたくないなら使わないで好きにファイル作って設定保存すればいいけど
454445
垢版 |
2012/01/07(土) 17:43:37.37
Xcodeってフレームワーク追加したらプロジェクトの種類(cocoaとかiOS)きにせず
そのフレームワークのライブラリが使えるようになるってこと?

Objective-Cを使えるなら使いたいけど、Adobe用のプラグイン(.plugin)を吐き出す形で
どうやるのかが分からない状態。

既存のCプロジェクトに何を追加すれば、objective-cのコードで記述できるようになるのかな。


455445
垢版 |
2012/01/07(土) 18:19:40.22
あれ、ファイル名を .mm にして、FoundationをインポートしたらObjective-Cでかけるようになったけど
あってるかな。
2012/01/07(土) 21:25:30.00
CommandLineベースのプロジェクトでNSUserDefaultsを使うことに成功したんだけど
これで保存した値ってどこにあるplistに保存されるの?
2012/01/09(月) 18:44:34.10
コマンドラインベースのプログラムから
ポップアップウィンドウを表示する方法ってある?
或る場合、参考になるサイトなど教えていただければうれしい。
2012/01/09(月) 19:21:14.23
普通にGUIベースで書き直したらあかんの?
2012/01/09(月) 20:11:32.37
あかんのです
2012/01/10(火) 20:57:20.31
>>455
あってる
C言語でstdio.hを読み込むように、Cocoaを使うには
#import <Foundation/Foundation.h>
するだけ

>>456
プログラムのデータはMacならユーザフォルダ内の不可視フォルダ、Libraryにだいたい保存される
2012/01/10(火) 21:07:47.00
>>455
拡張子 .mm は Objective-C++ と言って、Objective-C と C++ の両方使えるよ。
2012/01/11(水) 01:05:34.62
>>460
>>461

ありがとうー。順調です。
2012/01/11(水) 16:29:33.37
テーブルビューの、セルをデキューって具体的に何をしてるのでしょうか?

セルをキャッシュして再利用するのはわかるんですけど、セルのどこからどこまでを再利用してるのかわかりません。
セルに書いた文字まで全てキャッシュされているのでしょうか。
よくわかっていないので質問文も曖昧です・・・すいません。
2012/01/17(火) 16:17:06.20
プロジェクトを新規作成して、xibファイルがなかったのでそれもつくって、
Interface builderで背景を置いたんですが、実行しても表示されません…

どうやったら表示されるんでしょうか…?
2012/01/17(火) 16:35:15.17
すみません事故解決しました。

4.2からはstoryboardから出来るんですね。
2012/01/18(水) 00:04:02.62
ここは Mac プログラミングのスレなんだが。
iPhone プログラミングのスレは Mac 板にあるよ。
2012/01/31(火) 10:54:05.71
ユーザーがアプリのインストールするフォルダを変えてしまう場合を
想定した質問です。

Macにはレジストリがありませんが、インストーラを起動したとき、
インストーラが「既に自アプリがインストールされているかどうか」
を判断して動作を変更する方法はあるのでしょうか?(既にインス
トールされていますと表示したり、本体を起動したりする)

大抵のアプリはApplicationsの下にインストールされますが、
少ないながらも開発系のツールなどは、デフォ以外にユーザー
がインストールする場所を変える例もあるので。
2012/01/31(火) 11:02:05.73
-[NSWorkspace absolutePathForAppBundleWithIdentifier:]
で探す。
アプリの名前を変えられていても見つけられます

バンドルIDが登録されるタイミングが良く分からないので
もしかすると一度も起動されていない場合は見つからないかも。
469466
垢版 |
2012/01/31(火) 13:22:32.18
>>468
どうもありがとうございました
470467
垢版 |
2012/01/31(火) 13:24:06.79
>>469
467でした。スレ汚し申し訳ない
2012/02/19(日) 00:30:19.39
最初にMainMenu.xibが作られるが、ここのmenuのdelegateを設定しても、
menuWillOpenとかdelegateが呼ばれない。
なんでだ・・・
2012/02/19(日) 01:15:35.44
メニューの階層構造は

Main Menu
 Menu Item - MyApp
  Menu - MyApp
   Menu Item - About MyApp
   ...
 Menu Item - File
  Menu - File
   ...
 Menu Item - Edit
  Menu - Edit
   ...

みたいになってるけど、Main Menu じゃなくて Menu - MyApp とか Menu - File とかの
delegate を設定したら menuWillOpen: 呼ばれたよ。
473471
垢版 |
2012/02/19(日) 02:38:01.24
>>472
うまくいった!
なんか過疎スレっぽいからあきらめてたのに即レスうれしい。
マジで困ってたので・・・ありがとう(´;ω;`)ブワッ
474471
垢版 |
2012/02/19(日) 02:42:27.03
あ、あともう1点
[NSApp runForModal:modalWindow]
[mainWindow close] or [mainWindow orderOut:nil];
みたいにモーダルダイアログを表示して、それが閉じられたらメインのウィンドウを閉じる。
メインウィンドウは最後の1枚になるウィンドウで閉じられるとアプリ終了する。

このようにしてるんだけど、画面にclose呼んだ後もウィンドウが残ってしまう。
ウィンドウをクリックすると消える。その後、アプリも終了する。
イベントループと絡んでるのかな。
perfomSelector afterDelay使ってcloseしてもダメ・・・解決方法がわからない。
2012/02/19(日) 11:00:55.60
>>473
新mac板にもプログラミングのスレッドあるよ。cocoaはさっぱりとか。

>>474
runModalForWindow: はモーダル処理が終わるまで処理が戻ってこない。
クローズボタンが押された時点ではまだモーダルウインドウは閉じずに stopModalでモーダル処理を終了させて、
モーダルウインドウを閉じるのは runModalForWindow: から帰ってきてからにするといいっぽい。
ってか、runModalForWindow: よりも beginModalSessionForWindow: とか beginSheet:modalForWindow:... の方がいいんじゃない?
476471
垢版 |
2012/02/21(火) 16:18:21.33
>>475
>>474の件もbeginModalSessionForWindow使ったらうまくいった。
重ね重ねありがとう。
iOSは3年くらいやってて熟知してるんだけど、
CocoaはiOSの劣化版SDKに見えるね・・・仕方ないけど。
477営利利用に関するLR審議中@詳細は自治スレへ
垢版 |
2012/03/29(木) 01:24:20.28
xcode って .hに宣言書いたらワンタッチで .mに写してくれたりしないの?
2012/03/29(木) 12:57:50.94
>>477
何に使うんだよ
2012/04/01(日) 12:05:48.87
.
2012/05/07(月) 14:20:31.57
GKに関してなんだけど、プログラム起動するとき、開発者コードと署名をチェックする為に、起動の
たびにアップルのサーバーに問い合わせるのだろうか?
2012/05/13(日) 01:31:35.06
NSImageってどうやって使うの?
Xcode 3.2.6なんだけど、何故か表示できない。
xibでcustom view追加しないで表示したいんだけど出来ない。
コレできないとゲーム作れないよー(´・ω・`)ショボーン

-(void)drawInRect:(NSRect)dirtyRect{
NSImage *outPutImage = [NSImage imageNamed:@"sample.jpg"];

[outPutImage drawAtPoint:NSMakePoint(0, 0)
fromRect:NSMakeRect(0,0,100,100)
operation:NSCompositeSourceOver
fraction:1.0];
}

誰か教えてー
482デフォルトの名無しさん
垢版 |
2012/05/13(日) 18:45:50.58
>>481
drawInRect:??
drawRect:じゃないのか?
483デフォルトの名無しさん
垢版 |
2012/06/28(木) 18:36:57.26
質問です。
Objective-CでMacOS Xアプリの作成をしようとしている初心者です。

プログラムの実行中に、タイトルバーの文字を状態などに応じて変更したい
のですが、やり方を教えてください。
2012/06/28(木) 18:40:45.82
NSWindow の -setTitle: じゃ駄目なの?
485デフォルトの名無しさん
垢版 |
2012/06/28(木) 18:59:55.48
おお、早速の回答ありがとうございます。
やってみます、ありがとうございました。
2012/06/29(金) 15:51:12.44
ファイルアクセスについて質問です。

1.WindowsAPIの CreateFile()で指定できる下記属性について、Macでは代わりになる
手段はありますか?
・FILE_FLAG_NO_BUFFERING
・FILE_FLAG_RANDOM_ACCESS
・FILE_FLAG_SEQUENTIAL_SCAN

2.WindowsAPIの CreateFile()では、属性にFILE_FLAG_OVERLAPPEDを指定することで、
非同期アクセスができるのですが、Macではファイルの非同期アクセスを行う方法
はありますか?

2012/06/29(金) 16:06:32.81
CFStream や NSStream で出来る。
2012/06/30(土) 18:20:24.57
>>486
UNIXなんだから相当する機能はPOSIX APIにあるよ。
WindowsAPIなんて特殊APIの考え方は捨てな。
2012/07/02(月) 13:14:32.60
> 487,488
回答ありがとうございます。
POSIX APIを調査してみました。

open()に設定するフラグで、
FILE_FLAG_NO_BUFFERING → O_DIRECT
FILE_FLAG_OVERLAPPED → O_ASYNC( fcntl()で設定する )

でOKですか?

・FILE_FLAG_RANDOM_ACCESS
・FILE_FLAG_SEQUENTIAL_SCAN
これらについては、まだ見当たるものが見つかっていません。
2012/07/02(月) 15:51:09.65
O_RANDOMとO_SEQUENTIALというフラグがあったけど、MacOS Xに対応しているのか不明
です。
2012/07/02(月) 22:52:49.50
キャッシュのバイパスや先読みの使用はfcntl()で指示できる。
非同期I/OはPOSIX AIO等でもできるけど、thread使うべきでしょ。
2012/07/14(土) 07:22:21.22
今dev centerにログインできない?
493デフォルトの名無しさん
垢版 |
2012/08/11(土) 02:19:07.35
PHPでCocoaAPIへアクセスしたいのですが
現在そのようなブリッジが存在しません。

ないなら作ってみようかと思いPyObjcのソースコードを眺めていたのですが
全体像がなかなか掴めません。

グーグルでMacRubyやPyObjcを検索してもブリッジ間の仕組みを詳しく解説しているような情報も存在しません。

もしご存知の方がいらっしゃいましたら教えて頂きたいのですが、

こういったライブラリーは最終的にobjective-cのソースコードを吐き出すジェネレータのような仕組みになっているのでしょうか?
もっとスマートな別の方法が存在するのでしょうか?

ヨロシクお願いします。
2012/08/11(土) 04:33:44.81
普通C関数呼び出しのインターフェースがある。
PHP なら PHP Extension 使え。

つーかスレチ。PHP のスレで訊け
495デフォルトの名無しさん
垢版 |
2012/08/11(土) 10:59:15.31
>>494
ありがとうございます
2012/08/11(土) 11:24:12.55
いえいえ
2012/08/15(水) 10:23:34.26
今、Lion+Xcode4.3.3で開発しています。
Mountain Lionがリリースされましたが、私のiMacは7/24購入なので8/24まで
の無償アップグレード対象なのですが、アップグレードしても開発に影響は
ありませんか?アップグレードすべきですか?
2012/08/15(水) 13:17:40.67
じゃあ、いつやるか?
2012/08/15(水) 15:22:50.43
>>498
今開発中のプロジェクトファイルが使えなくなったり、作ったプログラムが
Lionで動かなかったりしたら困るので、躊躇してるんです。
何せMac初めてなので、ビクビクしてるんですけど、大丈夫ってことですか?
2012/08/15(水) 15:27:21.62
アップデート試して、それで駄目なら Time Machine 使って戻ればいいじゃん。
2012/08/15(水) 15:56:01.13
TimeMachineというのがあるのですね、調べてみます。
ありがとうございました。
2012/08/16(木) 18:29:25.34
ML別ボリュームに入れればいいじゃん
2012/08/17(金) 17:12:08.34
499です。MountainLionのコンテンツコードを入手できました。
Appleサポートに問い合わせたら、コンテンツコードさえ入手できていれば、
期限はないそうなので、今の開発が一段落したらゆっくりアップデートする
ことにします。
2012/08/18(土) 03:13:25.03
>>503
だから別ボリュームに入れて、MLとLionどっちも
動作検証できるようにすればいいでしょ?
むしろすぐやるべき。
2012/08/20(月) 17:35:41.05
AVFoundationのビデオ再生は、なぜ映像ソースをURLでしか指定できないのか?

メモリ内のデータからから再生したり、ソースのアクセス方法をアプリが制御したりしたいのだが…
506デフォルトの名無しさん
垢版 |
2012/08/23(木) 16:59:46.40
cocoaでアプリケーション(.app)でエラーの数値(1とか)を返して
それをシェルの$?受け取りたいんだけど、なんか出来ない。
main文のラストをreturn 1にすればいいかと思ったが、なんか
ブレーク張ってもここに来てないみたいだし……
なんかいい方法ってないかな?
2012/08/23(木) 17:11:47.87
exit(1) してもアプリが 1 を返さないの?
508デフォルトの名無しさん
垢版 |
2012/08/23(木) 18:06:19.75
>>507
うん。やってみたけど、返さない。
appを開くためにopenコマンド使ってるのが悪いのかな。
2012/08/23(木) 18:39:41.98
>>508
……どう考えてもそれが原因だろ。

直接 Hoge.app/Contents/MacOS/Hoge 叩けよ。
510デフォルトの名無しさん
垢版 |
2012/08/23(木) 19:27:27.19
>>509
おぉ、できたわ……ありがとう。
なるほど、その発想に行かなかった俺がバカだったわか。すまん。
511デフォルトの名無しさん
垢版 |
2012/11/26(月) 06:55:37.30
インテルコンパイラって付属のコンパイラに比べてプログラムの実行速度は速くなりますか?
2012/11/26(月) 19:46:02.53
そりゃあ、純正の方が速いさ
2012/12/06(木) 02:11:02.60
先生質問です。日本語マックでシステム既定の日本語フォント名を取得する方法はありませんか。
私が試みたのは以下の方法です。
1. CTFontCreateUIFontForLanguage(kCTFontSystemFontType, 13, "ja_JP")
2. [[NSFont systemFontOfSize:13] familyName]
どちらの方法でも"Lucida Grande"が返ってきてしまいました。「ヒラギノ角ゴ Pro」が返ってくる方法を探しています。

なにかよいお知恵を貸せ
2012/12/06(木) 05:38:51.43
ボラギノール
2012/12/06(木) 13:54:35.09
色々試したが無理っぽいな。
CTFontRef font = CTFontCreateUIFontForLanguage(kCTFontSystemFontType, 13, CFSTR("ja-Jpan-JP"));

多分 Lucida Grande が正解なのだろう。
2012/12/06(木) 15:57:25.67
ありがとうございます (´△`)
その後
localfont = CTFontCreateForString(systemfont, CFSTR("あ"), CFRangeMake(0,1));
CFShow(CTFontCopyFamilyName(localfont));
を試してみると.Aqua Kanaが出て来ました。待望の置き換え先のフォントです。
え、ヒラギノじゃないの?

これですとローカル文字列「あ」をどこかから探して喰わせてやらなければなりませんし、少々まんどくちゃい。
Windowsで言うところのフォントリンクの情報はどこの埋まっているの。
2012/12/06(木) 16:12:03.81
リンクってこれのことかね?
CTFontCopyDefaultCascadeListForLanguages(font, NULL);
AquaKanaとかHiraKakuProN-W3の名前が入った CTFontDescriptorRef の配列が返ってくる。
2012/12/06(木) 16:24:07.04
( 'o') をを!まさにそれです!ありがたいです!

でもこれすごく新しいAPIですね……うーん。
519デフォルトの名無しさん
垢版 |
2012/12/06(木) 21:24:48.62
ふと思ったのだが、
「システム既定の日本語フォント名」という前提条件を設定した時点で、「ヒラギノ角ゴ Pro」であることが確定しているんじゃないのか?
ランタイムでそれを取得することに、何か意味でもあるの?
2012/12/06(木) 21:57:11.54
今はそうでも、今後は分からないからとか……?
2012/12/07(金) 01:16:43.95
( 'A`) エキゾチックな環境ではエキゾチックなフォントを自動的に使うようにしたかったの。

JUCEというフレームワークを今回某案件に使うことになったのですけれども、これが黙っていると漢字などが豆腐になります。
アプリ内では、UI文字列はともかくユーザのファイルツリーなども表示したりしますのでこれはよろしくない。
んでちょこちょこ実験してみたら、LookAndFeelというクラスに漢字フォントのタイプフェイス名を明示的に指定してやればよいというところまでわかっていたのです。
2012/12/07(金) 01:38:23.92
>>521
それフレームワークが糞なだけだから。
ATSUIやCoreText正しく使ってればそんな事にはならない。ファイル名はUnicode
だから漢字が描画できても他の言語でまた豆腐になるよ。
2012/12/07(金) 02:34:01.20
あっそうか、日本語環境で日本語フォントを指定できても他言語から持ってきたファイル名とか余裕で化けますね。
うわあどうしよ。フレームワーク側をいじるべきなのか……。
2012/12/07(金) 06:38:15.23
糞OS
525デフォルトの名無しさん
垢版 |
2012/12/07(金) 20:06:04.80
>>523
ユーザー側に、使うフォントを選択してもらうしかないのでは?
それでも、複数言語が混在しているテキストだとどうにもならないけどね。
526デフォルトの名無しさん
垢版 |
2012/12/10(月) 15:45:02.57
簡単な質問失礼

Macのc言語でシューティングのようなもの作りたいんだが
conio.hがなくてkbhit関数使えないから、自機が動かないと敵機も動かないって状況に。

キーボード入力を見張りつつ、プログラムを止めない関数はない?
2012/12/10(月) 16:26:38.53
curses
528デフォルトの名無しさん
垢版 |
2012/12/10(月) 18:22:33.55
>>526
スレッド使えば済むのでは?
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

ニューススポーツなんでも実況