【Cocoa】Macプログラマのスレ【Objective-C】

■ このスレッドは過去ログ倉庫に格納されています
1仕様書無しさん
垢版 |
2008/06/23(月) 17:06:37
Apple Developer Connection
http://developer.apple.com/jp/

関連スレ
Macでプログラミング{8}
http://pc11.2ch.net/test/read.cgi/mac/1195385771/

Objective-C [ObjC part:3];
http://pc11.2ch.net/test/read.cgi/tech/1186543111/

【マック】Macintoshプログラミング質問箱
http://pc11.2ch.net/test/read.cgi/tech/1113058054/

Cocoaはさっぱり!!! version.X(10)
http://pc11.2ch.net/test/read.cgi/mac/1211290055/

Xcode part6
http://pc11.2ch.net/test/read.cgi/mac/1201693264/
2014/04/13(日) 15:31:02.90
>>564 >>566
情報ありがとう、AppStore向けのアプリ作ろうとしてたから助かる。

ちなみに、前にベンダードメインって言っていたアプリ間の共有空間を作る場合は、
Containersとは別にGroup Containersという仕組みがあるみたい。
2014/04/16(水) 11:27:49.68
OSXでサンドボックス必須ってことはシステム情報の読み書きとかも出来なくなるってこと?
iOS並に制限されたらちょっと考えちゃうな。
569仕様書無しさん
垢版 |
2014/04/16(水) 15:32:58.69
>>568
iosよりは緩いよ
外部プログラム起動できるし(多分)
2014/04/19(土) 00:55:54.76
>>568
システム情報以前にファイルの読み込み書きがそもそも出来ないらしい。

ファイルの読み書きはNSOpenPanel, NSSavePanel経由に制限される。
つまりユーザがダイアログで直接選択したファイルしか利用できないわけ。
だからFinderみたいなファイルエクスプローラは作れないし、
アプリ起動時に前回開いていたドキュメントを自動的に表示するようなことも出来なくなる。
2014/04/30(水) 13:02:02.72
オープンソースのコード読んでると時々Objective-C++でファイル書いてる人がいるんだけど、
なぜかC++の処理まったく記述していないんだよね。
なにか利点でもあるのかな。
2014/04/30(水) 13:04:33.62
>>571
特にない。後でC++使おうとしたときにめんどくさいからってぐらいかな
.mmにしても.mと全く同じだし。コンパイル速度が遅いとかある(らしい)けど、そんな全部リコンパイルなんてしょっちゅうしないから、気にならないしぃ
2014/05/01(木) 07:46:54.76
気付いてないだけでどっか演算子のオーバーロードしたり、
あるいはC++のリテラルでも使ってるんじゃね。
2014/05/12(月) 14:06:41.92
単純にパフォーマンス意識してるだけなのでは。
そんなに変わるとは思わないけど、
一応NSObjectクラスはObjective-C++で書かれてるわけだし。
2014/05/13(火) 21:22:58.34
Macの開発環境って将来的にC++ベースになったりするの?
2014/05/13(火) 22:35:18.57
>>575
ない。変る理由がないから。
ただしネイティブプログラムからウェブベースには移行するかもしれないけどね。
2014/05/17(土) 19:57:10.85
Cocoa製のエディタってテキストサイズが大きくなるにつれて
日本語入力が重たくなるのは有名だけど、
Apple純正のメモ帳だと全く問題ないんだよな。
非公開のViewでも使われてるのかな。
2014/05/17(土) 22:16:42.01
普通に変更部分だけ再描画してるんじゃないの?
2014/05/26(月) 12:15:54.18
みんなOSXの開発でXIB使ってる?
自分、StoryBoardが出るまでは絶対にGUIツールは使わないって心に決めてるんだけど変かな?
580仕様書無しさん
垢版 |
2014/05/31(土) 20:46:08.23
なんか興奮してきたな
581仕様書無しさん
垢版 |
2014/06/01(日) 14:46:51.52
WWDC明日か〜楽しみ
iOS8でるね
2014/06/01(日) 17:51:47.79
寄せ見て乙
583仕様書無しさん
垢版 |
2014/06/03(火) 02:07:09.92
WWDC始まった〜^^
584仕様書無しさん
垢版 |
2014/06/03(火) 02:10:48.02
mac 12% 売り上げ増
その他PC 8% 売り上げ減
585仕様書無しさん
垢版 |
2014/06/03(火) 02:15:15.10
OS X Yosemite
586仕様書無しさん
垢版 |
2014/06/03(火) 02:23:15.64
ジョナサン相武
587仕様書無しさん
垢版 |
2014/06/03(火) 02:27:19.27
Mail Drop
588仕様書無しさん
垢版 |
2014/06/03(火) 04:16:24.72
そこはジョナサン愛撫だろ
2014/06/03(火) 04:37:44.12
新言語 Swift の言語仕様書
https://itunes.apple.com/jp/book/swift-programming-language/id881256329?mt=11
590仕様書無しさん
垢版 |
2014/06/03(火) 21:45:42.08
今回の発表は盛りだくさんの内容だな
2014/06/03(火) 23:12:16.22
新規参入は増えると思うけどObjective−Cに慣れた身としてはあまり魅力を感じないんだよな。
Xcodeのコード補完があるからObjective−Cでもまだまだ行けたと思うんだが。

だいたいObjective−Cよりも高速ってのが胡散臭い。
話題性のために大げさに言ってるだけだと思うけど。
Cocoaの標準機能呼び出した途端に遅くなったりするんじゃないか?

Swiftの方が補助言語に成り下がってしまいそうで恐ろしい。
592仕様書無しさん
垢版 |
2014/06/03(火) 23:42:56.29
これまで通りObjective-CやCとも共存できるんだし、何を心配してるんだか
2014/06/04(水) 00:30:24.31
共存もそうだし、Objective-Cだけはもうダメですでもないのにな
仮にObjective-Cを完璧に捨てる予定だとしても、明日にもでもないし、果たして2年後3年後なのかわかりもしないののにね
2014/06/04(水) 01:18:13.93
Swiftの絶対的な優位性が無くてフラグメンテーションが起きるのを心配してるんじゃないか?
互換性やコード変換が可能といってもコストはゼロじゃないし、
中途半端にObjective-Cが残ったり一部だけSwiftになったりすると、互換性持たせるために却ってコストが増えるという。
数年で全部Swiftに移行完了するのが理想だろうね
2014/06/04(水) 13:15:23.66
CF系のフレームワークとかどうするんだろう。
あれC言語で書かれてるじゃん。

あと言語仕様的にコード変換は難しいんじゃないかな。
Objective−C側で手作業でのコード整理が必要になるだろうし
マクロもインライン展開されちゃったりして痛い目見るんだろうな。

頑固にObjective−Cを使い続ける人が出てくると予想。
2014/06/04(水) 15:18:51.29
別にいいと思うけどな。頑固とかじゃなくて好きならそれを使えばいいだけで
Swift - Objective-C/C はトールフリーブリッジっぽいけどな。だったら尚更好きな方を使えばいいだけだな
2014/06/04(水) 15:56:34.07
あとはAppleがObjective−C殺しの方針を打ち出してくるかどうかだよね。
Objective−Cの仕様はMRCの時代からかなり勉強してきたので無駄にしたくないな。

CF系の件だけど、C言語向けの型がSwift内に用意されてるみたいね。
なのでSwiftからCとのやり取りは問題なさそうだけど、あとはオーバーヘッドかな。
どちらにしろCが無くなることはなさそうだね。SwiftがCより早くなればまた別だけど。
2014/06/04(水) 16:02:05.45
C言語で書かれている有用なクロスプラットフォームなライブラリが沢山あるから速度以外の面でもCが無くなることは無いでしょ。
2014/06/04(水) 16:15:22.76
あるわけないわな。そのとおり。Apple自信だってOpenSource活用しているんだからなあ
なんだろこの新しいのが出たらそれ「だけ」ってのは。まあ2chでは2値基準というのはよく見るけど
2014/06/04(水) 22:00:33.62
そもそもCが消えるわけないわな
OSS全部書き換えるって話になってきちゃうわな
601仕様書無しさん
垢版 |
2014/06/04(水) 22:45:37.86
http://japan.zdnet.com/business-application/sp/35048823/
2014/06/05(木) 02:09:17.72
Swiftが速いと言われてるのはおそらく
Objective-Cのメッセージによるオーバーヘッドが無くなるからであって、
メソッド単体の処理で言えば、Cをネイティブで走らせてるObjective-Cのほうが有利だと思うんだよな。
再帰使わずにフェボナッチ数列求めさせたら絶対Objective-Cのほうが速い。

GUIプログラミングみたいなロジカルなコードを書くならSwiftの方が最適もしれないけど、ゲームや科学計算のようなシビアなコーディングする世界ではObjective−Cが使われ続けるんじゃないだろうか。
2014/06/06(金) 00:18:38.87
相互に関数が呼び出せるんだから、部分部分をどの言語で書こうがそりゃ自由だ
604仕様書無しさん
垢版 |
2014/06/10(火) 07:01:36.46
今までつくったアプリ全部Gitに公開するわ

レビュー5点のアプリ1つ
レビュー4.5点のアプリ1つ
レビュー3点のアプリ1つ
1400円で販売してたアプリ1つ
ゴミアプリ2つ

今週中にはなんとか
605仕様書無しさん
垢版 |
2014/06/10(火) 10:42:45.38
あ、はい
2014/06/17(火) 08:36:27.29
速度マックスを求める今こそ、アセンブラへの原点回帰をだな(ry
2014/06/20(金) 13:55:53.33
結局SwiftはObjCの置き換えなのか共存なのか、いまだにはっきりしてないな。
世間一般では完全なる置き換えという認識だけど、公式には曖昧だが共存という言葉もが使われていて、
新言語の出来次第ではSwiftユーザとObjCユーザを二分しそうだな。
Appleはがこれほど曖昧にしたがるのはきっと彼ら自身もまだ明確な答えが出せてない証拠だと思う。
2014/06/20(金) 18:40:49.10
曖昧にしたがっているのではなくて曖昧にしかならないのだろ。言っている通り
来年のWWDCではっきりするだろう。ってことは1年はObjective-Cでも問題ないし、Swiftやっても問題ないし、どっちでも問題ないなっていう
来年のWWDCではっきり例え全てのセッションがSwiftになってObjective-Cの先が無いよってなっても、Objective-Cが無くなるのはそれからまだ先のことだろう。早くても今から2年後(ありえない)以降
Objective-Cがあとか今言っているのはアホか先物好きか、新しい言語に慣れるのに3年からるヤツとかじゃね
2014/06/20(金) 23:31:47.89
Obje-CのAPIは、あと10年は残ってるだろう。
2014/06/21(土) 09:57:59.25
MBPと差別化が難しくなってるMBAがARM搭載になって
swiftでアプリ共通化される



夢を見た
2014/06/21(土) 14:21:36.03
Objective-CとiPhoneのプログラムって、どう違うの?
2014/06/21(土) 19:30:15.06
は?
2014/06/23(月) 16:11:33.26
PocketやGraffitPotのようにタイトルバーにまでスプリットビューが伸びているアプリが最近やたら多いんですが、どうやって実現してるんでしょうか?
GUIツールではどうやら実現できそうにないです。
タイトルバーの高さやアイコンの配置間隔などは両アプリとも同じなので、なにか有名なライブラリでも使ってるのでしょうか?

もしくはYosemiteの標準アプリではこのスタイルが一般的になるようなので、
もしかしたら昔からあったプライベートAPIかなにかを使っているのでしょうか。
614仕様書無しさん
垢版 |
2014/06/23(月) 19:50:56.69
Objective-CとC++を混ぜて書けるってことなんでいろいろ試してるんだけど
↓これが、実行時にエラーになります。
std::vector<NSString*> vec{@"aaa", @"bbb", @"ccc"};
なぜですかね。

初期化じゃなくて、追加なら問題ありません。
std::vector<NSString*> vec;
vec.push_back(@"aaa");
vec.push_back(@"bbb");
vec.push_back(@"ccc");

C++のstringなら、初期化しても普通に動きます。
std::vector<std::string> vec{"aaa", "bbb", "ccc"};
2014/06/23(月) 20:54:13.30
拡張子を.mmにしなきゃだめらよ
2014/06/23(月) 21:43:18.52
>>614
ARC関連じゃないかなあ。Core使う場合でもなんだから、
std::vector<CFStringRef> vec{(__bridge CFStringRef)@"aaa", (__bridge CFStringRef)@"bbb", (__bridge CFStringRef)@"ccc"};
じゃないととか?
darwin(?)のstd::vectorがどこまで、Objective-Cオブジェクトを知っているかというと、どうだろうなあ

Objective-Cオブジェクトをそのまま扱うならNSArrayを使うのが無難/余計なことしないぶん読みやすくもあると思うけど
2014/06/23(月) 21:54:27.32
>>614
落ちたとこの見てみたら template 展開後の __strong … __strong が怪しいので、
std::vector<__unsafe_unretained NSString*> vec{@"aaa", @"bbb", @"ccc"};
にしたら、とりあえずは大丈夫のよーな。まあ、ARCでObjective-CオブジェクトをC/C++で使うのにはちょっと注意が必要ね
2014/06/23(月) 22:42:52.43
>>614
そういえば、文字列リテラルないくらReleaseしてもReleaseされないNSStringオブジェクトなのに、なんでやねんと思い直し、
考えられるのは、初期化していないstrongなインスタンスの変数にぶっ込むことによって、ゴミをReleaseしようとしてクラッシュだろうな。mallocなんじゃねっていう

CFStringRefも__unsafe_unretained NSString*もんなこたーないから大丈夫っつう
まあ、std::vectorでObjective-Cオブジェクトは使わない方がいい。また、ARCを使わない(これはナイなw)
2014/06/25(水) 10:48:56.81
in reviewって普通、何時間くらいで終わるんですか?
アクセスの履歴はないんですけど、何日も放置なので。
620仕様書無しさん
垢版 |
2014/06/25(水) 19:17:57.36
7日以内
621621
垢版 |
2014/06/29(日) 01:37:19.58
swiftに全く触手が動かん・・・
鬱だからだろうか?
622仕様書無しさん
垢版 |
2014/06/29(日) 15:42:38.98
ぼく今躁状態ですけどswiftクソクラエですよ
623仕様書無しさん
垢版 |
2014/06/29(日) 16:32:35.80
勉強しようと思ったけどPythonで事済んだわ
PyObjCステキ
2014/07/04(金) 17:12:43.29
夏休みにObjective-C学ぶつもりでいたのにSwiftが出てきて何も出来なくなってしまった。
2014/07/04(金) 21:18:37.76
秋にはswiftの正式版でるんでしょ?
今から勉強して、アプリができるころには秋になってるんじゃないの。
2014/07/05(土) 23:52:54.68
別にObjective-Cやって損はないよ。
Swiftの情報が普及するのに1年以上は掛かる。
それまで初心者は手を付けられない。
Swiftが完全に普及するのは2年くらいかかるんじゃないだろうか。
現行開発者でも年内は様子見がほとんどだと思う。
2014/07/05(土) 23:57:27.59
>>626
だね。
複雑なUIでなければ割と簡単にアプリ書けるし、
やはりJavaで動かすAndroidとレベルの違う小気味よい動きが楽しい。


Swift勉強する事になったとしても基本はObj-cだ。
628仕様書無しさん
垢版 |
2014/07/12(土) 20:05:14.73
https://github.com/ShingoHano?tab=repositori
2014/07/19(土) 16:25:07.36
損はないけど、やんなくていい。
2014/08/03(日) 10:20:29.55
CoreData使ってる人って本当にいるの?
2014/08/03(日) 14:29:36.55
うん
2014/08/04(月) 02:08:28.11
CoreData 使えるようになるとちょー便利
sqlite とかつかってられない
2014/08/04(月) 09:29:33.37
>>630

MagicalRecord使っとけば
2014/08/04(月) 16:28:31.14
大抵のデータ管理はplistで事足りるし。

CoreDataが流行らないのはObjective−Cに名前空間が無いからだと思う。
テーブルごとにモデルクラスを作らなきゃいけないのも面倒。
2014/08/04(月) 16:33:28.14
なにを頓珍漢なことを言っているのだか
2014/08/04(月) 18:12:40.20
>>634
全部メモリに展開されても構わないような小さいデータを扱うアプリならそれでもいいかもね。
でも「大抵」はCoreDataは使ったほうがいいと思うけど
2014/08/04(月) 23:15:36.66
CoreData使わないと、iCloudにupされないからなー
2014/08/07(木) 22:00:12.51
FinderからViewに複数ファイルをドロップしたとき、
performDragOperationで処理しています。

たとえば5,000ほどのファイルをドロップしたとすると、

NSPasteboard *pb = [sender draggingPasteboard];
のpbをNSArrayに入れた瞬間に、

[ Consume sandbox extension for itemIdentifier (4555) from pasteboard failed! ]
[ Consume sandbox extension for itemIdentifier (4556) from pasteboard failed! ]
・・・
[ Consume sandbox extension for itemIdentifier (5000) from pasteboard failed! ]
などというエラーが出ます。
このエラーは大体5,000近いファイルをドロップした場合に起きます
(sandbox化しなければ10,000であろうと問題ありません)。

どなたか解決法をご存知でしょうか。
2014/08/08(金) 16:58:32.78
どうしてもわからないことがあります

navBarとtabBarの色をUIColorで指定しているんですが、実機だと思ったような色が出ません
[UINavigation Bar appearance].barTintColor = [UIColor blackColor];
のように指定しているんですが、シミュレーター上だと黒色になるんですが実機だとグレーにしかなりません
黒だけではなく、tabとnavの時だけ色が薄くなるように感じます
何か特別な設定が必要なのでしょうか・・・?
2014/08/08(金) 21:41:53.32
>>639
バーが半透過してて下地のViewの白がみえてるとかじゃないの?
iOS7 のバーって機種とかマイナーバージョンの違いでちょっとずつ見え方・透け方が変わるんだよね。
試してないけど、 translucent を NO にしてみるとかかな。
2014/08/09(土) 13:18:45.96
>>640
tabbarもnavbarも.translucent = NO;を設定することで解決しました!
ありがとうございます
2014/08/18(月) 18:56:54.01
どうしてもわからないことにぶち当たったので

iOS7の場合にStatusBarにViewを被せて背景を黒くしています
ViewController-based statusbarはNOにして、Appdelegateにてwidth*20のViewを作り
self.window.rootViewController.viewにaddしています
ちなみに、NavigationControllerを使用しています

ここまではよかったんですが、modalviewに遷移した時に、statusbarがnavigationbarの色で塗りつぶされてしまいます

UIViewControllerのサブクラスを作り、UINavigationControllerのViewに設定した後で
[self presentViewController...]で設定しています
新しく呼び出しているわけですから、statusbarが設定されてないのもしょうがないと思い、サブクラスで同じように設定したところ
Navbarの下に表示されてしまいました。
self.window...にaddしてないからから当たり前か、と思いwindowプロパティを作って同じようにしても駄目でした

どなたか解決法をご存じでしょうか?
2014/08/18(月) 23:57:31.29
あんま状況わからんけど、add するタイミング変えてみるとか (presentViewController 終わったあととか)
add したあとに Navbar が SDK 側で作られて上にかぶってるのかも
subviews の順番見てみると良いかも
view の layer の zPosition 調整でも良いかも
iOS 6 風のステータスバー作るのがその方法がベストなのかは謎
そしてここが iOS 質問スレなのかも謎
2014/08/19(火) 02:16:17.03
ありがとうございます
self.viewに貼り付けてy軸を-64ずらして、navigationbarをzPositionで最背面にするという力技で、なんとかできました
objective-Cのスレッドが見つからなかったので、すいませんでした
2014/08/19(火) 02:28:29.21
新・mac板とかにiOS開発質問スレとかあるよ
646644
垢版 |
2014/08/19(火) 03:00:43.96
ありがとうございます。今後はそちらを利用してみます。
2014/08/20(水) 23:18:00.65
AppKitってタブアプリのサポートしてないのかな?

NSTabViewはなんだかSafariやFinderのタブとは別物みたいだし。
今後NSWindowControllerは複数のNSDocumentを管理できるようになるのだろうか。
2014/08/22(金) 05:24:34.00
http://jobinjapan.jp/job-listing/keyword-Objective-C.html
2014/08/25(月) 04:25:55.16
実行プログラム内で、任意クラスのメソッドの引数の型を調べたいと思っています。

例えば、 MyClass に -(void)setHoge:(NSString *)value というメソッドがあれば、
valueにあう型が正確にNSStringと言う事を知りたいと言った感じです。

よろしくお願いします。
2014/08/25(月) 13:43:17.61
ランタイムにはそんな情報ねーよ、ただの id。
欲しけりゃ自分で作るんだな。
2014/08/25(月) 14:13:37.62
[value isKindOfClass:[NSString class]]
とかじゃなく、使う側が、setHoge:の引数の型がってこと?
2014/08/25(月) 16:20:52.73
NSMethodSignature使えばわかるよ。ちとメンドイが。
2014/08/25(月) 16:29:51.57
ああ、わかるのは Objective-C type encodings までだな。
654649
垢版 |
2014/08/27(水) 03:55:11.84
コンソールで、メソッドの引数にNSString型を求めてるとろに違う型を入れるとNSStringを入れろと
怒られたりしたので、もしかしたら、実行プログラム内でも分かるのではと思ってましたが、
無理そうな事が分かりました。

知恵を出して頂いた方々、ありがとうございました。
2014/08/30(土) 09:26:33.03
appkit、廃止の道を歩むのかと思っていたら、10.10のapi差分みると結構機能強化しているな。
2014/08/30(土) 16:18:54.03
そこは素直に俺の糞予想が外れたといいなさい
2014/09/05(金) 03:28:02.60
誰か一緒にmacのエロゲ作りませんか?
658仕様書無しさん
垢版 |
2014/09/13(土) 11:34:28.34
iphone ipad appのリバースエンジニアリングってどうやるの?
2014/09/15(月) 01:12:10.62
>>658
ツール使えば、中のクラスとメソッドシグネチャーとかぐらいは見れるけど。
2014/09/15(月) 11:35:53.44
そこまでだよな。俺はやった事無いけど。
コードは無理だろ。
2014/10/11(土) 22:47:43.26
iCloud Deiveが出てきたら今までのiCloud対応ってやらなくて良くなるの?
もしくは今までの仕組みはHandoffに転用出来るようになってるとか?
2014/10/11(土) 23:48:15.72
>>661
http://support.apple.com/kb/HT201104?viewlocale=ja_JP
Finderでドライブとして見えるのだから、iCloud意識しなくてもいい=iCloud対応ってやらなくていいんじゃね
でも、Yosemiteだけの話で、Mavericksもというのなら今まで通りの Documents in the Cloud で
てか、Documents in the Cloud とはいったいなんだったのかって話だなあ。Documents in the Cloud でも ~/Library/Mobile Documents にアクセスすればドライブでなくフォルダだが似たようなもんだし
2014/10/12(日) 11:30:56.58
HandOffは別APIが提供されているので既存のiCloudeの仕組みは使われてないと思う。
2014/10/13(月) 11:32:57.25
xcode 6 ってmac OS 10.6と互換性ないの?
2014/10/24(金) 11:33:48.44
旧iCloude厨死亡かよ。
Appleは開発者に対して容赦無いな。
その内Objective-C開発者も切り捨てられるんじゃね?
2014/10/29(水) 21:50:18.20
Objective-Cはパフォーマンス上げられるから生き残るよ(震え声)
■ このスレッドは過去ログ倉庫に格納されています