[SDK]iPhoneアプリ開発初心者質問箱8[touch][iPad]
1 :
名称未設定 :
2010/08/16(月) 14:25:28 ID:HOG7wYrJ0 iPhone, iPod touch用アプリケーションの開発を始めたばかりの初心者向け質問スレです。
[質問する前に]
1. 質問は日本語でもしくはObjective-Cで
2. どういう内容であれレスをもらったらお礼の言葉を忘れずに。
回答者は自分の時間を使って親切で回答してくれています。
3. 回答者は自分も初心者であった事を忘れずに。
4. マルチポスト(複数のスレに同じ質問を書込むこと)は厳禁!
5. 質問は可能な限り具体的に。ただ「エラーが出ます」では
エスパーかスタンド使いでなければ答えられません。エラー内容をちゃんと書きましょう。
6. わからない部分のコードをコピペすると手っ取り早いです。
7. このスレは無料プログラミング教室ではありません。
「○○の仕方を教えてください」という質問はなるべく避けてください。
「自分で調べたけどわからなかった事」を質問するというスタンスを忘れずに。
8. バグを安易にOSや開発環境のせいにしない。
自分の知識の無さを棚に上げて人のせいにするなんて百年早いです。
関連スレ等は
>>2 以降
2 :
名称未設定 :2010/08/16(月) 14:27:18 ID:HOG7wYrJ0
3 :
名称未設定 :2010/08/16(月) 14:28:35 ID:HOG7wYrJ0
【参考書籍】 【Cocoa全般、Objective-C】 Mac OS X Cocoaプログラミング(ピアソンエデュケーション 、2002/06)アーロン・ヒレガス著、 村上雅章訳 HappyMacintoshDevelopinTime 2nd Edition(ビー・エヌ・エヌ新社、2004/6)木下誠 HappyMacintoshDevlopingTime 3rd Edition(ビー・エヌ・エヌ新社、2006/5)木下誠 詳解 Objective-C 2.0(ソフトバンククリエイティブ 、2008/5)荻原 剛志 たのしいCocoaプログラミング(ビー・エヌ・エヌ新社 、2008/8) 木下誠 Xcodeプログラミング大全(アスキー・メディアワークス、2009/1/6) 柴田 文彦 【iPhone、和書】 iPhone SDKプログラミング大全(アスキー・メディアワークス、2009/1)木下誠 iPhone デベロッパーズ クックブック(ソフトバンククリエイティブ 、2009/2)エリカ・サドゥン著、(株)クイープ訳 iPhoneSDKの教科書(秀和システム、2009/3)赤松正行 【iPhone、洋書】 The iPhone Developer's Cookbook(Addison & Wesley、2008/10)Erica Sadun Beginning iPhone Development(APress、2008/11)Dave Mark iPhone SDK Application Development(O'Reilly、2009/1)Jonathan Zdziarski iPhone SDK Programming(Wiley、2009/3)Maher Ali (尼で見ると続々出版予定)
4 :
名称未設定 :2010/08/16(月) 14:32:11 ID:HOG7wYrJ0
一般 日本語版 英語版 iPhone ヒューマン インターフェイス ガイドライン New 2010-06-03 2010-06-03 iPhone アプリケーションプログラミングガイド 2009-06-17 2010-06-30 iPhone 開発ガイド New 2010-05-28 2010-07-02 iPhone OS テクノロジーの概要 2009-05-27 2010-07-08 iPad ヒューマン インターフェイス ガイドライン 2010-04-03 2010-06-03 iPadプログラミングガイト 2010-03-24 2010-04-13 ネットワーク Apple Push Notificationサービス プログラミングガイド 2009-05-22 2010-07-08 Store Kit プログラミングガイド New 2010-06-14 2010-06-14 Game Kit プログラミングガイド 2009-05-28 2009-05-28 メディア iPhone OpenGL ES プログラミングガイド 2009-06-11 2010-07-09 Audio Session プログラミングガイド New 2010-04-12 2010-07-09 Core Audio の概要 2008-11-13 2008-11-13 iPodライブラリアクセス プログラミングガイド 2009-05-28 2010-05-21 Core Animationプログラミングガイド 2008-11-13 2010-05-25 アニメーションのタイプとタイミング 2008-09-09 2010-05-18 その他 iPhone OS View Controller プログラミングガイド 2009-10-19 2010-07-08 iPhone OS Table View プログラミングガイド 2009-08-19 2010-07-08 iPhone アクセシビリティ プログラミング ガイド 2009-05-29 2010-07-07 iPhone OS Address Book プログラミングガイド 2008-07-08 2010-07-08 Objective-C 2.0 プログラミング言語 2009-10-19 2010-07-13 Cocoaメモリ管理プログラミングガイド 2009-08-18 2010-06-24 iPhone アプリケーション チュートリアル 2009-08-10 2010-06-30 iPhone OS Core Dataチュートリアル 2009-09-09 2010-07-08
5 :
名称未設定 :2010/08/16(月) 14:33:12 ID:HOG7wYrJ0
テンプレ以上。
6 :
名称未設定 :2010/08/16(月) 14:34:20 ID:o7JNpSff0
7 :
名称未設定 :2010/08/16(月) 16:06:20 ID:HOG7wYrJ0
>>4 >iPhone アクセシビリティ プログラミング ガイド 2009-05-29 2010-07-07
どうもSafariのせいかBathyScapheのせいか分からんが濁点がずれるな
iPhone アクセシビリティ プログラミング ガイド
これでどうだ
8 :
名称未設定 :2010/08/16(月) 16:07:06 ID:HOG7wYrJ0
だめだorz Unicodeは嫌いだ
9 :
名称未設定 :2010/08/16(月) 16:36:43 ID:VQ7cB52H0
www、まあ乙
10 :
名称未設定 :2010/08/16(月) 16:42:43 ID:F8IfWOa40
おぢがれざまぁ
11 :
名称未設定 :2010/08/16(月) 18:34:13 ID:drE7ydaW0
前スレ最後の方の話だが、Xcode4ってIBと統合されるのか? 何かVSみたいだな・・・
12 :
名称未設定 :2010/08/16(月) 19:15:07 ID:HOG7wYrJ0
やべ、その情報はデベロッパ限定だった(;
13 :
名称未設定 :2010/08/16(月) 20:33:09 ID:kRpiYwtiP
14 :
名称未設定 :2010/08/16(月) 20:42:01 ID:ws3lNUca0
iphone SDK4は守秘義務あったのにxcode4はないんだよね。
15 :
名称未設定 :2010/08/16(月) 20:57:09 ID:cWOBl7gR0
>>13 Xcodeっぽくないよな?
つーか、確実にMBP13では狭くて使いにくそうwww
16 :
名称未設定 :2010/08/16(月) 20:57:09 ID:HOG7wYrJ0
公開情報だったのか ログインしないと見えない場所だと思ってたぜ どうみても30インチディスプレイだよな、あのデカさは
17 :
名称未設定 :2010/08/16(月) 20:58:55 ID:HOG7wYrJ0
うわ、秒まで被った 一緒に30インチ買おうぜベイベーw
18 :
名称未設定 :2010/08/16(月) 21:14:41 ID:AWvN6w/H0
俺もMacは13インチだからMDI的な方向は厳しい。
19 :
名称未設定 :2010/08/16(月) 22:48:05 ID:ws3lNUca0
13インチだとiPodエミュレータが使いにくすぎでは?
20 :
名称未設定 :2010/08/16(月) 22:51:33 ID:AWvN6w/H0
下にDock置いとくとけっこう厳しい。 ホームボタン押そうとしたらびよよ〜んとかw
21 :
名称未設定 :2010/08/16(月) 23:58:24 ID:yetDxVIRP
NeXT時代のProjectBuilderみたいに、全部別ウインドウでカラム表示にしてほしい。 Visual StdioやEclispeにあわせなくていいから。
22 :
名称未設定 :2010/08/17(火) 00:14:36 ID:91pLjU+IP
分かった、開発者に30インチ or 17インチMacBookProを買わせる気やな。 さすがにXcodeをあからさまに重くして、古い機種でまとも動かなくするのは 反感をくらうからこう来たわけか。
23 :
名称未設定 :2010/08/17(火) 00:18:23 ID:lOMuRWTlP
Mac Pro買っときゃずっと戦える
24 :
名称未設定 :2010/08/17(火) 08:23:29 ID:byXCJGOa0
>>23 MacProこそ最高性能を求めちゃう奴が買う機種だから(偏見アリw)、
新型出る度に買い換える羽目になるに違いない。
つーか、普通の人はminiですら十分な性能じゃね?Macの場合。
25 :
名称未設定 :2010/08/17(火) 09:26:41 ID:W7WYipBX0
>>21 おれも最初その派だったんだけど、最近はXCodeでもレイアウト:オールインワン、でやってる。
特にMacはウィンドウのリサイズは右下だけだから、多ウィンドウにすると意外と使いにくい。
>>24 CPU能力はぜんぜん必要ないけど、画面の大きさは必要だねー。27インチでも狭い(w
26 :
名称未設定 :2010/08/17(火) 11:41:15 ID:8BNZgl2FP
iOS4だとアプリがバックグラウンド化した時に beginBackgroundTaskWithExpirationHandler: 〜 endBackgroundTask: で10分間の処理猶予を受け取れるらしいけど 必要に応じて更に延長してもらう事とかできるのかな パワーマネージメントとCPU占有率の関係からあまりバックグラウンドで動かし続けるのもよくないんだろうけど あえて何かしたいときってどうするんだろう
27 :
名称未設定 :2010/08/17(火) 12:41:33 ID:ziLNgW7g0
初心者なんですが、objective-Cはさわったことがありません。 Cではできないのでしょうか?
28 :
名称未設定 :2010/08/17(火) 12:46:41 ID:W7WYipBX0
できます。でも画面ライブラリ等はobjective-cを使って呼び出す必要があります。
29 :
名称未設定 :2010/08/17(火) 13:01:06 ID:EIP/rKyz0
30 :
名称未設定 :2010/08/17(火) 15:25:24 ID:D7XxjsT00
>>27 みんな最初はそんな感じで、しぶしぶobject-cを勉強したんだよ。
頑張って覚えちゃったほうが、後々楽だと思う。
31 :
名称未設定 :2010/08/17(火) 16:05:38 ID:0TdB8ea00
xcodeとInterfaceBuilderが互いに連携できなくなってしまって、 本当に困っています・・・。 IBでxibのInfoを見ると、Project Name: N/Aとなっており、 画像ファイルも全く参照できない状態です。。。 IBとxcodeは現在の最新版です。 アウトレットをコードで作っても更新されませんし、 直接ヘッダーファイルをドラッグしても - Interface Builder cannot integrate class information for HMIPN000592 because the declarations in ファイル名.h(project) and ../../../../../../Users/ユーザー名/Documents/Projects/プロジェクト名/Source/ファイル名.h(document relative) have different superclasses: BaseEachViewController and UIViewController なるエラーがでて、更新できません。 どなたか同じ現象ご存知のかたいらっしゃいましたら 助けて頂けないでしょうか?? 本当に困っています・・。 宜しくお願い致します。
32 :
名称未設定 :2010/08/17(火) 16:45:48 ID:DZ6UtEMt0
33 :
名称未設定 :2010/08/17(火) 16:50:51 ID:Cbz1kXPd0
よく分からないけど新規プロジェクトでやっても出るの?
34 :
名称未設定 :2010/08/17(火) 17:45:49 ID:0TdB8ea00
>>32 再インストールはもう10回くらいやっていて、古いxcodeを入れても
まったく状況変わらないんです。。。
MacOSごと再インストールでしょうか?
>>33 はい、新規プロジェクトで作成しても出てしまいます。
ほかの人の環境で同じxibファイルを開いたらプロジェクトとの関連付けは
生きているのに、僕の環境で開くととたんにN/Aとなってしまいます。
期限がやばいので今必死に古いMacにsnow leopard入れてます(涙
引き続き助けてください>_<。
35 :
名称未設定 :2010/08/17(火) 17:51:29 ID:0TdB8ea00
すみません、ちなみになんですが、システムプロファイラのデベロッパの内容が Xcode: 3.2.3 (1688) Interface Builder: 3.2.3 (788) Instruments: 2.7 (2529) Dashcode: 3.0.1 (330) xcodeをアンインストールして古いのをインストールし直しても、 3.2.3となってしまいます。 なにか関連ありますでしょうか・・? よろしくおねがいします
36 :
名称未設定 :2010/08/17(火) 19:01:09 ID:SpyuqnbA0
UIAlertViewの一般的な表示に関して質問です。 MVCでいう、Controllerから、Modelにメッセージを投げて処理させた結果をUIAlertViewで表示させたいのですが、 UIAlertViewを表示するコードは、どこに書くのが妥当でしょうか? そのままModelの中から、UIAlertViewにメッセージ送信させるのがいいのか、それともdelegateもしくはNotification等を用いて、コントローラーに処理を戻して、コントローラー内で処理したほうがいいのか、で迷っています。 皆様はどのように処理していますか?
37 :
名称未設定 :2010/08/17(火) 19:26:20 ID:BHLoR9J60
38 :
名称未設定 :2010/08/17(火) 19:57:18 ID:8J+2nK0t0
アンイストールするとキャッシュやらアプリケーションサポートやらにあるファイルも消える? もしそうでなけりゃ、そういうのを手動で消すとどうかな。 あとプロジェクトファイルの置き場所。起動ボリューム直下やホーム直下に置いて起動するとうまくいかないかな。
39 :
名称未設定 :2010/08/17(火) 19:58:26 ID:UgSlDIUU0
ios4開発の質問です。 UITableViewやUIScrollViewでバウンドしたこと、もしくはバウンドする前の状態を拾うことはできないでしょうか? バウンドの設定はUIScrollViewにあるようでしたので、そこを睨んでドキュメントを読んだのですが、 それらしいメソッドは無いみたいで・・・。 ヒントだけで構いませんので、どなたかご教授をお願い致します。
40 :
名称未設定 :2010/08/17(火) 20:20:27 ID:W7WYipBX0
ん?delegateにスクロール途中でもばんばん飛んでくるからそれを拾ってうまく検出すればいいのでは?
41 :
名称未設定 :2010/08/17(火) 20:25:48 ID:eB3EvgQ00
42 :
名称未設定 :2010/08/17(火) 21:15:45 ID:ta3+M/ZT0
Xcode3.2.2からユニバーサルアプリを開発できるようになったと聞きました。 しばらく開発から離れていたため、3.2.2を飛び越えて3.2.3をインストールしたので、 3.2.2で試したことがないのですが、3.2.3でユニバーサルアプリを作ろうとしても、 メニューの「プロジェクト」−「現在のターゲットをiPad用にアップグレード」がグレーアウトしていて選択できなくなっています。 なにか条件があるのでしょうか? アドバイスお願いいたします。
43 :
名称未設定 :2010/08/17(火) 21:55:36 ID:x7aMeYY50
ターゲットを選択した状態だと、グレーアウトが解除されると思う。
44 :
名称未設定 :2010/08/17(火) 22:27:43 ID:UgSlDIUU0
>>40 didenddraggingとdidenddecelerating組み合わせたらできそうなんで頑張ってみる。
ありがと!
45 :
名称未設定 :2010/08/17(火) 23:30:04 ID:ta3+M/ZT0
>>43 ターゲットとは「グループとファイル」の◎ターゲットでしょうか?
このへんを選択してみましたが変わりませんでした。
46 :
名称未設定 :2010/08/18(水) 09:24:11 ID:dU6Bocm50
>>36 俺はエラーのメッセージ表示は全部上位でやってる(この場合はコントローラ)
エラーに伴う処理やオブジェクトの破棄は勿論、それを保持してるオブジェクトのほうでやる
47 :
名称未設定 :2010/08/18(水) 09:36:32 ID:pEnqXEoQ0
>>36 modelにユーザインタフェース依存のコードを書くことはまずないなあ。
controllerもなんかmainのcontrollerにすべてのviewやサブcontrollerやmodelを保持させちゃうのでmainコントローラが汚い汚い。(w
ところで質問。
@interface XXX: NSObject {
int mode; ■1
}
@property(assign,nonatomic) int mode; ■2
・・・
@synthesize mode; ■3
みたいに、プロパティを作るときは3回書かなきゃならんと思っていたのだけど、
■1ってなくても動くんだが、前からこうだっけ? それとも何か勘違いしてる?
48 :
名称未設定 :2010/08/18(水) 09:41:09 ID:189oFCiu0
1なくてもいいけどその場合3いらなくね?
49 :
名称未設定 :2010/08/18(水) 09:52:59 ID:pEnqXEoQ0
3なかったら自分で-(int)mode { }と -(void)setMode:(int)x { } 書かなきゃならんでしょ。 1はなくてもよかったのか・・・変数の実体はどこに確保されてるんだ? キー値コーディングは実体までは確保しないはずだし。 sizeof(XXX)がヘッダから確定しないというのも変だよなあ・・・
50 :
名称未設定 :2010/08/18(水) 10:08:11 ID:pEnqXEoQ0
・・・あった。Objective-Cの日本語訳の76ページ。 次のようにランタイムに依存する動作に関していくつか相違があります。 ■従来のランタイムの場合、インスタンス変数は現在のクラスの@interfaceブロックです でに宣言されていなければなりません。プロパティと同じ名前、および互換性のある型 のインスタンス変数が存在していれば、そのインスタンス変数が使われます。それ以外 の場合、コンパイラエラーとなります。 ■最新のランタイムでは(『Objective-C Runtime Programming Guide』の「Runtime Versions and Platforms」を参照)、インスタンス変数は必要に応じて合成されます。同じ名前の インスタンス変数がすでに存在していれば、それが使用されます。 なるほどねー。いつのまにか大丈夫になったのね。
51 :
名称未設定 :2010/08/18(水) 11:29:46 ID:80FxaaOT0
>>46 >>47 ありがとうございます。
なるほど〜、モデルには、なるべくユーザーインターフェースとの関連は、持たせないんですね。勉強になります。
動作のステップ数で考えると、
直接呼び出したほうが速いんだろうな、とも思ってしまって迷っていました。
delegate or Notificationで、コントローラーにメッセージ送信する方向で実装します。
52 :
名称未設定 :2010/08/18(水) 11:46:34 ID:trTizC2m0
前スレでPage Controlについて教えていただいた者です。 この件では、これが最後の報告になります。 今朝、Ready for Saleになり、 今、App Storeで販売されているのを確認しました。 一度もRejectされることなく承認されたのは、ひとえにみなさんのおかげです。 ありがとうございました。ご恩は忘れません。
53 :
名称未設定 :2010/08/18(水) 12:18:01 ID:pEnqXEoQ0
54 :
名称未設定 :2010/08/18(水) 12:52:18 ID:ocFBGuXa0
iPhoneのホーム画面と似たUIを作りたいのですが どのようにすればよいのでしょうか? イメージとしては、UIButtonを自動で生成してるのかと思ったのですが。。。 よろしくお願いいたします。
55 :
名称未設定 :2010/08/18(水) 12:57:17 ID:PibZkMkK0
>>52 一ヶ月後に販売数報告してくれ
そのくらい義務だよ
56 :
名称未設定 :2010/08/18(水) 13:21:14 ID:vSEstyzr0
mファイルにカギのマークがついて 編集できなくなってしまったのですが、 解除する方法ご存知の方いらっしゃいませんか?
57 :
名称未設定 :2010/08/18(水) 13:48:02 ID:yiExZ1lx0
>>52 一ヶ月後に利益報告してくれ
そのくらい義務だよ
58 :
名称未設定 :2010/08/18(水) 14:05:44 ID:ki+kjRyk0
>>52 何の義務もないけどカテゴリくらい教えてちょw
59 :
名称未設定 :2010/08/18(水) 16:31:19 ID:BmbUpXEg0
すみません、初歩的な質問なんですが、 ViewControllerに保持したプロパティの解放について、 -(void)dealloc{ [anObject release]; } とするだけでなく、 -(void)viewDidUnload{ self.anObject=nil; } これもしないといけないのはなぜなんでしょうか。 self.anObject=nil を実行しないと、やはりメモリリークするのでしょうか。
60 :
名称未設定 :2010/08/18(水) 16:46:41 ID:pEnqXEoQ0
anObjectがproperty宣言されてるならretain/releaseはgetter/setterにまかせるべき。
61 :
名称未設定 :2010/08/18(水) 16:55:49 ID:vPJZfhbf0
>>59 viewController と anObject が相互にリテインし合っているような関係だとしたら
dealloc は呼ばれないよね
62 :
名称未設定 :2010/08/18(水) 17:07:03 ID:pEnqXEoQ0
あ、そっちの疑問か。 DidUnloadってメモリ不足で(表示されてない)viewが解放されるときにも呼ばれるんじゃなかったっけ?
63 :
名称未設定 :2010/08/18(水) 17:41:04 ID:BmbUpXEg0
すみません、私の理解が足りてないせいで、質問自体おかしなものになってるかもしれません。 はじめてのiPhone 3 プログラミングという本の106ページに "ビューがアンロードされると、あなたのコントローラクラスがそのためのアウトレットを持つどんなオブジェクトも、 メモリから排出されることができません。 キーワードretainを指定することによって、そのオブジェクトを保持してしまったからです" とあって、それで self.anObject=nil; をviewDidUnloadで実行するように書いてあります。 また、実際ViewControllerクラスのひな形にもそうするようにコメントアウトで書いてあります。 私の疑問は、メモリを解放するためには [anObject release]; とすればいいだけではないのか? ということです。
64 :
名称未設定 :2010/08/18(水) 17:48:36 ID:oX/SHOQL0
iPadの一回り小さいやつ(7インチ?)が出るかもしれないという噂がありますが 仮に出るとすると画面デザインとかは現行版と小型版で作り分けないといけなくなるんですかね? それともOSの側で自動的に縮小されるので画面デザインは同じでよくなるんでしょうか? 予想でいいので意見を聞かせてください
65 :
52 :2010/08/18(水) 17:48:55 ID:wpSu0duE0
質問スレで、質問でもないのに勝手な報告してウザいかと思って遠慮してました。
>>53 ありがとうございます。本当にうれしいです。ここ1ヶ月、死ぬ思いだったので。
やっと安心して眠れるかもしれません。
>>55 ,57
ウザくなければ、必ず報告させていただきます。
爆発的に売れそうなジャンルでもないので、しょぼしょぼでしょうが、
とにかく初めてのアプリなので、
まず、リリースすることに意義があるというスタンスでやりました。
売れても売れなくても、結果が僕も楽しみです。
>>58 すいません、どのアプリか突き止められちゃいそうなので、
恥ずかしいからごにょごにょということにしておいてください。
胸を張って、「こんなの作ってやったぜ!」って言えるほどのアプリでないことは確かです。
なにぶん、初めてのアプリですから。
お許し下さい。
乱文すみません。
66 :
名称未設定 :2010/08/18(水) 18:08:32 ID:2ODoLxDy0
UINavigationControllerのpopViewControllerAnimatedを使ってポップした後、再描画されないです。 再描画されるはずのViewControllerはNavigationControllerのスタックに残っており、 viewDidUnloadも1回も呼ばれていない状態です。 リファンレンスにもpopViewControllerAnimatedはpop後表示を更新するとあるのに。。。 ちなみにpop対象はTableViewControllerです。 よろしくお願い致します。
67 :
名称未設定 :2010/08/18(水) 18:23:19 ID:u0BCE4lIP
お尋ねします。 最初に表示されるXIBファイルをinfo.plistで変更しました(Main nib file base nameをMainWindow.xibからhoge.xibに変更) それで、そのままビルドと実行をしたら真っ暗な画面しか表示されないのですがなにが原因なのでしょうか? main.mやデリゲートのファイルのどこかをいじらないといけないのでしょうか? 教えてください。
68 :
名称未設定 :2010/08/18(水) 18:27:44 ID:vPJZfhbf0
>>63 view は何度もロードされたりアンロードされうる。
その説明が意味するところは、ビューの上の要素…例えばボタンを
@property (retain) IBOutlet UIButton* button;
とすると、その要素をリリースする最後のチャンスは viewDidUnload だよ、
と言っているんだと思う。
その後、再度view が読み込まれると、button は別のインスタンスに置き換わってしまうから。
69 :
名称未設定 :2010/08/18(水) 18:48:08 ID:Oq00jLlp0
UITabbarを特定の画面のみで使用したいのですが、 MainWindow.xibにUITabbarを配置しないで やってるサンプルはありませんか?
70 :
68 :2010/08/18(水) 19:09:12 ID:vPJZfhbf0
>>63 アレ?でもviewが再度読み込まれるときはself.button = xxx で置き換わるから前のボタンは
リリースされる筈。
71 :
名称未設定 :2010/08/18(水) 20:23:36 ID:pEnqXEoQ0
そのタイミングまでリリースされないんじゃメモリ開放の意味ないでしょ。
72 :
名称未設定 :2010/08/18(水) 20:35:37 ID:pEnqXEoQ0
>>63 @property(retained) XXX* aObject;な場合、
[aObject release]した後にself.aObject=nilとすると、
self.aObjectのsetterメソッド(setAObject:メソッド)内部で再度[aObject release]が呼ばれてしまうから。
※[aObject release]してもaObject変数自体はnilにならないので。
deallocの場合はそれ以上そのオブジェクトに操作は入らないので[aObject release]でもOK。
※なぜdeallocの場合に[aObject release]推奨なのかは・・・たぶんささいなパフォーマンス上の問題と、
atomicな場合の無意味な競合を避けるためだと思うけど本当のところは知らん。
73 :
63 :2010/08/19(木) 09:53:16 ID:Xj6AjQs40
ありがとうございます。 正直言って、まだよく分かりません。 多分、この質問をするために前提として分かっていなくちゃいけないことが よく呑み込めていないからだと思います。 self.anyObject=nilとすると、プロパティ宣言したときに自動的に設定されたsetterの中で、 [anyObject release]されて、それからanyObjectにnilを代入するということですかね。 同じクラス内からは、anyObject=nilと直接オブジェクトに代入することもできると思いますが、 それとは違うんですよね。 もうちょっと勉強してみて、また改めて質問することになるかと思います。 すみません、またよろしくお願いします。
74 :
名称未設定 :2010/08/19(木) 10:57:12 ID:UV7MrMF9P
最新のxcode3.2.3でiPhoneOS3.1.3向けにアプリをコンパイルしたい場合はどうすればいいんでしょう?
75 :
名称未設定 :2010/08/19(木) 11:09:11 ID:qw8m5ZTl0
>>73 self.anyObject=nilは[self setAnyObject:nil]となる。
anyObject=nilは直接代入。self->anyObject=nilも直接代入。(selfには使えないかも)
76 :
名称未設定 :2010/08/19(木) 11:13:05 ID:yIcB+xFLP
>>73 まず大前提として、anObject と self->anObject はインスタンス変数の直接アクセスなのに対して、
self.anObject はプロパティアクセスで、実際には [self anObject] や [self setAnObject:] のメソッド呼び出しになる。
ってのはいい?
なので、self.anObject = nil; は [self setAnObject:nil]; と書くのと同じ。
で、@property (retain) を @synthesize すると、
- (void)setAnObject:(id)newAnObject {
if (newAnObject != anObject) {
[anObject release];
anObject = [newAnObject retain];
}
}
みたいなメソッドが作られる。
(nil にメッセージ投げても何も起こらないので、元の anObject や newAnObject が nil でも問題ない。)
って訳で、self.anObject = nil; と
[anObject release];
anObject = nil;
は等価。
77 :
名称未設定 :2010/08/19(木) 14:35:30 ID:5n+9Vr5k0
UIScrollViewでの拡大縮小処理をインターフェースビルダーを使用して実装する方法ってありますか?
78 :
名称未設定 :2010/08/19(木) 15:30:52 ID:FmSfdTDj0
Round Rect Buttonをグラデーション風ボタンにしたいんですが、 サンプルありますでしょうか?
79 :
名称未設定 :2010/08/19(木) 17:56:37 ID:cl5w3DLc0
80 :
名称未設定 :2010/08/19(木) 22:15:42 ID:AoZJa4Ow0
メモリリークと戦っています。 メモリリークって完全にゼロにするべきものなんですよね? Responsible Frameの部分に出る NSPushAutoreleasePoolがなかなか消えなくて困っています。 クリックしてソースを見ると、マルチスレッドの最後に書いてある [NSThread exit]; 100% と出ます。 これってスレッドの最後に書かなきゃいけない構文だということなのですが、 どなたか何か原因わかりますでしょうか?
81 :
名称未設定 :2010/08/19(木) 22:53:15 ID:IFLWw7vVP
タブバーを使っていて、タブで表示しているビューの中のボタンを押すとタブバーを非表示にするようにしたいのですが、非表示のやり方を教えていただけませんか? ナビゲーションとかツールバーの非表示はあったのですが、タブバーのやり方がいまいちわかりませんでした。。。 よろしくお願いします。
82 :
81 :2010/08/20(金) 02:37:28 ID:94iNnoy4P
自己解決しました。 self.tabBarController.tabBar.hidden=YES; を追加したら消えました。 ただ、消えたのは良いのですが消えた部分が白く表示されてしまい困っています。 タブバーを完全に消すことは出来ないのでしょうか?
83 :
名称未設定 :2010/08/20(金) 05:26:26 ID:VW/qBwgYP
viewControllerを表示する時に、viewWillAppearでstatusBarOrientationを見て レイアウトを決めようとしてるんだけど、横画面の時ステータスバー分ずれる。 view.frame.sizeをNSLogで出してみたら、 縦の時 viewDidLoad...frame(width:768 height:1004) viewWillAppear...frame(width:768 height:960) viewDidAppear...frame(width:768 height:960) みたいにviewWillAppearの時点でheightからstatusBarとnavigationBarの分が引かれるんだけど、 横の時 viewDidLoad…frame(width:748 height:1024) viewWillAppear…frame(width:1024 height:724) viewDidAppear…frame(width:1024 height:704) みたいな感じで、viewWillAppearの時点navigationBar分しかheight引かれてない。 これってどうしたらいい?
84 :
名称未設定 :2010/08/20(金) 09:36:57 ID:U4L7FcDM0
>>77 拡大縮小は対象となるUIViewをdelegateから返す必要があるからコードないと無理かな。
>>78 CGGradientで描画するよりそーいうイメージをbackgroundImageに貼付けるほうが簡単かと。
>>79 XCodeの環境設定のDocumentationで「今すぐ確認してインストール」とかの話ではなくて?
>>80 スレッド中でローカルなAutoreleasePool作ってる?loop持つスレッドしか作ったことないから詳しくはわからんゴメン。
>>82 メインのViewの縦の高さが足りてないんじゃ?作った時点で大きくするか、非表示な時点で大きくするか。
85 :
78 :2010/08/20(金) 10:42:09 ID:ygjltut/0
>>84 ありがとうございます。イメージを作成することにします。
86 :
80 :2010/08/20(金) 10:46:04 ID:XYEAU2tV0
>>84 >>80 です。
スレッドのコードはこんな感じになっています。
-(void)hogeThread{
@synchronized(threadLock){
NSAutoreleasePool* pool = [[NSAutoreleasePool alloc] init];
/*
CGRect canvasRect = imageView01.bounds;
UIGraphicsBeginImageContext(canvasRect.size);
[imageView01.image drawInRect:canvasRect];
imageView02.image = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
*/
[pool release];
}
[NSThread exit];
}
コメント(/* */)を外すとメモリリークが発生します。
[NSThread exit]; 100%
コンテクストが何か悪さをしているのかもしれません。
なにかヒントでもありましたら、よろしくお願いいたします。
87 :
77 :2010/08/20(金) 10:51:17 ID:FzeU5Y6z0
>>84 ありがとうございます。デリゲートについて調べてみます
88 :
名称未設定 :2010/08/20(金) 11:03:10 ID:U4L7FcDM0
問題なさそうだなあ。ちょい気になるのはimageView02.imageへの代入(nonatomicだから)だけど。 あとすごく気になるのはUIGraphicsBeginImageContext threadで検索すると出てくる、この記述。 >which implies that there is a single, global "ui graphics context" variable use by all of UIKit to indicate where all UIKit based drawing should go.
89 :
名称未設定 :2010/08/20(金) 11:11:05 ID:AGvoBwqp0
描画関係はメインスレッドで行わないとダメだった筈
90 :
名称未設定 :2010/08/20(金) 11:24:26 ID:U4L7FcDM0
UIImageぐらいはいいのかな?どっかにまとめた表はないものか。
91 :
80 :2010/08/20(金) 11:31:04 ID:XYEAU2tV0
>>88 >>89 >>90 メインスレッドじゃないとダメってことなんですね。
メインで描画を行うと、メソッドからメッセージが返ってくるまで
ユーザの操作が待ち状態になってしまうので
マルチスレッドに頼ってしまったのですが、
ほかにいい方法がありますでしょうか?
92 :
名称未設定 :2010/08/20(金) 12:02:01 ID:U4L7FcDM0
どこで時間を喰ってるか次第じゃね?イメージのロードや細かい描画に時間喰うだけならそこだけバックグラウンドにして、 終わったらメインに通知(performSelectorOnMain等)してイメージ全体の描画はメインスレッドで、みたいに。 UIImageぐらいは使ってもいい気がするけど、CGImageRefとかのほうが安全でしょう。
93 :
名称未設定 :2010/08/20(金) 12:40:28 ID:1i1xuGNAO
個人で開発していて開発者名を本名じゃなくて ニックネームで登録してる方います?
94 :
名称未設定 :2010/08/20(金) 12:47:54 ID:U4L7FcDM0
それはいっぱいいそうな。でも販売業者に本名でるよ。
95 :
名称未設定 :2010/08/20(金) 12:53:01 ID:1i1xuGNAO
その販売業者をニックネームにはできないかな
96 :
80 :2010/08/20(金) 13:09:41 ID:XYEAU2tV0
>>92 一番時間を消費している部分はコンテクストで画像を描画する
[imageView01.image drawInRect:canvasRect];
この部分なので、結局、メインには持っていけないのですね;;
97 :
名称未設定 :2010/08/20(金) 13:17:42 ID:U4L7FcDM0
その部分はバックグラウンドでも可能では?メインでやらなきゃならないのはimageView02への描画。
98 :
名称未設定 :2010/08/20(金) 13:21:17 ID:U3fRczf60
>>95 無料アプリだけなら偽名でも問題無いかもな。
商売目的なら偽名などもってのほか。
99 :
名称未設定 :2010/08/20(金) 13:30:01 ID:c/11+ve90
もうさ、改名すれば解決するんじゃね?
100 :
名称未設定 :2010/08/20(金) 13:36:24 ID:epXlTT910
>>93-95 たまに見るね、こんなの
販売業者:Taro Yamada
©HogeHoge Systems
どう登録したんだろ?個人事業主かな?
101 :
名称未設定 :2010/08/20(金) 13:51:24 ID:U4L7FcDM0
>>98 無料アプリは匿名公開可でもいいと思うし、appleにそういう要望たくさんいってると思うけど、だめなのよう。
>>100 販売業者は個人名が入るんでそれで普通では?
102 :
名称未設定 :2010/08/20(金) 14:21:28 ID:epXlTT910
>>101 無料で匿名可能だったらウィルスみたいなの作る奴がウジャウジャ湧くと思う
勝手に写真全部バラまかれたりしたらイヤじゃん
で、個人(Individual)だと本来こんな感じだと思うんだけど…
販売業者:Taro Yamada
©Taro Yamada ←ここが気になる
ここを
>>100 みたいに出すのは、Individualでもできるのか、Companyでないと駄目なのかな?ってのが分かんないのよね
103 :
名称未設定 :2010/08/20(金) 14:24:37 ID:sdffyIl50
copyright表記は好きに入れられるんじゃね?
104 :
名称未設定 :2010/08/20(金) 14:31:48 ID:U4L7FcDM0
>>102 表示上匿名なだけでappleは個人名&個人情報把握(クレカ与信だけど)してるんだし、
一応審査あるのだから問題ないのでは?特定の開発者だけあとからrevokeとかも(仕組み上は)可能だし。
105 :
名称未設定 :2010/08/20(金) 15:24:51 ID:+jlmcRP/0
アプリ販売元として勝手に adobe software とか付けられたら困るじゃん。Appleがわざわざペンネームの審査までしなくちゃならなくなる
106 :
名称未設定 :2010/08/20(金) 15:29:55 ID:U4L7FcDM0
うん。だから匿名は一律「匿名」で。 あと開発業者名は現状自由につけられるんで、同じ心配はあるかと。
107 :
名称未設定 :2010/08/20(金) 15:42:39 ID:+jlmcRP/0
このアプリの販売元:匿名 ってことか??
108 :
名称未設定 :2010/08/20(金) 16:15:25 ID:ady5M5vrP
Appleにも客にもメリットないじゃんそれw アン泥イドでもいじってろw
109 :
81 :2010/08/20(金) 16:36:45 ID:94iNnoy4P
>>84 メインのビューと言うのはタブで選択して画面に表示されるビューで良いのでしょうか?
何回もやってみたんですけど出来ませんでした。。。
110 :
名称未設定 :2010/08/20(金) 16:51:17 ID:ygjltut/0
viewDidLoadで RoundRectButtonのtitleLabelに 値を設定しようとしているのですが、
111 :
110 :2010/08/20(金) 16:52:26 ID:ygjltut/0
すみません。途中で送ってしまいました。 viewDidLoadで RoundRectButtonのtitleLabelに 値を設定しようとしているのですが、 sizeToFitを行うと、編集前のデータに戻ってしまいます。 sizeToFitの前に何かコールする必要があるんでしょうか?
112 :
名称未設定 :2010/08/20(金) 17:16:48 ID:U4L7FcDM0
setTitle:forState:の値で上書きされるんじゃないかな、なんとなくだけど。
113 :
80 :2010/08/20(金) 18:33:24 ID:XYEAU2tV0
>>97 @synchronized(threadLock){ }
の内部からメインを呼び出すと同期がとれなくてまずいことになってしまいました。
ちょっといろいろやってみます。
ありがとうございました。
114 :
111 :2010/08/20(金) 19:01:39 ID:ygjltut/0
115 :
名称未設定 :2010/08/20(金) 19:34:32 ID:epXlTT910
>>103-107 会社として登録するには会社の登記簿?の写しが必要だった筈なんで
勝手にHogeHoge Systemsにはできない仕組みだったと思うんだけど
誰か実際にCompanyで登録した人いないかな?
つか、
>>3 の本に限らず、開発者登録の契約の流れとか勘所とか押さえた本ってないかな?
海外との契約なんてやったことないし…
116 :
名称未設定 :2010/08/20(金) 23:21:38 ID:UrCC0h7l0
ちょっとすれ違いだけど podcastを有料で配信するにはどうしたらいいの? ぐぐってもそれらしい記事が見つからない…orz
117 :
名称未設定 :2010/08/22(日) 00:42:53 ID:ZiPDAyMQ0
昨日、mac miniを購入してきていそいそとiphoneアプリ開発の勉強を始めました。 いつからか正確には不明なのですが、 以下のエラーが出てビルドが出来なくなりました。 「Code Sign error: The identity 'iphone Developer' doesn't match any valid certificate/private key pair in the default keychain」 ちょっと、調べてみた感じ、developer programに入会したあとの証明書が必要っぽいんですが、 先ほど、登録申請をしたばかりでまだProgram Portalにアクセス出来ないのでどうしようもない気がします。 日本語が含まれたプロファイルで登録しちゃったので失敗するっぽいですし。 決済したあとに気づきました。 ちょっと何が原因か定かではないんですが、 以下のいずれかが原因ではないかと思っています。 ・iphoneをmacに繋げた。 ・developer programに登録申請した? 解決のヒントだけでもいただけるとありがたいです。
118 :
117 :2010/08/22(日) 00:52:27 ID:ZiPDAyMQ0
申し訳ありません。 自己解決しました。 なんていうのかよくわかってないのですが、 プロジェクトを開いた後のウィンドウの「概要」って書いてあるところの 選択肢が 「Device」になっていたことが問題でした。 「Simulator」に変更したところ、正常にビルドできました。 お騒がせしました。
119 :
名称未設定 :2010/08/22(日) 01:09:37 ID:kbshD/PS0
ipad の split で RootViewController でのテーブルの 階層表示の仕方がようわからん。 テーブル→テーブル→テーブル→Detailに反映 っていうのが。 難しく考え過ぎてるだけで、ほんとは簡単なのかな?
120 :
名称未設定 :2010/08/22(日) 02:09:25 ID:OUmui4jo0
ルートビューに元から入ってるナビゲーションコントロールを使えば テーブル→テーブル→テーブルの部分は簡単じゃないかな
121 :
名称未設定 :2010/08/22(日) 08:56:29 ID:OnpFGhPY0
階層表示はRootViewControllerとは関係なくて、の中にあるNavigationControllerの機能。
122 :
きたてっく :2010/08/22(日) 17:02:48 ID:KWY7UCEO0
超初心者のiPhoneアプリ開発志願者です。以下のプログラムなのですが
http://cgi.geocities.jp/p77org/upup/upload.cgi?mode=dl&file=779 key:1192
タイトル画面をタッチ→画像1を10秒(storyplay1)表示→画像2を(storyplay2)表示としたかったのですが
メソッド処理終了まで画像の変更は反映しない?のか、タイトル画面を表示したままスリープが走ってしまいます。
-(void)storyplay{
UIImageView *img = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"story1.png"]];
[img setCenter:CGPointMake(0, 0)];
[storyview addSubview:img];
[img release];
}
-(void)storyplay2{
UIImageView *img = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"story4.png"]];
[img setCenter:CGPointMake(0, 0)];
[storyview addSubview:img];
[img release];
}
-(IBAction)pushstart:(id)sender{
//Titleimageを非表示にする
Titleimage.hidden = YES;
[self storyplay]; // ここでstory1.pngを表示して
sleep(10); // そのまま10秒ストップします
[self storyplay2]; // その後story4.pngを表示するはずでした。
// しかし実際はTitleimage表示>ボタンを押す>sleep10秒>story1.png表示>story4.png表示となっているようです
// お願いします。何とか助けてください。
}
もう2週間ほどここで詰まってしまっており、藁をもすがる状態です。
完成形としては画像1に音声1セットで実行、音声再生終了後→画像2に音声2セットで実行
したいのです。不足している情報はご質問頂ければ補完させていただきます。
是非お力添え頂けないでしょうか。
123 :
名称未設定 :2010/08/22(日) 17:27:31 ID:OnpFGhPY0
Sleepとかスレッドを停止させるのを呼ぶなよ。iPhoneに限らずイベントドリブン画面指向プログラムの基本中の基本。 とりあえずやりたいならperformSelector:withObject:afterDelay:を使う。使い方は探してね。
124 :
名称未設定 :2010/08/22(日) 17:36:36 ID:oKGXZmZv0
125 :
名称未設定 :2010/08/22(日) 17:48:57 ID:HJNtKvunP
紙芝居程度なら、UIWebView+html+JavaScriptで作った方が良くない?
126 :
名称未設定 :2010/08/22(日) 17:52:53 ID:OnpFGhPY0
面倒でどーでもいい(凝る必要ない)ユーザインタフェースはUIWebView+html+javascriptな気がする。 回転したときに再レンダしなきゃならない(そしてその一瞬見た目よくない)点を除けば最強かも。
127 :
名称未設定 :2010/08/22(日) 17:56:32 ID:oKGXZmZv0
ゲームを作りたいのであれば、 NSTimer のscheduledTimerWithTimeInerval:を使って、 一定時間おきに呼び出されるメインのメソッドを作って、 そこでボタンの表示やら、画像の表示やらを集中的に管理すればいいと思うよ。
128 :
きたてっく :2010/08/22(日) 19:26:44 ID:KWY7UCEO0
回答いただきありがとうございます。 performSelector:withObject:afterDelay:に関しては 以前よりWebでみておりましたがいくら実装しようとしても 結局sleepがtaitle画面で走ってしまい、症状が変わりませんでした。 おそらく、実装方法を間違えているような気がします。 もしよければ、今回の場合どういった形で実装すればいいか教えていただけないでしょうか。 UIwebViewに関しても同じくWebで以前見つけ、実装しようと試みましたが BGMや音声ファイルを再生しようとすると、アプリをスリープさせて、プレイヤーを別画面で 起動してきてしまいました。アプリとオーディオの同時実行は可能なのでしょうか。 あと、画像の解像度がそのまま表示されてしまいまして、iPhone4の解像度に あわせると、3Gでは画面からはみ出してしまいました。何か方法があるのでしょうか。 自分が無知なのは承知していますが、現状ではやるしかない状況で 本やWebもいろいろみているのですが、なかなか前進できず よかったら教えてください。 よろしくお願いします。
129 :
名称未設定 :2010/08/22(日) 21:15:41 ID:OnpFGhPY0
>[self storyplay]; // ここでstory1.pngを表示して >sleep(10); // そのまま10秒ストップします >[self storyplay2]; // その後story4.pngを表示するはずでした。 のかわりに、 [self performSelector:@selector(storyplay) withObject:nil afterDelay:(float)0.1]; [self performSelector:@selector(storyplay2) withObject:nil afterDelay:(float)10.0]; の2行。
130 :
きたてっく :2010/08/22(日) 22:25:16 ID:KWY7UCEO0
>>129 129さん。あまりのうれしさに気絶しそうです。。。。
予定していた動作をしています。
今回は事情あって即席に解決するしかなく、ここに至りましたが
皆様に教えていただいた内容からして明らかに自分のスキル不足である旨は
わかりました。しっかり勉強して次に備えます。
アプリケーションが出荷されましたら、感謝の気持ちも添えて
>>129 氏
とエンドロールに一筆入れさせていただきます。
ありがとうございました。
131 :
名称未設定 :2010/08/22(日) 22:37:42 ID:CXulVeg10
おめでとう!
132 :
きたてっく :2010/08/22(日) 22:48:20 ID:KWY7UCEO0
ありがとう!感謝の気持ちでいっぱいです!
133 :
名称未設定 :2010/08/23(月) 00:19:51 ID:MrCQUNN/0
FaceTime APIってまだ公開されないんですかね… 色々面白いこと出来そうなのに。
134 :
名称未設定 :2010/08/23(月) 00:29:48 ID:h1soyEA00
プログラムを勉強中に疑問点が出たので質問させてください。 View(A)に表示しているボタンを押してView(B)に [UIView beginAnimations:@"flipping view" context:nil]; でアニメーションさせて切り替えているのですが、 View(B)内の - (void)viewDidLoad { 内で生成して表示しているボタンがアニメーション終了後に表示されてしまいます。 同時にラベルも生成しているのですが、こちらはアニメーション開始時から表示されています。 ちなみに、ボタンは下記のように生成しています。 self.Button = [[UIButton buttonWithType:UIButtonTypeRoundedRect] retain]; [self.Button setTitle:@"END" forState:UIControlStateNormal]; self.Button.frame = CGRectMake(40.0, 200.0, 240.0, 40.0); self.Button.titleLabel.font = [UIFont boldSystemFontOfSize: 16]; self.Button.backgroundColor = [UIColor clearColor]; [self.view addSubview:self.Button]; どなたか原因が分かる方おられますでしょうか?
135 :
名称未設定 :2010/08/23(月) 06:47:44 ID:aQbo6Hf/0
>>130 入れんでいい入れんでいい。だいたいそういうの(製作者とかスペシャルサンクス表示みたいなの)入れるの禁止だか非推奨なはず。
それより、みんなに突っ込まれてるけど本を使って基礎から勉強しなおしたほうがいいよ。
>>134 アニメにflipview使ってるとあらぬところからボタンが飛んでくるから、なんかボタンだけ特殊扱いされてる気がする。
136 :
名称未設定 :2010/08/23(月) 06:55:00 ID:f6BQSm7nP
横から失礼。 >そういうの(製作者とかスペシャルサンクス表示みたいなの)入れるの禁止だか非推奨なはず ってどういうこと?Appleが?聞いたことないけど。
137 :
名称未設定 :2010/08/23(月) 06:59:04 ID:0f5IKfP5P
オープニングのどうでもいい画面もウザいのでやめて欲しい。
138 :
名称未設定 :2010/08/23(月) 09:29:58 ID:aQbo6Hf/0
>>136 どっかで読んだと思ったけどみつからないすまん。たしか「そーいうのはAppleStoreの説明文にかけるなら書け、
契約上仕方ないならプログラム中でも可」とかそういう記述だと思った。
>>137 オープニングもいわゆるスプラッシュに相当するものは非推奨、だと思ったけどこれも脳内かもすまん。
139 :
名称未設定 :2010/08/23(月) 12:41:02 ID:yE8mE+tF0
UINavigationControllerを使い、例えば横向きで320×300の全画面にならない領域に表示させた場合、 popViewControllerAnimatedを使用するとコンソールに以下のエラーが出力されたのですが回避策はないってことでしょうか? UINavigationControllerは全画面表示にしか対応してないんでしょうか。 Can't perform full-screen transition. The fromViewController's view must be within a view that occupies the full screen.
140 :
名称未設定 :2010/08/23(月) 13:09:35 ID:Hm4hOxLy0
>>138 具体的にその例は知らないんだけど、もしかしたら逆ではないかと。経験上、ストアの記載はかなり制限を受ける。
そういうことはアプリの中に書け、ストアには書くな、と言われた事が何度かある。
141 :
名称未設定 :2010/08/23(月) 13:20:25 ID:aQbo6Hf/0
>>140 そうなんだ。アプリ単体からはわからない制約をストアだけに書くな、というのならなんとなくわかるけど。
ストアの記述にうるさいのは同意。
142 :
名称未設定 :2010/08/23(月) 13:26:46 ID:nKK0t1/m0
それとは関係ない話かもしれないけど アメリカ国内のリージョナルな情報しか扱えないくせに ぱっとみ世界全国規模でカバーできますよみたいなアプリとか勘弁してほしい (例えば旅客機情報、ラジオ、ATCや警察無線、交通渋滞通知、天気予報など) それが有料だったりするとその都度ややこしいからなんとかしてってレポート書かないといけなくなる せめて、このアプリはどこの地域のみの情報しか提供できませんとか明記してほしい
143 :
名称未設定 :2010/08/23(月) 16:29:56 ID:9u+q9fIv0
むむむ、Xcodeでサンプルを開こうとすると落ちる・・・ Open Project in Xcode
144 :
名称未設定 :2010/08/23(月) 17:12:48 ID:IvChAbRaP
デザインされたuibarbuttonの画像を無料で配布してるいいサイトないですか?
145 :
名称未設定 :2010/08/23(月) 22:55:12 ID:xG2I1zs7P
146 :
名称未設定 :2010/08/24(火) 08:05:01 ID:T/N6LSu7P
147 :
名称未設定 :2010/08/24(火) 10:09:32 ID:ubBVrtwj0
読み方を教えて欲しいです。 言葉で人に伝えるときに、何て言っていいかわからなくて。 id → イド?アイディー? { } → ちゅうかっこ?ちゅうかっことじる? [ ] → ?? %@ → パーセントアットマーク? C++ → しーぷらぷら?
148 :
名称未設定 :2010/08/24(火) 10:30:06 ID:6rwt1h5Y0
idはアイディー。あとは適当でいいんじゃない?わかりゃいいんだよわかりゃ。
149 :
名称未設定 :2010/08/24(火) 13:38:47 ID:ubBVrtwj0
作成中のアプリの別バージョンを作るために、プロジェクトの入ったフォルダ を複製してそっちを修正して実機にインストールしたら、元バージョンのアプリ が実機から消えてしまいました。名前が同じだから上書きされたようです。 この場合、どこかちょこっと変更して別のアプリとして認識させたいのですが、 どうすればいいでしょう? info.plistかなと思いましたが、これってそもそもどのアプリも全く同じに 見えるんですよね・・。 プロジェクト名を変更するとあちこち変えるところがいっぱいで面倒そうだし。
150 :
名称未設定 :2010/08/24(火) 13:40:23 ID:ubBVrtwj0
アイディーありがとうでした。
151 :
名称未設定 :2010/08/24(火) 14:16:41 ID:rsvU6uh50
>>149 アプリは名前やプロジェクト名ではなく、バンドルIDで区別される。
ちなみにプロジェクト名の変更は、メニューにそのための項目があるよ
152 :
名称未設定 :2010/08/24(火) 14:52:04 ID:6rwt1h5Y0
>>149 info.plistのところにバンドルidをセットするところあるのでそこを適当(かつ自分のプロビジョニングに合致するもの)に変更する。
#プロジェクト名の変更、リファクタリングメニューからやろうとしてすごい悩んだ・・・
153 :
名称未設定 :2010/08/24(火) 14:56:55 ID:ubBVrtwj0
>>151 あそうか。
Bundle identifierの項目はどのプロジェクトも同じ文言だけど、
PRODUCT_NAMEに自動的にプロジェクト名が入るから、それで区別
されるんですね。
恥ずかし〜
プロジェクト名変更メニューもあるんですね。知りませんでした。
さっそくやってみたところ、無事両方インストールできました。
ただこれ、ファイル名全部変えてくれるわけじゃないんですね。
変わったところと変わらないところが併存しててちょっと気持ち悪い。
実害はないんでしょうけど。
作成途中のいろんな段階のアプリを複数インストールしたいときは、
やっぱりBundle identifierをちょこっと変えるのがいいんでしょうね。
ありがとうございました。
154 :
名称未設定 :2010/08/24(火) 15:54:46 ID:F0xgfJ2a0
Viewのアニメーションで質問です。 UIViewAnimationTransitionFlipFromLeftのアニメーションを 縮小と同時に実行させたいのですが可能でしょうか? 回転しながら少し縮小して画面を切り替える感じです。 よろしくお願いします。
155 :
名称未設定 :2010/08/24(火) 16:01:32 ID:rsvU6uh50
>>154 縮小させる部分もアニメーションさせたいんだよね?「縮小させるだけのアニメーション」の書き方は知ってるの?
156 :
名称未設定 :2010/08/24(火) 16:08:17 ID:6rwt1h5Y0
>>155 Transitionアニメーション(レンダリングイメージに対するアニメーション)って座標変換による拡大縮小系アニメーションとは同時には動かない、んじゃないかな。
157 :
名称未設定 :2010/08/24(火) 16:18:44 ID:rsvU6uh50
じゃあ全部をコアアニメーションで書くのが楽なんじゃないかな
158 :
名称未設定 :2010/08/24(火) 16:27:13 ID:6rwt1h5Y0
うん。そう思う。幸い座標変換&輝度変換だけだし、カーブ工夫すればそれっぽくなると思う。
159 :
名称未設定 :2010/08/24(火) 16:39:54 ID:F0xgfJ2a0
ありがとうございます! コアアニメーションで試してみます。
160 :
名称未設定 :2010/08/24(火) 16:59:19 ID:6rwt1h5Y0
coreanimationでカーブまで定義してやるのは結構めんどいので、とりあえずUIViewそのものの拡大縮小と組み合わせて 本当にできないかどうか試してみるほうがいいと思う。
161 :
名称未設定 :2010/08/24(火) 17:10:58 ID:6rwt1h5Y0
試してみた。大丈夫そう。
162 :
名称未設定 :2010/08/24(火) 17:20:40 ID:6rwt1h5Y0
こんな感じで全く問題なかった。 [UIView beginAnimations:nil context:nil]; [UIView setAnimationDuration…Curve…Transition…]; removeFromSuperview... addSubview... CGAffineTransform at= view.transform; at.a= at.d= 0.5; //半分の大きさ view.transform= at; [UIView commitAnimations];
163 :
名称未設定 :2010/08/24(火) 19:38:54 ID:sWZX07nxP
この辺、iPhone 強いなァ
164 :
名称未設定 :2010/08/24(火) 20:36:42 ID:tMfNA+hB0
UITextFieldを継承したTextFieldという名前のサブクラスのviewにview.borderStyle = UITextBorderStyleNone をしても枠線が消えてくれません。(なぜかview.borderStyle = UITextBorderStyleRoundedRectだけ上手くいく) [[[TextField alloc] initWithFrame〜を[[[UITextField alloc] initWithFrameにしたら正常に枠線が消えたので サブクラスに問題があることは分かったのですが、何時間試行錯誤してもテキストフィールドの枠線が消えませんでした。 どなたかお分かりの方がいらしたら教えて下さい…('A`)
165 :
名称未設定 :2010/08/24(火) 22:11:13 ID:Zs2GHWYd0
Viewを左方向に1画面分スクロールさせるにはどの命令文を使えばよいでしょうか? それらしい命令文がないのなら、流れなどをご教示くださいませ。 よろしくお願いします。
166 :
名称未設定 :2010/08/24(火) 23:06:46 ID:44c0M7bM0
>165 UIScrollView
167 :
名称未設定 :2010/08/24(火) 23:09:45 ID:44c0M7bM0
ついでに UIScrollView関連の質問。 UIScrollViewのページ表示で現在表示中の画像にあわせて ツールバーのタイトルを変更したいのですが、 現在、何の画像が表示されているのかの値を返すことのできる 要素って用意されているのかな。 困り果ててる。。。
168 :
名称未設定 :2010/08/24(火) 23:52:59 ID:Zs2GHWYd0
>>166 ありがとうございます。
研究してみます。
169 :
名称未設定 :2010/08/25(水) 08:04:12 ID:tz2KLkj10
>>167 contentOffset で、全体のどの部分が表示されているか分かる
170 :
名称未設定 :2010/08/25(水) 09:23:56 ID:db+wRQnh0
というか画面外にある画像はメモリ喰うからとっとと解放しろ。
171 :
名称未設定 :2010/08/25(水) 11:08:52 ID:UKM6Ni/g0
AppDelegate内でViewControllerAを作成しています。 ViewControllerA内でViewControllerBを作成しています。 ViewControllerBのビューには複数のボタンを配置しています。 このときViewControllerBで押したボタンを ViewControllerAに伝えたいのですが、うまく行きません。 具体的には、 ViewControllerBで [ViewControllerA method01:Value]; とすると !△ 'ViewControllerA' may not respond to '+method01:' と出ます。 ViewController.hには -(void)method01:(int)val; というふうに定義してあります。 +で定義してしまうと、 ViewControllerA内の変数にアクセスできなくなってしまい これもまた都合が悪くて困っています。 どなたかご教授願えませんでしょうか??
172 :
名称未設定 :2010/08/25(水) 11:41:25 ID:db+wRQnh0
>>171 ViewControllerAはクラスであって実体ではないでしょ?実体を表すプロパティvaとかを定義しろ。
ViewControllerB.h:
@class ViewControllerA; 先行宣言
@interface ViewControolerB:UIViewController { ... }
@property(nonatomic,assign) ViewControolerA* va; 実体を表す変数
ViewControllerB.m:
#import <ViewControllerA.h>
[va method01:Value]; 呼び出し
ViewControllerA.m
ViewControllerB* viewb= [ViewControolerB alloc] init ...
viewb.va= self; //自分自身つまり実体を代入
173 :
名称未設定 :2010/08/25(水) 11:43:17 ID:db+wRQnh0
あ、ちとまちがい。[va method01:Value]じゃなくって[self.va method01:Value]ね。あとsynthesize忘れてら。
174 :
名称未設定 :2010/08/25(水) 19:04:52 ID:UKM6Ni/g0
>>172 >>173 具体的にお教えいただきましてありがとうございます。
以上のコードを参考に追記しましたら
無事、変数を受け取ることができました!!
私の中で、ViewControllerAはクラスで、
実体ではないという概念が欠けていました。
これからも精進いたします。
本当にありがとうございました。
175 :
名称未設定 :2010/08/25(水) 19:38:41 ID:3w8+MZwH0
質問です。 UIScrollViewを使って画像の拡大縮小を行っています。 その際ダブルタップした場所を中心にアニメーションさせながら拡大を行いたいのですが タップした場所から拡大が上手く行えません。。 現在はダブルタップを検出してスクロールビューのズームスケールと スクロールビューのoffset値などをタップした座標に変更してそこにアニメーションをかけています。 何かスクロールビューの方で拡大の中心点を設定するような事が可能なのでしょうか? アドバイスなどあればよろしくお願いしますm(_ _)m
176 :
名称未設定 :2010/08/25(水) 22:35:56 ID:XJNRw3lC0
navigationControllerからイメージピッカーを使いたくて、 UIImagePickerController *imagePicker = [[UIImagePickerController alloc] init]; imagePicker.sourceType = UIImagePickerControllerSourceTypePhotoLibrary; imagePicker.delegate = self; と記述すると、 warning: class 'HomeViewController' does not implement the 'UINavigationControllerDelegate' protocol という警告が出て、動作も不安定になります。 意味、または対応策を教えていただけませんでしょうか? よろしくお願いします。
177 :
名称未設定 :2010/08/25(水) 23:25:37 ID:9izsv7Is0
iphone開発初心者です。 UITableViewの背景にうっすら画像を表示させて、ナビゲーションバーに配置したEditボタンで セルの削除ができるように実装しました。しかし、Editボタンを押してもセルの左側に削除アイコンの「-」が表示されません。 ボタンはEdit→Doneにきちんと変わります。セルを右にフリックさせると「Delete」ボタンが現れて削除することができるので 編集モードには入っているのだと思います。どうやったら削除アイコン「-」を表示させることができるでしょうか。 いろいろ調べたり試したりしたのですが、うまくいきません。どなたかご教授願えないでしょうか。よろしくお願いします。 (void)loadView { //背景を追加する CGRect frame = CGRectMake(0, 0, 320.0, 367.0); self.view = [[[UIImageView alloc] initWithImage:[UIImage imageNamed:@"xxx.png"]] autorelease]; self.view.userInteractionEnabled = YES; [self.view setFrame:frame]; //テーブルをセットアップ table_ = [[UITableView alloc] initWithFrame:frame style:UITableViewStylePlain]; [table_ setDelegate:self]; [table_ setDataSource:self]; [table_ setBackgroundColor:[UIColor colorWithRed:1.0f green:1.0f blue:1.0f alpha:0.40f]]; [self.view addSubview:table_]; [table_ release]; } - (void)tableView:(UITableView *)tableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath *)indexPath { // セルの削除 [self.tableView deleteRowsAtIndexPaths:[NSArray arrayWithObject:indexPath] withRowAnimation:YES]; }
178 :
名称未設定 :2010/08/25(水) 23:33:30 ID:tdK/O6KP0
>>177 多分canEdit〜を誤解してる。
それは編集モードに入ってるんじゃなくて、
編集を許可してるだけ。
編集モードにはsetEditing:animated:で入る。
このメソッドをeditボタンで呼んでやればいい
179 :
名称未設定 :2010/08/25(水) 23:45:20 ID:ZGoEmkYM0
>>176 警告が出るのは、
@interface HomeViewController : NSObject <UINavigationControllerDelegate, UIImagePickerControllerDelegate>
とすればいい。詳しくは UINavigationControllerDelegate UIImagePickerControllerDelegate の項目参照。
不安定になるのは謎。
180 :
名称未設定 :2010/08/25(水) 23:49:42 ID:ZGoEmkYM0
>>179 NSObject じゃなかった、UINavigationController ね (HomeViewControllerのスーパークラス)
181 :
名称未設定 :2010/08/26(木) 01:56:50 ID:uzAXRJ110
app store にあるアプリの説明文にちょっと修正をしたいんだが、またアプリを申請しないとだめなのか?iTunes Connectから修正しただけでは反映されないorz
182 :
名称未設定 :2010/08/26(木) 02:14:15 ID:S09VV8ee0
>>181 1〜2時間後くらいには反映されてると思う。
183 :
181 :2010/08/26(木) 02:42:34 ID:uzAXRJ110
>>182 反映されました。ありがとうございます。恐縮です。m(_ _)m
184 :
名称未設定 :2010/08/26(木) 06:31:20 ID:l2ckc8Sy0
>>50 に挙げたプロパティのバインド変数の自動生成、これ使うと完全隠蔽なインスタンス変数が作れるね。
ってこれあたりまえの書き方?
Moke.h
@interface Moke:NSObject {
}
@property(nonatomic,retain) NSObject* publicProperty;
-(int)sel;
Moke.m
@interface Moke ()
@property(nonatomic,retain) NSObject* privateProperty; //インスタンス変数
@end
@implementation Moke
@synthesize publicProperty,privateProperty;
-(int)sel { ...
185 :
名称未設定 :2010/08/26(木) 13:02:32 ID:yMQY8t8P0
>>179 うまくいきました!ありがとうございます。
動作が不安定なのは、他の箇所が原因でした。すみません。。。
186 :
名称未設定 :2010/08/26(木) 13:10:54 ID:YO0o+Apl0
admobを表示させるのに困っています。 新規プロジェクト「test」を作成して、以下の作業をしました。 SDKから 「AdMobフォルダー」 「TouchJSONフォルダー」 「IBSupportフォルダー」 上記をプロジェクトに追加 AudioToolbox CoreGraphics MediaPlayer MessageUI QuartzCore 上記をフレームワークに追加 「testViewController.xib」にInterfaceBuilderでUIView(以下A)を320x48で追加。 xibウインドウにObject(以下B)を追加しclassを「AdViewController」にする BからAにアウトレット「view」 BからFilesOwnerにアウトレット「CurrentViewController」 保存 上記の作業でビルドしてやると、広告スペースに何も表示されずに白のままです。 何かし忘れていることがあるでしょうか? SDKに入っているサンプルプロジェクトでは広告が表示されています。 思い当たる部分がある方、アドバイスよろしくお願いいたします。
187 :
176 :2010/08/26(木) 20:17:13 ID:yMQY8t8P0
176です。 たびたびすみません。 前回の質問で不安定になると言っていた箇所なんですが、 イメージピッカーでの画像選択時に、以下の記述だと何度もアラートが立ち上がってしまいます。 原因が分かりましたら教えていただけませんでしょうか? よろしくお願いします。 - (void)imagePickerController:(UIImagePickerController*)picker didFinishPickingImage:(UIImage*)image editingInfo:(NSDictionary*)editingInfo { UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"アラート" message:@"アラート文" delegate:self cancelButtonTitle:@"OK" otherButtonTitles: nil]; [alert show]; [alert release]; }
188 :
名称未設定 :2010/08/26(木) 20:36:45 ID:cjQ+GJNdP
MVCのMは素材、冷蔵庫、Vは皿、Cはコックと言う理解で良いですか?
189 :
名称未設定 :2010/08/26(木) 20:54:22 ID:Y/nWB5xt0
つまらん
190 :
名称未設定 :2010/08/26(木) 21:14:54 ID:cjQ+GJNdP
191 :
sage :2010/08/26(木) 21:17:26 ID:+G+JPBuX0
基本NSURLConnectionは Cookie等のセッション周りの処理を自動でやってくれてるんでしょうか? あと、httpもhttpsもお構いなしに処理してくれるものなんでしょうか?
192 :
177 :2010/08/26(木) 22:46:17 ID:DmULZhC60
>>178 おっしゃるとおり以下のメソッドを追加することで、Editボタンを押した際、
削除アイコン「-」を表示することができました。ありがとうございます!!
- (void)setEditing:(BOOL)editing animated:(BOOL)animated {
[super setEditing:editing animated:animated];
[self.table setEditing:editing animated:animated];
}
193 :
名称未設定 :2010/08/27(金) 00:51:52 ID:h+F2q+b40
質問です。よろしくお願いします。 マルチスレッドが作動している最中に ホームボタンを押すと"EXE_BAD_ACCESS"で止まってしまいます。 デリゲートでどんな処理を施せば良いでしょうか?
194 :
名称未設定 :2010/08/27(金) 03:13:34 ID:HjIYouDY0
個人でやってる人って営業活動なにかやってる?
195 :
名称未設定 :2010/08/27(金) 11:38:24 ID:Qc5MHpVn0
内緒
196 :
名称未設定 :2010/08/27(金) 14:51:00 ID:yavU8IxyP
text = [NSString stringWithFormat:@"%@%@\n", str1, str2]; こんな感じで文字列の結合を行っているのですが、改行はどうやって含めたらいいでしょうか? このままでやると¥nがそのまま出力されてしまって改行されません。 よろしくお願いします。
197 :
名称未設定 :2010/08/27(金) 14:54:47 ID:/ByFjdao0
オプション押しながら\を押す、あるいは左上の「あ」メニューから環境設定で中をよくみる。
198 :
名称未設定 :2010/08/27(金) 14:55:55 ID:/ByFjdao0
ごめ、右上じゃん(w
199 :
名称未設定 :2010/08/27(金) 14:55:56 ID:mLQNwcHQ0
横向きアプリなんですが、MPMoviePlayerViewControllerで動画を再生すると縦向きに動画が表示されます。 画面が切り替わる時のアニメーションも縦向きになっています。 これを横向きにしたいのですが可能でしょうか?
200 :
名称未設定 :2010/08/27(金) 14:58:55 ID:yavU8IxyP
201 :
名称未設定 :2010/08/27(金) 15:20:46 ID:h+F2q+b40
performSelectorOnMainThreadの実行優先度って低いのでしょうか? scrollViewDidEndDraggingなどで 別のメソッドを呼ぶとそっちが優先される気がするのですが・・・?
202 :
名称未設定 :2010/08/27(金) 15:29:33 ID:/IU4bdhl0
あのー。Leaksさんがメモリリークだと言ったら、それは絶対メモリリークなんでしょうか。 CALayerを使ってオフスクリーンでグラフィック処理する部分なんですが、 メモリリークの原因を特定しようと思って、問題になっている部分を 別プロジェクトを立ててこれ以上ないくらい簡潔に書いてるんですが、やっぱり赤いの出ます。 なじぇ? という感じです。
203 :
名称未設定 :2010/08/27(金) 15:33:43 ID:BbkS7p2y0
>>201 日本語またはobjective-cでおk
204 :
名称未設定 :2010/08/27(金) 15:41:58 ID:GlzPg/Ki0
>>202 なじぇといわれても、ソースを見ないことにはなんとも…
205 :
202 :2010/08/27(金) 15:49:16 ID:/IU4bdhl0
これです。画像をいったん三分の一に小さくしてまた大きくしてます。 これやるとLeaksで赤いの出ます。 なぜそんなことをしているのかはアレとして、なんでこれでメモリリークが出るのでしょう。 NSString *imgPath=[[NSBundle mainBundle]pathForResource:@"example.jpg" ofType:@""]; UIImage *img=[[UIImage alloc]initWithContentsOfFile:imgPath]; CGRect scaledownRect=CGRectMake(0, 0, img.size.width/3, img.size.height/3); UIGraphicsBeginImageContext(scaledownRect.size); [img drawInRect:scaledownRect]; UIImage *scaledownImage=UIGraphicsGetImageFromCurrentImageContext(); UIGraphicsEndImageContext(); CGRect preRect=CGRectMake(0, 0, img.size.width, img.size.height); [img release]; UIGraphicsBeginImageContext(preRect.size); [scaledownImage drawInRect:preRect]; UIImage *preImage=UIGraphicsGetImageFromCurrentImageContext(); UIGraphicsEndImageContext(); CALayer *layer=[CALayer layer]; layer.frame=CGRectMake(0, 0, preImage.size.width, preImage.size.height); layer.contents=(id)preImage.CGImage; [self.view.layer addSublayer:layer];
206 :
名称未設定 :2010/08/27(金) 15:50:02 ID:/ByFjdao0
>>202 独自作成したCALayerのdelegateをUIViewとかにしてない?
207 :
名称未設定 :2010/08/27(金) 15:52:00 ID:/ByFjdao0
>>205 ってaddsubleyerしたあと誰かそれを解放してる?
208 :
名称未設定 :2010/08/27(金) 15:52:53 ID:BbkS7p2y0
>>205 layer がリリースされないからメモリリークと見なされるんでしょう
209 :
202 :2010/08/27(金) 16:30:09 ID:/IU4bdhl0
ありがとうございます。 [layer release]; というのを行末に追加したら赤いのが出なくなりました。 えー、でも、layer=[CALayer layer]って自動解放だよなと思って、 今追加しした [layer release]; を削除したらやはり赤いの出るのだろうかって思ったら、なぜか出なくなりました。 社長、気が狂いそうであります。
210 :
名称未設定 :2010/08/27(金) 19:17:29 ID:SZCE/Jum0
ドラッグの処理中に、タッチされていくCGPointをNSMutableArrayに入れたいのですが、うまくいきません。 NSMutableArray points;//座標を入れたい配列 -(void)touchesMoved:(NSSet*)touches withEvent:(UIEvent*)event { CGPoint locationPoint = [[touches anyObject] locationInView:self]; [points addObject:[NSValue valueWithCGPoint:locationPoint]];//座標を追加(?) • • } -(void)touchesEnded:(NSSet*)touches withEvent:(UIEvent*)event { NSLog(@"points : %@\n", points);//配列の中身を表示したい } コンソールで結果をタッチ終了時に「points : (null)」と表示されてしまいます。 そもそも格納の仕方がいけないのか、ログの表示方法がいけないのか、 どうすれば実現できるでしょうか? よろしくお願いします。
211 :
名称未設定 :2010/08/27(金) 19:20:34 ID:qusrXXNk0
pointsをやさしくallocとinitしてやらんといかん
212 :
名称未設定 :2010/08/27(金) 19:48:05 ID:SZCE/Jum0
>>211 ありがとうございます。
NSMutableArray *points = [[NSMutableArray alloc] init];
としたことがあったのですが、
touchesMoved〜{}の中だとちゃんと宣言できるのですが、
ここで宣言するとドラッグするたびに初期化される&ローカルになりtouchesEnded{}で参照できなくなると思うので、
mファイルに上の様に書いたのですが、エラーがでちゃんですよね。
説明がわかりずらかったらすみません。
よろしくお願いします。
213 :
名称未設定 :2010/08/27(金) 20:19:34 ID:3ozudrWj0
キーボードのボタンみたいにタップすると背景の色が変わる動作はできないのでしょうか? タイトルと画像はハイライトと通常時で変更できたのですが… やはり画像を変えて上手くごまかすしかないんですかね。 ラウンドレクトボタンは押した時に青色で固定されてしまうので、カスタムボタンで試しました。
214 :
名称未設定 :2010/08/27(金) 21:31:21 ID:xf14QQdJ0
メールアプリの「新規メッセージ」のところのビューって 宛先、Cc/Bcc、件名、本文のところ全体がスクロールするように なってるけど、これって本文のところのUITextViewのスクロールじゃ 実現できないよね。全体がテーブルになっててそのスクロールが使われてるとしても、 UITextViewのところのスクロールを無効化して行が増えるとそれを含むセルの高さが 動的に変わる? とかどうやるんじゃい 同じことを簡単に実現できる方法は無いのだろうか
215 :
名称未設定 :2010/08/27(金) 22:02:14 ID:JVjmnTSd0
>>214 フォントは固定だから、表示されるサイズ(縦横)は分かる。
文字列が編集する度にdelegateに連絡が行くから、その度にレイアウトを計算して、内包するスクロールビューの
contentSizeを拡張すればいい。…とざっくり思いついたけど。
216 :
名称未設定 :2010/08/27(金) 22:06:53 ID:5qRqJPBV0
@interface TestCls : UIViewController<UIActionSheetDelegate>{ NSString * pDbgMsg0; } @implementation TestCls - (IBAction)buttonDidPush:(UIButton *)sender { ○ pDbgMsg0 = [NSString stringWithFormat:@"pushed button%d", sender.tag]; ◎ NSLog( @"%@ Test Cancel button", pDbgMsg0 ); UIActionSheet* sheet = [[[UIActionSheet alloc] init] autorelease]; sheet.delegate = self; [sheet addButtonWithTitle:@"アクション1"]; [sheet addButtonWithTitle:@"キャンセル"]; sheet.cancelButtonIndex = 1; [sheet showInView:self.view]; } -(void)actionSheet:(UIActionSheet*)actionSheet clickedButtonAtIndex:(NSInteger)buttonIndex { if ( buttonIndex == actionSheet.cancelButtonIndex ) { ◉ NSLog( @"%@ pushed Cancel button", pDbgMsg0 ); } else { ◉ NSLog( @"%@ pushed Action%d", pDbgMsg0, buttonIndex ); } } @end 上記コードでビルドは問題ないのですが、 ○部分でpDbgMsg0に代入した文字列が ◎部分では pDbgMsg0が正常に参照出来ていますが、 ◉部分では pDbgMsg0が参照出来ません どうすれば直りますか? よろしくお願いします
217 :
名称未設定 :2010/08/27(金) 22:17:20 ID:JVjmnTSd0
>>216 ○部分でpDbgMsg0に代入した文字列が
その文字列は、そこのメソッド(run loop)が終わった時点でリリースされている
(少なくともルール上はリリースされることになっている)
つまり、auto release されているオブジェクトはそのメソッド内でのみ有効。別のメソッド、その例でactionSheet::では
すでに存在していない。
解決するには、auto release ではなくretainしておいて、不要になったらreleaseする。
なぜ
[NSString stringWithFormat:...]
がauto releaseオブジェクトなのか分からなかったら、ドキュメント読んでね。
218 :
名称未設定 :2010/08/27(金) 22:35:13 ID:xf14QQdJ0
>>215 ありがとうございます。
検証コード書いて試してみます。。。。
219 :
名称未設定 :2010/08/27(金) 22:56:44 ID:YYrJ2CaH0
キーボードにbluetoothを使ってる方がいたらお勧めを教えてください 持っているbluetoothキーボードはwindowsやガラケー向けに作られたのか 記号系のキーにズレが多くてややこしい…
220 :
名称未設定 :2010/08/27(金) 23:01:30 ID:oZ7gsv4JP
221 :
名称未設定 :2010/08/27(金) 23:43:45 ID:iDYEPiFI0
勉強に簡単なフォトビュアみたいのを作ってみようと思いました。 で、イメージピッカーでフォトライブラリから表示したい絵を選び、自分のデータベースに ファイル名(パス)を登録して、複数の写真を連続で表示しようかと考えました。 が、イメージピッカーってパス名は取得できないのでしょうか? というかもしかして、パスが分かったとしてもフォトライブラリは直接アプリからアクセス って出来ないのでしょうか?
222 :
名称未設定 :2010/08/27(金) 23:50:42 ID:377ow+OL0
どっかでセミナーとか合宿の募集してないでしょうか。 素朴な疑問が山ほどあって、なかなか前に進みませんのです。
223 :
名称未設定 :2010/08/28(土) 01:12:01 ID:s3G0AppJP
>>193 どこで BAD_ACCESS になってるかを調べて
ならないようにする、としか答えようがない。
224 :
名称未設定 :2010/08/28(土) 02:59:42 ID:9rlOt5je0
216です
>>217 ありがとうございます。
意味は、理解出来ましたが、、
対応方法は、色々探してみます。
225 :
名称未設定 :2010/08/28(土) 04:49:10 ID:942bON790
もう分かった頃かな。無粋だが横から教えてしんぜよう。 pDbgMsg0=[[NSString alloc]initWithFormat…] とやる。これで問題箇所できちんと参照できるようになる。 ただしいずれ不要になったときに [pDbgMsg0 release]しないとメモリリークとなる。
226 :
名称未設定 :2010/08/28(土) 08:47:05 ID:B4H1MrxDP
(void) hoge { //strはhogeで生成される文字列 status = [NSString stringWithFormat:@"%@ \n %@", str, status]; } こんな感じで、hogeが呼び出されるたびにstatusに積んでいきたいと思うのですが、 statusはどこで宣言すればいいのでしょうか?関数外で宣言すると止まってしまい、こまってます。
227 :
名称未設定 :2010/08/28(土) 08:57:03 ID:/uGAsPHi0
>>226 ヘッダで宣言する。
>>216 と同様に、status を retain しておかないと、hogeメソッドが終わった時点で
その文字列は消えるから気をつけてね。
228 :
名称未設定 :2010/08/28(土) 11:14:22 ID:pY+zLSyhP
>>226 インスタンス変数(メンバ変数)にする。
↑の言葉が分からなかったら、「オブジェクト指向」を勉強すること。
229 :
名称未設定 :2010/08/28(土) 11:54:36 ID:B4H1MrxDP
>>227 ,228
ありがとうございます。
ヘッダファイルで宣言しているのですが、EXC_BAD_ACCESSで終了してしまいます><
230 :
名称未設定 :2010/08/28(土) 12:36:20 ID:/uGAsPHi0
>>229 それは、216と同じことやってることが原因だと思うよ。
-(void)hoge {
//strはhogeで生成される文字列
status = [NSString stringWithFormat:@"%@ ¥n %@", str, status];
}
だと、status の内容は、hogeが終了した時点で消えてしまう(deallocされる)
だから、次にhogeが呼ばれたときに、既に消えたstatusをつかって文字列を作成しようとしているから、エラーが出る。
後から使うオブジェクトは retain する、いらなくなったら release すること。
autoreleaseをすると、(簡単に言えば)そのメソッドの間だけは消えない。
[NSString stringWithFormat:....] は autorelease されているオブジェクト。だから、そのメソッドが終わったら消える。
231 :
名称未設定 :2010/08/28(土) 13:36:54 ID:B2Wqqd0b0
UINavigationControllerにpushViewControllerにてUIViewControllerをセットしています。 (始めは横長の状態です)画面遷移した先で、画面の向きを変更します。(横長の状態→縦長の状態) ナビゲーションバー上に、表示しているボタンで、元の画面に戻って来た時に 元画面は、横長の状態で表示していたレイアウトのままで、ズレてしまいます。 ナビゲーションバー上のボタンで、前の画面に遷移して、表示する前の段階で 画面の向きを取得したいのですが、loadView等では、取得できませんでした。 どのようにして、取得すべきでしょうか。 よろしくお願いします。
232 :
名称未設定 :2010/08/28(土) 13:37:57 ID:p81aIYc50
開発者ではないので的外れな質問かもしれませんが、、 iPhoneアプリにはどうしてネット対戦ゲームのような類のゲームがほとんど無いのでしょうか? bluetoothで通信するゲームはあるようですが、いわゆるネトゲが無いですよね。 もちろん、リネージュのようなゲームを作ることは端末のスペックからして無理だと思いますが 簡素したネトゲみたいなものであれば、楽しそうです。 ゲーム性が低くても不特定多数の人と繋がるだけで意味があると思うんです。 ネトゲ廃人気味な自分は人と繋がるゲームしか楽しめなくなってしまったので。
233 :
名称未設定 :2010/08/28(土) 13:43:57 ID:yG60hHI20
ふつうにMMOが何本も出てる
>>232 が想定してるネトゲってのがないだけかサーチできてないだけ
ということで終了
続きはどこか他所でお願いします
234 :
名称未設定 :2010/08/28(土) 14:03:43 ID:B4H1MrxDP
>>230 ありがとうございます。完全に216と同じでした。
スレ汚し失礼しました。。
235 :
名称未設定 :2010/08/28(土) 17:50:24 ID:4ELtW6oX0
JPEGなどの画像を背景としてUIViewに表示して、 その上に手書き機能を実装した別のUIViewを重ねています。 背景を表示しているViewは、読み込んだ画像(CGImage)を CGContextDrawImageでUIViewのサイズに合わせて 拡大・縮小して描画しています。 背景画像が小さい時は手書き機能のレスポンスは問題ないのですが、 大きい時はかなり悪くなります。 これは、手書き機能による描画が行われる時に、 背景を表示しているUIViewも再描画されている為で、 背景画像が大きければ負荷も大きくなると考えているのですが、 この再描画を軽くする方法が思い浮かびません。 何か良い方法があればご教授頂けないでしょうか。
236 :
名称未設定 :2010/08/28(土) 18:50:03 ID:hsS0nrh60
NSString* str; str = [NSString alloc]; これでconflicting types for 'str'ってエラーが出ますけど、どうして?? 超基本的なことを見落としてる?誰か助けてー
237 :
名称未設定 :2010/08/28(土) 19:12:45 ID:vbHqtDoa0
>>236 NSString クラスはクラスクラスターで、NSCFString(CFString)というのが実体。
NSString クラスそのものは、いわばファクトリークラスと思えばいい。
よって str = [[NSString alloc] init]; までやらないと、実際のインスタンスができない。
基本的に alloc したらすぐに init... しないとダメ。
238 :
名称未設定 :2010/08/28(土) 19:18:56 ID:Ch2UT8ya0
使うにあたってはそうだろうけど、うちではコンパイルでそんなエラーは出ないっす。
239 :
名称未設定 :2010/08/28(土) 19:19:54 ID:hsS0nrh60
>>237 ありがとうございます。
すみません、説明不足でしたが、initをつけてもダメなんです。
str = [[NSString alloc]init];
str = [NSString new];
str = [NSString string];
str = [NSString stringWithString:@"ABC"];
いろいろやってみましたけどどれもダメなんです。ありえない!
240 :
名称未設定 :2010/08/28(土) 19:23:26 ID:vbHqtDoa0
んあ? "NSString str;" とかにしてない? id str = [NSString string]; でやってみてどう?
241 :
名称未設定 :2010/08/28(土) 19:26:28 ID:hsS0nrh60
>>240 それでも同じエラーが出ますね。
マックが壊れたか?
242 :
名称未設定 :2010/08/28(土) 19:27:54 ID:hsS0nrh60
アスタリスクはついてます。
243 :
名称未設定 :2010/08/28(土) 19:29:41 ID:hsS0nrh60
いや、同じエラーじゃなかったです。 Initializer element in not constant ってでます。
244 :
名称未設定 :2010/08/28(土) 19:31:47 ID:vbHqtDoa0
>>238 あ、そうだね、コンパイルエラーは出ないわな。失礼した。
>>243 ====
NSString *str = [NSString string];
@implementation Hoge
- (id) init {...}
@end
みたいなことやってるんじゃないか?
245 :
名称未設定 :2010/08/28(土) 19:38:45 ID:hsS0nrh60
>>244 すみません、ご指摘の意味がよくわからないのです。
よそで何かおかしいことしてないかってことでしょうか?
ちなみに、エラーが出るコードを、これまで動いていた別のプロジェクトに
コピペしてもエラーが出るんです。
246 :
名称未設定 :2010/08/28(土) 19:42:59 ID:vbHqtDoa0
>> 245 埒が明かないから、エラーが出るファイルの構成を >244 みたいにさらして。 関係ないコードは省いてもらって結構。ファイル名(ぼかしてもらって結構)+拡張子も。
247 :
名称未設定 :2010/08/28(土) 19:44:01 ID:hsS0nrh60
ありがとうございます!準備しますね
248 :
その1 :2010/08/28(土) 19:51:10 ID:hsS0nrh60
#import "UranaiViewController.h" @implementation UranaiViewController @synthesize lbl_kekka; //■■■ここです■■■ NSString* str; str = [NSString string]; - (IBAction)btn_push_down:(id)sender { srand(time(nil)); NSInteger ransuu; ransuu = rand() % 3; if (ransuu == 0) { lbl_kekka.text = @"大吉",ransuu; lbl_kekka.hidden = NO; } else if (ransuu ==1) { lbl_kekka.text = @"中吉",ransuu; lbl_kekka.hidden = NO; } else { lbl_kekka.text = @"小吉",ransuu; lbl_kekka.hidden = NO; } }
249 :
その2 :2010/08/28(土) 19:52:02 ID:hsS0nrh60
- (void)viewDidLoad { [super viewDidLoad]; lbl_kekka.hidden = YES; } - (void)didReceiveMemoryWarning { // Releases the view if it doesn't have a superview. [super didReceiveMemoryWarning]; // Release any cached data, images, etc that aren't in use. } - (void)dealloc { [lbl_kekka release]; [btn_push release]; [super dealloc]; } @end
250 :
名称未設定 :2010/08/28(土) 19:54:09 ID:hsS0nrh60
元のコードは大きかったんで、関係ないサンプルにコピペしたやつです。 UranaiViewController.mです。 ボタンを押すと大吉か中吉か小吉が表示されるやつです。 なんてどうでもいいですねw
251 :
名称未設定 :2010/08/28(土) 19:57:28 ID:Ch2UT8ya0
そんなところにそんな事を書いたらあかん。
252 :
名称未設定 :2010/08/28(土) 20:00:59 ID:hsS0nrh60
あ! なんかそんな気が! -(void)viewDidLoad { の後なんかに書けばいいのかな?
253 :
名称未設定 :2010/08/28(土) 20:03:01 ID:vbHqtDoa0
>> 248 うん、そうなっていると思った。 @implementation UranaiViewController - (IBAction) .. {...} NSString *str; // ここはグローバル変数になる str = [NSString string]; グローバル変数の初期化は定数でないといけない。関数とかメソッド呼び出しではコンパイル時に 値が決まっていないので、初期化できないと怒られているわけ。定数で指定するなら、 str = @"hoge"; とすればコンパイルエラーは起こらない。値が実行時にしか決まらないなら、 + (void) setStr:(NSString *)newStr { if (![str isEqual:newStr]) { [str release]; str = [newStr retain]; } } みたいにしてこれを + (void) initialize とかで呼ぶ。
254 :
名称未設定 :2010/08/28(土) 20:05:33 ID:Ch2UT8ya0
グローバルなところには定義か宣言しか書けません。 str = @"hoge"; は定義でも宣言でもなっしんぐ。
255 :
名称未設定 :2010/08/28(土) 20:08:32 ID:vbHqtDoa0
はいはい、 NSStirng *str = @"hoge"; ね。省略したら誤解されるか。
256 :
名称未設定 :2010/08/28(土) 20:09:59 ID:Ch2UT8ya0
だって、もともとのエラーもそれが引っかかってたわけでしょ。
257 :
名称未設定 :2010/08/28(土) 20:10:41 ID:hsS0nrh60
なるほど! ただいま変更中
258 :
名称未設定 :2010/08/28(土) 20:14:39 ID:vbHqtDoa0
>>256 うん、確かにあなたのいう通りだ。不平を言ったわけではないので、そうとられられたらごめん。
259 :
名称未設定 :2010/08/28(土) 20:15:40 ID:hsS0nrh60
やりました! コンパイル通りました! ボタン押すと則落ちしますけどもwとりあえず一歩前進です。 ありがとうございます!むちゃ助かりました。 ああいうトラブルは本を読んでもなかなか解決しないんで。 お騒がせしました〜 (またよろしくです〜)
260 :
名称未設定 :2010/08/28(土) 20:27:16 ID:hsS0nrh60
コンパイル通ったとは言いましたが、それは変数の初期化の部分を -(void)viewDidLoad { のところに移動させたからでした。 そもそも、定数ならあの場所で初期化できてたんですかね? だったらなぜ str = [NSString stringWithString:@"ABC"]; が通らなかったんでしょう?
261 :
名称未設定 :2010/08/28(土) 21:00:10 ID:vbHqtDoa0
>>260 付き合った以上、答えるけどね…ちょいと勉強が足りないのでは。
Cから復習したほうがいいよ。
NSString *str = @"ABC"; // OK。 コンパイル時に定数で定義している
NSString *str; // G宣言のみ
- (void)... {str = [NSString ...]; ...} // OK。実行時に変更してる。
NSString *str; // G宣言
str = @"ABC"; //ダメ。定数ではあるが、コンパイル時に式を実行
NSString *str; // G宣言
str = [[NSString ..]; // ダメ。コンパイル時にメソッドを実行
NSString *str = [[NSString ...]; // ダメ。同上
262 :
176 :2010/08/28(土) 21:04:35 ID:fl2H0GMA0
IBを使わずに、presentModalViewControllerを使うと、 ナビゲーションバーだけがスライドしてきて背景が透けている状態になります。 アニメーションが終わると表示されるのですが、アニメーション中に次のビューの背景を表示してくれません。 原因が分かりましたら教えてください。 よろしくお願いします。 // 呼び出し側 testViewController *iv = [[testViewController alloc] init]; UINavigationController *nc = [[UINavigationController alloc] initWithRootViewController:iv]; [self presentModalViewController:nc animated:YES]; [iv release]; // 呼び出される側 - (void)loadView { CGRect bounds = [[UIScreen mainScreen] applicationFrame]; [super loadView]; self.scrollView = [[UIScrollView alloc] initWithFrame:bounds]; self.view = self.scrollView; return; }
263 :
名称未設定 :2010/08/28(土) 22:03:54 ID:62872R+z0
UITextViewって、一部分の文字色だけ変えるって出来ないんですね。 一部分だけ、テキストの文字色をかえる場合は、<font color="red">hoge</font>みたいにして、UIWebView表示するのが正しいのですか?
264 :
名称未設定 :2010/08/28(土) 22:40:34 ID:hsS0nrh60
>>261 ありがとうございます。
先月まではCを全く知らなかった私です。勉強不足は間違いないです・・。
ほんと難しいです。
グローバル変数の初期化は定数でないといけないってのは全く知りませんでした。
そもそもどこに書いたらグローバルなのかも今ひとつw
勉強し直します。ありがとうございました!
265 :
名称未設定 :2010/08/29(日) 11:48:24 ID:QR5gBmbM0
実機にビルドして、ホームボタンで終了します。 アプリのアイコンを押して、ビルドしたアプリを立ち上げると Default.pngの画面で止まったままになってしまい、 アプリが動かなくなるのですが原因わかりませんでしょうか? applicationWillTerminateで[NSThread exit];とかやってみましたが 関係ない??ようなのですが、どなたかお助けください。
266 :
名称未設定 :2010/08/29(日) 12:02:36 ID:2tDMyRVf0
継承とキャストについて質問させてください。 ・AクラスとSubAクラス(Aクラスを継承)があるとします。 ・SubAクラスには1つメンバ変数(startTime)を追加してます。 ・処理上、Aクラスは生成されています 実現したいことは、既に生成されているAをSubAにキャスト?して、 追加したメンバ変数に値を設定したいのです。 SubA* suba = (SubA*)a; suba.startTime = 〜; コンパイルは通りますが実行すると以下のエラーがでます。 Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[A setStartTime:]: unrecognized selector sent to instance 0x15b240' 見たところ、親クラスAのsetterを呼び出してエラーになってるようです。 子クラスSubAのメソッドを呼んでほしいのですが… なにか根本的な勘違いをしてますでしょうか?ご指摘お願い致します。 ちなみにSubAの実装は以下の通りです。 @interface SubA : A { long startTime; } @property long startTime; @end @implementation SubMPMediaItem @synthesize startTime; @end ※質問を簡潔にするためAとしてますが実際はMPMediaItemクラスです
267 :
名称未設定 :2010/08/29(日) 12:08:42 ID:vvhp3kBL0
いくらキャストしたってAはAだろ。
268 :
名称未設定 :2010/08/29(日) 12:37:45 ID:1D0U66H20
超初心者です。 電子書籍アプリを作りたいのですが、 どこかに参考になるサンプルコードはないでしょうか? 単純に画像データを次々に表示させるほかに しおりを付けたりしたいのです。
269 :
名称未設定 :2010/08/29(日) 12:54:53 ID:AmYdHLD90
自炊しる
270 :
名称未設定 :2010/08/29(日) 13:42:50 ID:wXC3s/XgP
>>268 utility applicationで調べているときに応用できそうなのがあったぞ
271 :
名称未設定 :2010/08/29(日) 14:03:59 ID:1D0U66H20
>>269 ありがとうございます。
自炊したものをそのままアプリとして出していいんですかね。
(元がオリジナルなら)いいのかな。
>>270 ありがとうございます!
272 :
名称未設定 :2010/08/29(日) 14:10:16 ID:pPpwsPYD0
touchesBeganをオーバーライドすると、UIButtonなどsubviewなどにタッチイベントがいかないのか、それらが反応しません。 どうしたらよいでしょう。。
273 :
272 :2010/08/29(日) 14:30:13 ID:pPpwsPYD0
>>272 すみません!タッチできなかったのは、別の原因でした。。
274 :
名称未設定 :2010/08/29(日) 14:30:33 ID:QNvvzUww0
>>265 >実機にビルドして、ホームボタンで終了します。
>アプリのアイコンを押して、ビルドしたアプリを立ち上げると
ビルドして実機にインスコ > 無事に起動 > ホームボタンを押してバックグラウンドに回す > 次にアプリを開くと
Default.png が表示されたまま
っていう意味かな。
バックグラウンドに回るあたりでエラーが出て停止してるんだと思う。Xcode よくみて?
275 :
名称未設定 :2010/08/29(日) 15:01:12 ID:J57iS6oeP
>>266 267に簡単に書いているけど、クラスAのインスタンスを生成したんだったら、SubAに
キャストとしても実体はクラスAのインスタンス。そもそもそんなキャストを使う事自体、
設計としておかしいんやけどな。
276 :
名称未設定 :2010/08/29(日) 15:10:40 ID:wXC3s/XgP
RootViewControllerからボタンを押すと、NextViewというビューに切り替わるようにしたいのですが どうやって切り替えればいいのでしょうか? NextView.h NextView.m NextView.xlib は完成しています。切り替えのところがわかりません。。よろしくおねがいします。
277 :
名称未設定 :2010/08/29(日) 16:04:50 ID:2tDMyRVf0
>>267 >>275 回答ありがとうございます。
>>266 の一番下に書いていますが、AはMPMediaItemで、
MPMediaPickerControllerからの返却されたインスタンスです。
このインスタンスに情報を付加したいのですが、
何か方法がありましたら教えていただけないでしょうか?
isKindOfClassでMPMediaItemと判定できれば、どのような方法でも構いません
278 :
名称未設定 :2010/08/29(日) 16:48:21 ID:QNvvzUww0
isKindOfClassでMPMediaItemと判定できれば …この縛りがおかしいのはおいといて MPMediaItemインスタンスを保持するオブジェクトを、MPMediaItem のサブクラスとして定義すればいいんじゃないの
279 :
名称未設定 :2010/08/29(日) 16:59:05 ID:wXC3s/XgP
>>276 事故解決しました。お手数おかけしました
280 :
名称未設定 :2010/08/29(日) 18:03:34 ID:QR5gBmbM0
>>274 ホームボタンを押したら
applicationWillTerminateを通ってエラーも出ずに終了しているようです。
もう一度アプリを立ち上げようとすると、今度はLOGやPRINTが表示されないので
どこでつまづいているのか不明です。
終了するときになにか特別なことをしなければならないとかでしょうか??
281 :
名称未設定 :2010/08/29(日) 18:24:41 ID:QNvvzUww0
>>280 iPhone じゃなくてiPadの開発ですか?iPhoneなら明示しない限りバックグラウンドに移行するので
applicationWillTerminateは呼ばれない。
いずれにせよ、オーガナイザからデバイスのログを見れるよ。
282 :
名称未設定 :2010/08/29(日) 19:17:06 ID:QR5gBmbM0
>>281 現在はiPadアプリを作成しています。
(iPhoneでも同様の現象が出ていたので共通かと思っていました。)
オーガナイザのDevice Logsの所には2日前ぐらいのログしか残ってないようです。
すぐには反映されないのですか??
283 :
名称未設定 :2010/08/29(日) 19:22:09 ID:J57iS6oeP
>>278 サブクラス宛に送信されたメソッドを、保持しているオブジェクトに転送しなければ
いけないので、その方法は使えないと思うけど。runtime系のAPIを使えばできるんかも知れんが
startTimeの値が、MPMediaItemインスタンスから随時算出できるんであれば、カ
テゴリが使えると思う。それが出来なければ、別クラスを作って、そこに入れとくぐ
らいしか無いかな?
284 :
名称未設定 :2010/08/29(日) 19:25:26 ID:QR5gBmbM0
>>281 すいませんっ!!
日付でソートしたらいました!!
Unknown thread crashed with unknown flavor: 5, state_count: 1
こんなこと書いてありました。
これってスレッドがうまく終了してませんよってことですかね??
285 :
名称未設定 :2010/08/29(日) 19:30:47 ID:wXC3s/XgP
UIAlertViewでalert1、alert2を定義しています。 (void) alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex でどのアラートのどのボタンが押されたかで処理を分岐したいと思うのですが、「どのアラート」かの条件式がわかりません。 alertViewと比較すると聞いたのですが、どう書けばいいのでしょうか?
286 :
名称未設定 :2010/08/29(日) 19:55:36 ID:QR5gBmbM0
>>285 alert1,alert2がヘッダファイルに定義してあるなら
if (alertView == alert1 && buttonIndex == 1){
}
if (alertView == alert2 && buttonIndex == 1){
}
とかどうですか?
287 :
名称未設定 :2010/08/29(日) 20:03:37 ID:wXC3s/XgP
>>286 ヘッダファイルに定義して試したところうまく行きました。
ありがとうございます。
288 :
853 :2010/08/29(日) 21:36:55 ID:1n5PP3600
スレ違いな気がしないでもないけど、ここ以外に適当なスレが見当たらない為、ここで質問させてくれ。 iPhoneアプリを作成しようと思って、今デヴェロッパ登録した段階なんだが、開発機登録を行う時点でIPhone Developer Proguramへの登録が必要なの?
289 :
名称未設定 :2010/08/29(日) 22:22:13 ID:3S3vXxmY0
objective-cとiphone sdkのいい感じの参考書があったら教えてください。 詳解objective-c2.0ってのとiphoneプログラミングuikit詳解リファレンスってのが 評判が良さそうな感じなのですがどうでしょうか?
290 :
名称未設定 :2010/08/29(日) 22:28:36 ID:VEkRserl0
>>288 >Proguram
まあ、答えとしてはYESだな。
291 :
名称未設定 :2010/08/29(日) 23:06:24 ID:GP3MnVOH0
K下がまもなく降臨する悪寒
292 :
名称未設定 :2010/08/29(日) 23:12:55 ID:QR5gBmbM0
>>284 です。
実機検証中で、ホームボタンを押したあと、
アプリのアイコンを押してスタートすると
開始画面で止まってしまう問題についてです。
オーガナイザでCrashっぽいことはわかりました。
Unknown thread crashed with unknown flavor: 5, state_count: 1
というところで、謎のスレッドがクラッシュしている?
みたいなのですが、マルチスレッド部分はコメントアウトしているのに表示され続けます。
なにか他に原因があるのでしょうか?
どなたかよろしくお願いいたします。
293 :
853 :2010/08/29(日) 23:29:50 ID:1n5PP3600
>>290 うお、タイプミスってたか。
やっぱりそうか。いくら探しても見つからない訳だ。
まだ勉強し始めたばかりだから、もうちょい勉強してから登録することにするよ。
レスthx
294 :
名称未設定 :2010/08/29(日) 23:42:26 ID:TQv1PT0R0
インクリメンタルサーチみたいに、ひと文字入力するごとにあるメソッドを 呼び出したいのですが、どうすればいいでしょう? 具体的には、数値を入力するたびに計算結果がすぐ変わるようにしたいのですが。 NSTimerでコンマ数秒ごとに呼び出すとか?
295 :
名称未設定 :2010/08/29(日) 23:48:01 ID:vvhp3kBL0
もしかして、ひと文字入力するごとにあるメソッドを呼び出せばよくね!?
296 :
名称未設定 :2010/08/29(日) 23:54:58 ID:TQv1PT0R0
!
297 :
296 :2010/08/30(月) 00:15:31 ID:O36QCt1F0
だめだー。 そもそも、ボタンを押す以外の方法で何かまとまった処理をしたことがない のでした。 今まで、 - (IBAction)btn_down:(id)sender { ・・・ } でやっていた処理(この塊をなんて言うんだろう)を、よそから呼び出す にはどうすれば?
298 :
296 :2010/08/30(月) 00:48:29 ID:O36QCt1F0
おっとまさかの自己解決!
299 :
名称未設定 :2010/08/30(月) 03:46:46 ID:wrPUZw+N0
>>292 起動に20秒以上かかる重い処理をさせてるとか。この場合はOSがクラッシュさせる仕様。
300 :
名称未設定 :2010/08/30(月) 06:49:17 ID:hFBM00J80
単純にメモリリークな気がする。 クラッシュするときもうちっと詳しい情報が出てきてるはずなんだけどなー。
301 :
名称未設定 :2010/08/30(月) 07:22:01 ID:eaBkrNYE0
>>289 その2冊はどっちかって言うとリファレンスだな
それに加えて入門書として
基礎からのiPhone SDK改訂版か
iPhoneデベロッパーズクックブックも買っとくのをお勧めするよ
302 :
名称未設定 :2010/08/30(月) 08:37:08 ID:NC0mnTM00
自己解決した人は、後から学ぶ人のためにどうやって解決したか大ざっぱにでいいから書いておけばいいのに。 なんでこういうことに思いが至らないのだろう。
303 :
名称未設定 :2010/08/30(月) 09:12:56 ID:hFBM00J80
エラーの原因がはずかしいから、とかじゃね?
304 :
名称未設定 :2010/08/30(月) 10:50:30 ID:KXCAXm6BP
viewDidloadが呼ばれない原因ってどんなことが考えられますか?
305 :
名称未設定 :2010/08/30(月) 10:57:29 ID:hFBM00J80
UIViewControllerのviewを要求してない、とか。
306 :
名称未設定 :2010/08/30(月) 11:06:24 ID:JW6LO0UD0
>>289 日本のデベロッパサイト
http://developer.apple.com/jp/ から、「リソース」→「iOS 日本語ドキュメントを見る」→ と進むと
>>4 のドキュメントに辿り着く。
Objective-C なら
「Objective-C 2.0 プログラミング言語」
iphone sdk なら
「iPhone アプリケーションプログラミングガイド」
「iPhone OS ViewController プログラミングガイド」
「iPhone OS Table View プログラミングガイド」
あたりはタダで読めるし下手な本よりよっぽど参考になる。
あともし「iPhone ヒューマンインターフェイス ガイドライン」を読んでない場合は
必ず目を通す。これは全てのiPhoneアプリ開発者の義務。
307 :
名称未設定 :2010/08/30(月) 11:09:14 ID:P6bJUMbv0
>>306 >「Objective-C 2.0 プログラミング言語」
あの日本語で理解できるというのはそれだけでひとつの才能。
常人なら英語版と合わせて読むほうがいい。
ただ、章建てが違っているから慌てないこと。
308 :
名称未設定 :2010/08/30(月) 12:00:44 ID:/sPBRZZJ0
プログラミング一般の初心者じゃなければ大丈夫じゃね?
309 :
名称未設定 :2010/08/30(月) 12:03:27 ID:P6bJUMbv0
c++が理解できていて、smallTalkの経験があれば大丈夫だろう。
310 :
296 :2010/08/30(月) 12:45:36 ID:pkeGRQ6l0
>>302 詳しい人ばかりだから意味ないかもしれませんが、一応書いておきますね。
@selectorというやつを使いました。
そういえばNSTimerで繰り返し呼び出すメソッドのとこに@selectorって書いてあるなと、そこから調べて
行き当たりました。Webで似たようなコードを探して、真似して書いたら動きました。
これでいいのか自信なし!
初心者向けの入門書は何冊か持ってますが、ほとんど記載がないんですよね。
311 :
名称未設定 :2010/08/30(月) 13:28:54 ID:hFBM00J80
そんなことせんでも、ふつーに呼びだせばいいと思うのだが・・・
312 :
名称未設定 :2010/08/30(月) 14:31:06 ID:cyMFo+fVP
>>297 この塊のことを「メソッド」と言います。
ってのは本当に基礎の基礎なんで、ちゃんとオブジェクト指向について勉強してください。
313 :
名称未設定 :2010/08/30(月) 15:38:05 ID:jQFPCZ110
UIViewからUIViewControllerを取得することは出来るのでしょうか? よろしくお願いします。
314 :
名称未設定 :2010/08/30(月) 16:09:16 ID:NC0mnTM00
>>310 ほら書いておいてよかった。
ふつうはUITextViewDelegate Protocolを使うよ。
- (BOOL)textView:(UITextView *)textView shouldChangeTextInRange:(NSRange)range replacementText:(NSString *)text
このメソッドが文字を一文字入力したり、削除したりするたびに呼び出される。
http://d.hatena.ne.jp/thata/20091017/1255779645 この辺が参考になるかなぁ。ちょっと上のメソッドを実際に使っている日本語のWebページが探せなかった。
今回は自力で動作するコードが書けたから良しとしても、ほどなくDelegateについては理解しないといけなくなる。
315 :
296 :2010/08/30(月) 17:27:59 ID:pkeGRQ6l0
>>314 ありがとうございます。
なるほどデリゲートですか!そう言われてみればデリゲートの仕事ですね。これをやらずして何をやるって
いうくらい。
でもちょっと思いつかなかったです。
そもそも文字が変化するたびに呼び出されるメソッドがあるなんて知らないから、デリゲートなんて発想が
出てこないですよ。
そういうメソッドも当然用意されているはずだと信じて探してみるってことですかね。
316 :
296 :2010/08/30(月) 17:30:37 ID:pkeGRQ6l0
今マックがないんで、家にかえったらデリゲート勉強してみます。 ありがとうございました!
317 :
名称未設定 :2010/08/30(月) 17:55:47 ID:ExD6tfMQ0
メインスレッドから、 サブスレッドを一時停止しておくことって可能でしょうか? また、サブスレッドの中断もできるとありがたいのですが、 そんな処理ってありますか? 無理矢理中断する方法としては、whileで無限ループして、 フラグ管理かなと思ったのですが、即中断というわけではないので タイムラグが出て都合が悪いです。 よろしくお願いいたします。
318 :
名称未設定 :2010/08/30(月) 18:33:51 ID:iCwsesHM0
iAd付きのアプリ申請するとき、シミュレーターの画像をキャプチャして良いの?
319 :
名称未設定 :2010/08/30(月) 20:23:27 ID:07Y6uo6p0
iPod Touchは対象外で、iPhone/iPadだけ対象にしたいのですが、 info.plist、プロジェクト設定ではどのように記述すればよいでしょうか。
320 :
名称未設定 :2010/08/30(月) 20:57:18 ID:KXCAXm6BP
iPhoneの日本語のキーボードで「改行」を「完了」に変更する方法知りませんか?
321 :
名称未設定 :2010/08/30(月) 21:00:36 ID:SRIdiREuP
>>319 なぜそうしたいの?理由によっては可能。
322 :
名称未設定 :2010/08/30(月) 21:41:34 ID:hFBM00J80
>>317 pthreadならできるんじゃないかな。
323 :
名称未設定 :2010/08/30(月) 22:05:27 ID:/sPBRZZJ0
>>317 NSConditionとかそこらへん使うんでは
324 :
名称未設定 :2010/08/30(月) 22:09:33 ID:FNA3hySOP
>>317 NSOperation一派なら楽勝。Suspendはややこしいけど。
325 :
名称未設定 :2010/08/30(月) 22:16:25 ID:/sPBRZZJ0
NSOperation使ったからってスレッド間の同期まで面倒見てくれないべ。
326 :
名称未設定 :2010/08/30(月) 22:19:01 ID:35CMfSmF0
Accelerometergraphってサンプルコードを動かしたいのだけれども、 iPad用のしかないのかなー? iphoneで動かしたいのだけれども、 iPad用プログラムをiphone用にするのは簡単ですか?
327 :
名称未設定 :2010/08/30(月) 22:33:01 ID:MZnyUhIh0
>>313 の質問に乗っかって 僕も知りたいです。
codeで生成したUIViewからViewControlerへアクションを送りたいのですが
IBAction以外でどのようにしたらよいでしょうか
328 :
名称未設定 :2010/08/31(火) 01:39:30 ID:fbAmmuGz0
>>327 iOS 4.0 以降なら viewController だかなんだかという
プロパティがあったはず。
それ以前なら nextResponder で取れる様な気がする。
329 :
名称未設定 :2010/08/31(火) 09:42:37 ID:X1nIIPhX0
最新のiOS SDKをダウンロードして開こうとしたところ、 「認識できません」のエラーが出ます。 対処どなたかご存じないですか?
330 :
名称未設定 :2010/08/31(火) 09:42:56 ID:Dh0/6Ydt0
UIViewを持ってるVCを取得することはそうそういらないけど、VCの親VCはなんで標準的にないのかわからん。 まあiPadとかになってはじめて必要になったものなんだけどね。
331 :
名称未設定 :2010/08/31(火) 10:27:13 ID:cdDbLONd0
ABPeoplePickerNavigationControllerを普通のViewControllerみたいに 扱うにはどうやれば良いのでしょうか? やりたいことは、iPadでUISplitViewのマスター側にPeoplePickerを表示したり、 ディテール側のツールバーのボタンからPeoplePickerを表示することです。
332 :
名称未設定 :2010/08/31(火) 12:04:13 ID:sMzaGNdc0
>VCの親VCはなんで標準的にないのか えっ?
333 :
名称未設定 :2010/08/31(火) 12:18:42 ID:Dh0/6Ydt0
>>332 え、あるの?parentViewControllerは最近だしすべてのVCが実装すべきもの/してるものではないよね?
334 :
名称未設定 :2010/08/31(火) 12:32:44 ID:XIzBi/COi
最初の SDK からあるし最近ってことはないだろ。
335 :
名称未設定 :2010/08/31(火) 12:44:08 ID:2WH+4tU70
>>330 が想定しているのは、サブビューとして手動で追加したviewのviewControllerを取得する方法について言ってるのかな
(viewController.view.superview.viewController 的なアクセス方法)
そういう想定外の動作は標準では考慮されてないのは当たり前じゃね?
標準的なやり方でviewControllerを重ねて行くやり方なら、すべてのUIViewControllerクラスで実装されている
parentViewController, navigationController, modalViewController
でカバーできてるでしょ
336 :
名称未設定 :2010/08/31(火) 12:50:24 ID:Dh0/6Ydt0
>>335 親VCを示す唯一のpropertyとしてparentViewController(readwrite)があるのならわかるけど、
VCのサブクラスによっていろいろ使い分けられてるのがわからん、ということ。
自分で作ったVCで親を示すには何を使えばいいの?
337 :
名称未設定 :2010/08/31(火) 12:52:01 ID:5y79Sem10
あなたのおっしゃってる事の意味がいますこし・・・
338 :
名称未設定 :2010/08/31(火) 12:57:20 ID:Dh0/6Ydt0
そうか。 えーと、親VCから子VCを作るよね。(両方自前のクラスです) で、子VCに親VCを保持させたい場合にどうすればいいの? parentViewControllerはreadonlyだからその目的には使えないよね? こういう場合に子から親を覚えておきたい場合に使える標準的なプロパティは何?ということです。
普通にメンバ変数として自分で定義すればいいんじゃないかな
340 :
名称未設定 :2010/08/31(火) 13:08:56 ID:Dh0/6Ydt0
うん。今はdelegateとしたり、parentViewControllerを再宣言したりしてる。 結局それしかないのか。 #parentViewControllerが最近だと思ったのは勘違いでしたすいません。popoverと同時だと記憶してた。
341 :
名称未設定 :2010/08/31(火) 13:17:22 ID:2WH+4tU70
>>338 そういう需要に一般性があるとは思えないんだけど。だから標準じゃ存在しないんでしょ
なんで表示もされていないものに親子関係があるのって。
データ構造に親子関係があるなら、モデル側で持っておけばってことじゃないの
342 :
名称未設定 :2010/08/31(火) 13:33:09 ID:Dh0/6Ydt0
>>341 VCは自前でサブクラス化して使うからそんなの自分で定義しろ、というのはわからんでもないけど、
iPadになってから結構使うようになったので。あとviewを破棄するmethodもそう。
343 :
名称未設定 :2010/08/31(火) 14:17:26 ID:0+hCb/3W0
何日ぐらいしたらWaiting For Reviewから次のステップにかわりますか?
344 :
名称未設定 :2010/08/31(火) 14:19:31 ID:2WH+4tU70
345 :
名称未設定 :2010/08/31(火) 14:23:07 ID:0+hCb/3W0
ドモです。 次のアプリ作りながら待ちます。
346 :
名称未設定 :2010/08/31(火) 14:25:40 ID:3mvGoAh8P
親のViewController参照しないといけない状況が頻繁にあるとか単に設計が下手クソなだけだろ
347 :
名称未設定 :2010/08/31(火) 14:30:08 ID:NFQL7TCA0
>あとviewを破棄するmethodもそう。 ViewControllerがviewを破棄した後何をしようというのか? ↓ 何もするわけない ↓ 自分が破棄されたらviewも破棄されるようになってる
348 :
名称未設定 :2010/08/31(火) 14:39:42 ID:NFQL7TCA0
ちなみにプロパティはサブクラスでreadonlyをreadwriteに再宣言できるよ 親クラスのセッタで何やってるか知らないから検証は必要だろうけど
349 :
名称未設定 :2010/08/31(火) 14:44:50 ID:Dh0/6Ydt0
>>346 自分のView上で「Closeボタン」が押された場合の通知先とかです。
>>347 >ViewControllerがviewを破棄した後何をしようというのか?
そういうの必要になったことない?そもそもremovefromsuperviewが嫌いなだけかも>わし。
350 :
名称未設定 :2010/08/31(火) 19:11:10 ID:8iCCS2TD0
NSThreadで作ったスレッドが存在するか、しないかの条件式ってどうなりますか?
351 :
名称未設定 :2010/08/31(火) 19:15:28 ID:cdDbLONd0
すっかり押し流されてしまった… ABPeoplePickerNavigationControllerを普通のViewControllerみたいに 扱うにはどうやれば良いのでしょうか? やりたいことは、iPadでUISplitViewのマスター側にPeoplePickerを表示したり、 ディテール側のツールバーのボタンからPeoplePickerを表示することです。
352 :
名称未設定 :2010/08/31(火) 22:06:05 ID:bpEKaPPNP
質問させてください。 タブバーを削除し、その際に同時に現在表示しているビューも削除し、その後に新しいビューを表示したいのですが [self.tabBarController.tabBar removeFromSuperview]; [self.view removeFromSupervire]; [window addSubview:newview]; と記述してもnewviewが表示されません。 なにが問題のなのでしょうか?
353 :
名称未設定 :2010/08/31(火) 23:29:21 ID:kIyjPIPM0
newviewを初期化してないとか。 newviewが実はviewControllerだとか。
354 :
名称未設定 :2010/08/31(火) 23:44:43 ID:bpEKaPPNP
>>353 はしょってしまったのですが、ビューの初期化はしているんです。
UIView *newview;(これはhに書いてあります)
CGRect frameForWindow = CGRectMake(0,0,320,480);
newview =[[UIView alloc]initWithFrame:frameForWindow];
[window addSubview:newview];
としているのですがなにも表示さず真っ白な画面のままなのです。。。
いろいろと試行錯誤してみているのですが原因がわかりません。
ただ、self.viewを削除せずに新しいビューを追加するとちゃんと表示されます。
355 :
317 :2010/09/01(水) 00:23:17 ID:UH7mOuAu0
>>322 >>323 >>324 >>317 です。
返事が遅くなってしまい申し訳ありません。お返事ありがとうございます。
pthread、NSCondition、NSOperation、NSLockなど試して見たのですがうまく行きませんでした。
NSConditionとNSLockの違いがよくわからなかったのですが、タイムラグが消せませんでした。
NSOperationでは複数のサブスレッドを作ったとき順番待ちのサブスレッドをキャンセルすることはできましたが
現在、稼働中のサブスレッドを即終了できずタイムラグが消せませんでした。
pthreadについては現在調査中です。
メインスレッドにはボタンとスクロール処理がありまして、サブスレッドの動きとしては
ボタンを押すとキャンセル、スクロール開始時に一時停止、スクロール終了時に再開という処理を施したいです。
サブスレッドはperformSelectorInBackgroundを使用して作成しています。
サブスレッド内ではwhile文で繰り返し処理が行われます。
while文の最後にはperformSelectorOnMainThread(waitUntilDone:YES)を
利用してメインスレッドでの処理を行います。
メインメソッドにメッセージを投げかけているときに、ボタンやスクロール処理が発生すると
NSConditionやNSLockを使用しているとメインメソッドが休眠してしまいます。
NSOperationは繰り返し作成、破棄しているとメモリリークで落ちてしまいます。
356 :
317 :2010/09/01(水) 00:34:54 ID:UH7mOuAu0
>>317 >>355 です。
途中で書き込んでしまいました;
乱文で失礼しますが、なにかもう少しヒントいただけないでしょうか。
よろしくお願いいたします。
357 :
名称未設定 :2010/09/01(水) 00:57:34 ID:9ZxsTVLcP
>>356 メインスレッドで動くタイマーを回して、実行中フラグが経っていればちょっとだけ
(例えば1ループ分)処理をして、経っていなければ無視(一時停止、中断)するよう
にするという案もある。
358 :
名称未設定 :2010/09/01(水) 01:00:43 ID:9ZxsTVLcP
モジュール的に汚くなるけど、スレッドになれていなくても容易に実現できる方法だと思う。
359 :
名称未設定 :2010/09/01(水) 09:23:22 ID:vt6GWGrx0
NSThreadじゃないんだ・・・
スクロール中にバックグラウンドでうごいてるとカタつくから後ろの動きを止めたい、なら、
NSThread:setThreadPriorityあたりで後ろのやつにniceあげちゃうとできそうな気がする。
バックグラウンドで描画してるのがスクロールとかちあう、ならたぶんそれはまちがい、
>>358 推奨。
360 :
名称未設定 :2010/09/01(水) 13:07:28 ID:vt6GWGrx0
iPadだけどいつのまにか(3.2.2からかな)マルチキャストの受信とりこぼしがほとんどなくなった気がする。 んーん、やっと考えてたアプリが作れるかな。
361 :
名称未設定 :2010/09/01(水) 22:35:31 ID:9ZxsTVLcP
>>355 基本的な事だけど、UIKitのメソッドはメインスレッドからでしか呼べないぞ。特別に他
スレッドから呼んでいいものを除いて。
362 :
355 :2010/09/01(水) 22:46:05 ID:UH7mOuAu0
>>355 です。
ヒントたくさんありがとうございます。
>>357 Timerですか、そんな方法もあるのですね。
一応流れ的には、
メインスレッドにはボタンを押したり、
スクロールしたりするとタイマーを動かす(fire)、
スクロール終了時にタイマーを止める(invalidate)、
サブスレッドにはタイマーが動作中(isValid)なら
一時停止(sleepForTimeInterval)みたいな感じでしょうか?
>>359 NSThreadとperformSelectorInBackgroundってやっぱり別物なんですか?
同じ動きをしているので、一緒だと考えてました。
そうなんです、バックグラウンドで描画処理をしていまして…。
推奨されているタイマーを使ってみたいと思います。
363 :
355 :2010/09/01(水) 22:49:41 ID:UH7mOuAu0
>>361 勉強不足ですみません。
UIKitのメソッドはメインスレッドからでしか呼べないというのは、
サブスレッドでinitとかallocできないという意味でしょうか??
364 :
名称未設定 :2010/09/01(水) 23:00:42 ID:2WykkHEf0
うーん、画像ダウンロードライブラリ ImageStore の組み込み方がよくわからない。 - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath { のセルに画像を入れたいのに、サイトでは - (void)imageStoreDidGetNewImage:(ImageStore*)sender url:(NSString*)url { UIImage* image = [sender getImage:url]; // 画像を使う処理 } ってあるのだけど、どういうこと?
365 :
名称未設定 :2010/09/01(水) 23:14:59 ID:9ZxsTVLcP
>>363 YES。UIKitに限らず、UIフレームワークでマルチスレッドに対応したものは世の中に
ほとんどない。
メインスレッド宛にメッセージやフラグ、あるいは関数やメソッドを投げてメイン
スレッドで処理させないとだめ。
366 :
名称未設定 :2010/09/01(水) 23:28:56 ID:9ZxsTVLcP
>>362 NSTimerをリピート有りで起動させておいて、そのタイマーに渡したメソッドのなかで
if (実行中フラグ == NO)
return;// 抜ける
else {
//やりたい処理
}
を書く。
・スクロール開始時に呼ぶメソッドの中で、実行中フラグをNOに設定する。
・スクロール停止時に呼ぶメソッドの中で、実行中フラグをYESに設定する。
・ボタンを押したら、Timerオブジェクトをinvalidateするなり、別途フラグを設けて、それが
・立っていれば、タイマー内の上記メソッドでキャンセル処理させるなりすればいいんじゃんない?
>サブスレッドにはタイマーが動作中(isValid)なら
ちなみにNSTimerはサブスレッドを生成しない。全部メインスレッドで行う。その辺は、Appleが
書いた基礎的なドキュメント(日本語訳あり)に全部書いてあるはず。
367 :
名称未設定 :2010/09/02(木) 00:12:04 ID:M2sGjBbHP
4.0から、メインスレッド以外からもdrawできるようになったよ。
368 :
名称未設定 :2010/09/02(木) 01:31:13 ID:A8PCp4fGP
>>366 NSTimerを普通に起動した場合、スクロール中は勝手にタイマー止まるよ。
止めたくない場合はNSRunloopCommonModesを指定。
369 :
名称未設定 :2010/09/02(木) 09:14:41 ID:eL85eVLw0
初歩的な質問で申し訳ありませんが教えてくだい。 UIImageViewをあるIBActionにて表示をさせるのですが イメージを表示をディレイして表示させたい場合のコードを調べているのですが なかなかうまくいきません。 アニメーションを実装してコントロールしないと駄目なんでしょうか。 ラウンドレクトボタン押す→15秒後にUIImageViewにxxx.png表示といった感じです。
370 :
名称未設定 :2010/09/02(木) 09:59:06 ID:NjYEUFOp0
371 :
名称未設定 :2010/09/02(木) 11:24:29 ID:rRPcfXKx0
iPadで、メールなんかでファイルを受け取ったとき、 「次の方法で開く」に自分のアプリを追加する方法ってあるんでしょうか?
372 :
名称未設定 :2010/09/02(木) 12:07:04 ID:NjYEUFOp0
うん。まんまipad programing guideに書いてあったとおもう。CFBundleDocumentTypes。
373 :
名称未設定 :2010/09/02(木) 15:14:25 ID:THH+L5rE0
Twitter for iPad の全体を横スクロール可能で縦長な重なりページは どのクラスから実装してるんでしょう。 いきすぎるとぼよんと戻るアクションは UIScrollView のまんまに見えますが、そういうアクションも自分で作れるのでしょうか。
374 :
名称未設定 :2010/09/02(木) 15:20:27 ID:HuJTVuOa0
NSStringにはヒアドキュメントのような記述はないでしょうか? HTML等の記述の際にソースコード上で折り返したいのですが。。
375 :
名称未設定 :2010/09/02(木) 15:37:31 ID:PI0LgUcZ0
NSString *hoge = @"hoghogehoge hogehoge hogehogeho hogehogehoge";
376 :
名称未設定 :2010/09/02(木) 15:43:18 ID:NjYEUFOp0
それを言うなら、 NSString *hoge = @"hoghogehoge" "hogehoge" "hogehogeho" "hogehogehoge"; でもNSStringというよりobjective-cというよりc言語の話だし、まーそーいうのはリソースから嫁、ということで。
377 :
名称未設定 :2010/09/02(木) 16:22:38 ID:AkB1acj80
ちゃんと、alloc, initしてね
378 :
374 :2010/09/02(木) 18:18:51 ID:HuJTVuOa0
おおおおお!できました!ありがとうございます!
379 :
名称未設定 :2010/09/02(木) 19:10:12 ID:SuaBBZoR0
横からすみません。 alloc,initせずにhoge=@"hogehoge";できてしまうのが前から不思議だったんですけど、 これでちゃんとメモリ確保できてるわけですよね? releaseも必要ですよね?
380 :
名称未設定 :2010/09/02(木) 19:50:26 ID:d81GPrHl0
>>379 同じ中身のを複数作ってポインタ見てみな。
381 :
名称未設定 :2010/09/02(木) 19:56:08 ID:51E/z3Jl0
今から開発始めようと思ってるんですが、本がたくさんあってどれ買えばいいか分かんないです どれ買うのがオススメですか? c言語は少しわかります
382 :
名称未設定 :2010/09/02(木) 20:27:54 ID:SuaBBZoR0
>>380 ありがとうございます。
今マックがなくてできませんけど、明日みてみます。
でもreleaseが要るかどうかもそれでわかりますか?
383 :
名称未設定 :2010/09/02(木) 22:06:32 ID:wmlNfoDA0
testA型で作ったインスタンス[testa]を、testB型のインスタンス[testb]を生成するときにをそのまま引数で渡したい場合は、どのように記述すれば良いのでしょうか? 下記のようなイメージですが、ちんぷんかんぷんで正解がわかりません。 どなたかよろしくお願いします。 testA *testa = [[testA alloc] init]; testB *testb = [[testB alloc] initWithTest:???]; -(void)testB:(testA *)testa { ?????? }
384 :
名称未設定 :2010/09/02(木) 22:34:32 ID:d81GPrHl0
>>382 ポインタを見ればメモリにどう確保されてるかわかる。
たくさん作っても、同じとこを指す時に、
1つだけリリースしようとしたらどうなるか…って考えてみるといいよ。
385 :
363 :2010/09/02(木) 23:23:25 ID:gz5WVBnG0
>>366 >>367 >>368 お返事遅くなりました。
>>363 です。
今日一日みなさまからいただいた貴重な情報をもとに以下のように作成してみました。
timer = [NSTimer scheduledTimerWithTimeInterval:0.1 target:self selector:@selector(startHoge:) userInfo:nil repeats:YES];
-(void)startHoge:(CFRunLoopTimerRef *)timer{
if([lock tryLock]){
if(count <= N){
count++;
//*** ここに描画処理 ***//
}
else{
[timer invalidate];
}
[lock unlock];
}
else{
release;
}
}
本当にありがとうございました。いまのところwi-fi環境ではうまく動作しているようです。
というのは、描画処理の部分に画像をダウンロードさせようと思っていまして、
ダウンロードに時間がかかるとユーザ操作(タッチ)に影響が出ています。
バックグラウンドに送ったのですが、カウントが狂ってしまうので悩んでいるところです。
(一応、3G環境のときはアラートでwi-fi推奨と出すようにはしています。)
386 :
名称未設定 :2010/09/02(木) 23:44:21 ID:SuaBBZoR0
>>384 ありがとうございます。
つまりたくさん作っても、文字列が同じだとポインタも同じになるんですね。
ということは、各変数は自分専用のメモリを確保してるわけじゃないですね?
ということは、releaseしなくていい(してはダメ)ですね。
いやまてよそもそも自分専用のアドレスも持たずにどうやって記録するんだ???
hoge=@"hogehoge";
と、
hoge=[[NSString* alloc]initWithString:@"hogehoge"];
は、内部的には全く違うことをしてるんでしょうか?
387 :
名称未設定 :2010/09/03(金) 00:17:17 ID:qYcNoWgpP
>>385 マルチスレッドで動かしていないんで、NSLockを使う必要は無いけどまあいいや。
388 :
名称未設定 :2010/09/03(金) 04:28:42 ID:t1zphR6o0
あるソースコード眺めてたら @interface renshuViewController() -(void)renshuMethod:(Class)renshuClass; @end ってのがあったんだけど、renshuViewController()ってなんなんですか? メソッドなんですか? あと(Class)ってClass型ってことだと思うのですが、 Class型なんて存在するのですか? よかったら教えてください。
389 :
名称未設定 :2010/09/03(金) 08:32:24 ID:4EciDWeO0
390 :
名称未設定 :2010/09/03(金) 09:43:45 ID:gn/IVBgr0
>>388 renshuViewController () はカテゴリかな。
本当は()の中にカテゴリ名を書くんだけど
自分は()だけ書いてプライベート用に使うことが多い。
ClassはClass型かな。
クラスメソッドを呼び出すときとかに使う。
自分は[[self class] alloc]みたいな感じで間接的に使うことが多い。
どちらもいろいろ使えるので資料をちゃんと調べるのオススメ。
自分はさっぱり使いこなせてないけどw
391 :
名称未設定 :2010/09/03(金) 09:53:27 ID:ovwMb6kQP
>>388 クラス名は大文字で始めるのが普通。RenshuViewControllerみたいに。
>Class型なんて存在するのですか?
もちろん。クラスもオブジェクトだからね。(と言って混乱させてみたり。)
392 :
名称未設定 :2010/09/03(金) 09:57:28 ID:6WziELzT0
初心者絵画教室で「筆ってなんですか?」と聞くようなもんだな。
393 :
名称未設定 :2010/09/03(金) 09:59:36 ID:zxV8DAZ10
>>386 @"abc"とした場合はNSString の、特別なインスタンスが作成され、
retainやreleaseには一切反応しない。(単純に無視)
あと、NSString型といっても内部ではいろいろな持ち方されるんで、initWithStringとかinitWithUTF8Stringとか、
何で初期化するかや文字列の長さで内部の実装クラスは異なるよ。
394 :
名称未設定 :2010/09/03(金) 11:33:30 ID:vOD9G0/a0
>>393 ありがとうございます。
正直、わかったようなわからないような・・です。
str=@"abc"みたいな初期化はちょっと特別なんですね。
よくわからないうちはあまり使わない方がいいかもしれませんね。
>>384 ポインタを見てみましたが、どれも別のとこ指してるみたいで・・。
str1=@"abc";
lbl1.text=[NSString stringWithFormat:@"%d",&str1];
str2=@"abc";
lbl2.text=[NSString stringWithFormat:@"%d",&str2];
395 :
名称未設定 :2010/09/03(金) 12:03:55 ID:zxV8DAZ10
>>394 別にstr=@"abc" は特殊でもなんでもないしばんばん使ってかまわないよ。
ただ NSMutableString *mut= @"abc"; はさすがにアウトかな。
396 :
名称未設定 :2010/09/03(金) 12:16:00 ID:vOD9G0/a0
>>395 retainにもreleaseにも反応しないなんて、やっぱり特殊な気がするんですよ。
そうでもないのかな。
要するにreleaseが必要かどうかが知りたかったわけですけど、結局release
は不要ってことでいいですよね。
よくHello,Worldのサンプルなんかで
-(IBAction)btnDown:(id)sender {
lbl.text="Hello,World!";
}
なんてのがありますが、このlblをreleaseしなくていいのかなーって不思議
だったんですけど、これも同じようなもんですかね。
release/autoreleaseが必要な場合は、基本的にalloc/retain/copyしたときだけと考えれば そんなに難しくないかと
398 :
名称未設定 :2010/09/03(金) 12:56:14 ID:eRLFu2WW0
UITableViewでスクロールバーの 色を変えたいんですが、 これって可能でしょうか? UITableViewの背景を黒にしたら スクロールバーが見にくくなってしまいまして・・
399 :
名称未設定 :2010/09/03(金) 13:11:08 ID:zxV8DAZ10
UIScrollView::indicatorStyle
400 :
名称未設定 :2010/09/03(金) 13:36:39 ID:vOD9G0/a0
>>397 なるほど−。
その3つ以外は全部autoreleaseがはじめからついてるということなんでしょうね。
さっきのHello,Worldの件、よくよく考えてみると、IBでLabelを配置して
それをIBでHello,World!と書き換えただけの超シンプルなアプリでも、そのLabel
リリースしなくていいのか?って疑問に思ってましたけど、これも同じく、
「IBで作られたものは全てautorelease付き」と考えればいいわけですね。
401 :
>>396 :2010/09/03(金) 13:41:26 ID:/MsJOzQr0
同じような疑問を持ってるのでずっとウォッチしてます。 助けになるような意見が書けなくて申し訳ないのですが、 >ポインタを見てみましたが ってありますが、ポインタってどうやってみるのでしょうか。
402 :
名称未設定 :2010/09/03(金) 14:02:33 ID:/uqTWYlc0
xcodeのプロジェクトの検索の画面が、開いてもボタン等何も表示されなくなったんですが、 原因が分かれば教えてください。 tabを押すとどこかでフォーカスが当たってる感じなので 座標がどこかに飛んじゃってるっぽいんですが。。。
403 :
398 :2010/09/03(金) 14:15:31 ID:eRLFu2WW0
>>399 ありがとうございます。
tableView.indicatorStyle = UIScrollViewIndicatorStyleWhite
で色が変えられました!
また、質問なのですが、
スクロールバーを常時表示することはできますか?
404 :
名称未設定 :2010/09/03(金) 14:16:05 ID:vOD9G0/a0
>>401 同じ悩みをもつ人がいて心強いです。
自分だけ阿呆なのかと思ってました。
変数名に&をつければその変数のアドレスになりますよね。
それがポインタかと思ってましたけど、違いましたっけ?
405 :
名称未設定 :2010/09/03(金) 14:36:31 ID:zxV8DAZ10
>>402 ウィンドウの上のほうに縮小されてない?
一度メニュー→表示→エディタを拡大、してからウィンドウ上部の溝を引っ張ってみるといいと思う。
406 :
名称未設定 :2010/09/03(金) 14:37:15 ID:ovwMb6kQP
>>401 NSString * のように * 付きで宣言された変数はポインタ型です。あと、id 型は void * なので、これもポインタです。
ポインタそのものの値を見るには、NSLog(@"ptr = %p", ptr); だったかな。
>>404 &変数名でその変数のアドレス(ポインタ)は取れるけど、
>>384 が言ってるのは変数のアドレスじゃないし。
407 :
名称未設定 :2010/09/03(金) 14:43:14 ID:O7WALRVQ0
iOS SDKはタッチ圧って取れますか?
408 :
名称未設定 :2010/09/03(金) 15:09:29 ID:QTuzpfGj0
NSStringは一度作られると、同じ文字列が必要とされた時に使い回される。 そのあたりはフレームワークが処理しているので、プログラマは保持カウントを気にする必要は無い。 という夢を見た。
409 :
402 :2010/09/03(金) 15:34:20 ID:/uqTWYlc0
410 :
名称未設定 :2010/09/03(金) 15:38:19 ID:zxV8DAZ10
>>409 一度プロジェクトを閉じて、環境設定でレイアウトを適当に変更、再度プロジェクトを開いてみては?
411 :
402 :2010/09/03(金) 15:45:41 ID:/uqTWYlc0
>>410 他のレイアウトでは見れましたが、元に戻すと同じ状態でした。
が、ウィンドウ->デフォルト->出荷時のデフォルトに復元で戻せました。
助かりました、ありがとうございます。
412 :
名称未設定 :2010/09/03(金) 15:50:20 ID:zxV8DAZ10
お役にたてずごめんなさい。
413 :
名称未設定 :2010/09/03(金) 17:18:59 ID:vOD9G0/a0
>>408 使い回しですか。メモリ節約のためですかね。
それって、253さんの話ともつながってきそうですね。
ん?
謎が全て解けた!
つまり、あらかじめ中身をちゃんと教えてくれていれば使い回しができるんで、
そういう風に宣言してくれればフレームワークがちゃんと面倒みましょう、
あんたはメモリのことなんか気にしなくていよっていう。
早期予約特典みたいな。
そう考えるとIBで作ったオブジェクトも、あとで変更される可能性がないから、
これもフレームワークがなんとかしちゃうよってことですね。
じっちゃんの名にかけて!
414 :
名称未設定 :2010/09/03(金) 17:47:33 ID:zxV8DAZ10
@"abc"がreleaseにもretainにも反応しないのは、解放しても意味ないから。 (これらはコード部分=定数領域にメモリが取られるため、解放できない。 通常のallocはヒープ部分にメモリ確保するため、解放すればほかで再利用できる) ちなみにIBで作ったオブジェクトはヒープ部分に「ロード」されるんでちゃんと解放できる。 ま、いいや。
415 :
名称未設定 :2010/09/03(金) 18:11:11 ID:/FFb3emm0
iPhoneアプリ恐ろしいなw
416 :
名称未設定 :2010/09/03(金) 19:30:47 ID:C+eLR8Ea0
そっかー横レスだが、ようやく理解できた。 どうりで俺が作ったアプリはよく落ちるわけだw
417 :
名称未設定 :2010/09/03(金) 20:45:44 ID:sQyGZELC0
iphoneアプリで3dシュミレーションRPGを実現するために以下の変換で苦戦しています。 ・World座標をScreen座標に変換 キャラが重なりあってしまうので、Z深度によって、奥のキャラから描画させるため ・Screen座標をWorld座標に変換 画面をタッチし、タッチした場所(3d空間のマス)を取得するため 実際に実装するにあたってOpenGL ESで、参考になるサイト、サンプルをお教え頂きたいです。 よろしくお願いします。
418 :
名称未設定 :2010/09/03(金) 21:06:44 ID:vOD9G0/a0
>>414 そうなのかー
メモリにもいろいろあるんですねえ。
難しいわあ。
IBで作ったオブジェクトも解放できるんですか。
そういうサンプル見たことないですね。
419 :
名称未設定 :2010/09/03(金) 22:02:56 ID:t1zphR6o0
UIAccessibilityPostNotification(UIAccessibilityLayoutChangedNotification, nil) これはなにをするメソッドなのでしょうか? わかる人いたら教えていただけませんか? ネットを調べても全然なくて…
420 :
名称未設定 :2010/09/03(金) 23:00:14 ID:C+eLR8Ea0
読んで字のごとし
421 :
名称未設定 :2010/09/04(土) 01:21:41 ID:EHH3gJt20
あれー?! iPhoneでちょうどよく配置された画像(ボタン)が、iPadではそれぞれ微妙に大きく なってて、ぎゅうぎゅう詰めだ。 ボタン以外のレイアウトは崩れてなくて、ボタンだけおかしい。 画像を貼る前のボタンではこんなことにならなかったのに。 これってよくある話?
422 :
名称未設定 :2010/09/04(土) 15:36:47 ID:7kPR6T8+0
iPhoneやiPodって例えばNSMutableArrayとかで格納したObjectの情報を 外部にテキストとかで出力する方法ってないんですか?
423 :
名称未設定 :2010/09/04(土) 15:40:23 ID:xxxn0/lV0
クラスを引数として渡すときって メソッド名:[クラス名 class]; って感じでOK?
424 :
名称未設定 :2010/09/04(土) 15:45:13 ID:RIUGVgXh0
おk
425 :
名称未設定 :2010/09/04(土) 16:03:55 ID:ldP+nf6a0
426 :
名称未設定 :2010/09/04(土) 16:22:47 ID:7kPR6T8+0
427 :
名称未設定 :2010/09/04(土) 16:47:36 ID:ldP+nf6a0
>>426 では外部に何らかのサーバープロセスを起動しておいて、それと通信してください
サーバープロセスはあり物でも自作でもかまいません
428 :
名称未設定 :2010/09/04(土) 16:51:25 ID:7kPR6T8+0
>>427 やっぱりネット経由しないと無理なんですか?
429 :
名称未設定 :2010/09/04(土) 17:00:03 ID:+QX5igTr0
UIFileSharingEnableでググるといいよ。 iOS4からの新機能。
430 :
名称未設定 :2010/09/04(土) 17:01:18 ID:+QX5igTr0
431 :
名称未設定 :2010/09/04(土) 17:26:37 ID:ldP+nf6a0
iTunesを介す必要があるから自由度はほとんどないけどね デバイス内の自分の為の領域の決まった所に保存しておくと次回同期時に母艦にコピーされる また、iTunes上でファイルを追加しておけばそのファイルがデバイスに同期される 母艦のどこに保存されるかはiTunes任せで、 いつものようにいきなり別のフォルダに移動されたりしても泣いてはいけない >428 ネット経由って言ってもWiFi経由でボンジュールとかでもいいよ
432 :
名称未設定 :2010/09/04(土) 17:57:54 ID:t+hmFCG8P
433 :
名称未設定 :2010/09/04(土) 18:16:30 ID:7kPR6T8+0
英語がんばって解読いたしますー
434 :
名称未設定 :2010/09/04(土) 18:20:18 ID:7kPR6T8+0
iphoneでメールに何かを添付させることってできるんですか?
435 :
名称未設定 :2010/09/04(土) 18:28:03 ID:zKOHvLbw0
MFMailComposeViewControllerに、addAttachmentData:mimeType:fileName: みたいなメソッドがある。
436 :
名称未設定 :2010/09/04(土) 21:07:14 ID:+QX5igTr0
>>431 え? アプリのDocmentsDirectoryに直接アクセスできますよ。
437 :
名称未設定 :2010/09/04(土) 22:58:42 ID:VISirPht0
大辞林みたいなテキストの縦書きの実現ってどうやっているの? Cocoaではやっぱり自分で1文字ずつ位置とか指定してがんばるしかないのだろうか。
438 :
名称未設定 :2010/09/04(土) 23:47:19 ID:wRPIapZ20
デベロッパの方に質問。 「Appを贈る」ってできますか? なぜか「クレジットカードが使えません」と出て処理が完了できないのです。 ふつうの購入などはできているのでカードには問題ないですし Appleのサポートに問い合わせて登録情報などもすべて確認しました。 ためしに新たにカードを作って再登録したり、違うAppleIDから同じカードで チャレンジしたりしましたが、ふつうの購入はできるのに 「Appを贈る」だけできないので、デベロッパーのアクティベーションに 使用したカードは使えないのではないか、と思ったのですが。 どうでしょうか。
439 :
名称未設定 :2010/09/04(土) 23:52:24 ID:EHH3gJt20
文字をじわっと表示(ディゾルブイン)させたいのですが、そういうメソッドないでしょうか。
440 :
名称未設定 :2010/09/05(日) 00:04:09 ID:OzmptyBj0
アプリを登録しようと久しぶりにiTunesConnectで設定をおこなったのですが なんか以前の画面と違ってて、バイナリのアップをどこでやるか分かりません。 以前は画像のアップ画面と同じ場所にバイナリのアップ画面があったような気がするのですが 今はどのメニューからアップすればいいのでしょうか? よろしくお願いします。
441 :
名称未設定 :2010/09/05(日) 00:21:38 ID:OzmptyBj0
>440 自己レスです。解決しました。 Application Loaderってのを使うようになったんですね。
442 :
名称未設定 :2010/09/05(日) 01:57:02 ID:ZVxXSU180
443 :
名称未設定 :2010/09/05(日) 02:02:01 ID:fa6JSNWr0
>>442 そうですか。
検証ありがとうございます。
うーん。
どこでひっかかってるのか。。
444 :
名称未設定 :2010/09/05(日) 08:40:09 ID:X/vKPvoP0
使ったことないけど自分のappは贈れない、とか。 自分のappのプロモーションコードってまだ日本のストアで使えないの?
445 :
名称未設定 :2010/09/05(日) 08:48:44 ID:X/vKPvoP0
よく考えたら、appを贈るという機能、appstoreの不正防止上無効化したほうがいいかも。 1)不正に入手したクレカ、あるいは安価でプロモーション購入したiTunesカードでアカウント作成 2)匿名アカウント多数作成(これは無料appをダウンロードすれば作成できる) 3)匿名アカウント多数に自分のappを贈る 4)売り上げでウハウハ なんてことが簡単にできてしまうわけで、appを贈られなければ1アカウントにつき1appの 損失で済むからなあ。(同じappは複数購入できない) ということは多分appleも考えていて、何らかの不正防止システムが作動してるのかも。
446 :
名称未設定 :2010/09/05(日) 08:55:28 ID:uekwvoWgP
なんという今さら感 そんなことみんなやってるよ てか贈る機能関係ないし
447 :
52 :2010/09/05(日) 09:36:21 ID:KF4XBLzN0
前スレでPageControlについて教えてもらった者です。 お約束通り、売り上げ報告にきました。 period 11 August 2010で、公開が第3周、期間は10日ほどです。 本数は40本弱でした。やはり、少ないです。 ちなみに、アプリ内に自社へのハイパーリンク貼ってあって、 Google Analyticsでアクセス数をみてたので、 本数はだいたい把握してましたから、ショックはあんまりありませんでした。 やっぱアプリって、よっぽどのことがないかぎり、 数作って稼ぐのがよさそうですね。
448 :
名称未設定 :2010/09/05(日) 09:38:43 ID:oyy+hnmU0
そういや、OSのアップデートにsimは必要なんだっけ。 使ってない3Gに4.1GMを入れたいんだけど、simがないと アクティできなかったりするんだろうか。 マイクロsim変換アダプタを買っといた方が良いかな。
449 :
名称未設定 :2010/09/05(日) 16:04:40 ID:JlMBI3bS0
>>447 数というより、1本のヒットの有る無しで全然違ってくる。
まあ簡単にヒット狙えれば苦労しないんだけども。
450 :
名称未設定 :2010/09/05(日) 16:37:55 ID:KF4XBLzN0
>>449 なかなか狙えないですよね。
本当に、ゴマンとある他のアプリに埋もれて、見つけてもらうことすら難しいし。
なんか、メディアで話題になるでもしないとダメかなぁ…と。
451 :
名称未設定 :2010/09/05(日) 16:44:55 ID:MqXBad8a0
いまはそんな感じだね。 ほとんどのカテゴリで既によく作り込まれているアプリはあるし、 余程のアプリでないと後出しジャンケン的にやってもほとんど上位には食い込めない。 昔だったらリリース直後数日は10位前後にまで行っていたアプリが多かったけれど、 今は新規リリースで登場しても、ずっと100位前後のアプリがゴロゴロしてる。
452 :
名称未設定 :2010/09/05(日) 16:51:38 ID:YPj7UcL30
値下げする。 値下げをチェックしてる人の目にとまる。 紹介してくれる。 ヒット。 完璧なプランだな。
453 :
名称未設定 :2010/09/05(日) 16:54:47 ID:jMY2Vrz90
最近星の総数が減ったんだけどpingの影響かな。実名出て慌てて消したとか。
454 :
名称未設定 :2010/09/05(日) 18:48:19 ID:dBtyQp9IP
>>451 100位もいけばいい方だと思う。今じゃ新規で出しても300も行かない思う。
>>452 余程の物を作らないと、只でも落としてくれないけどな。
455 :
名称未設定 :2010/09/05(日) 20:58:40 ID:9n+pOX5a0
スミマセン、質問です。 可変長引数がうまく取得出来ません。ソースは以下の感じです。 @classA - (void)methodA: (NSString *)name field: (id)field,... { NSString *fieldFormat = field; NSMutableArray *valueArray = [NSMutableArray array]; va_list args; va_start (args, field); id value; while (value = va_arg (args, id)) { <==ここ [valueArray addObject: value]; } va_end (args); : : } @classB - (void)methodB { [instanceA methodA:@"hoge" field:@"hage", 5, nil]; : : } ここの最初で value に nil が入って、while が終わってしまいます。 2個目がNSStringの場合もあるので数字に特化する訳にはいかず・・・。
456 :
名称未設定 :2010/09/05(日) 21:42:55 ID:fa6JSNWr0
>>444 そもそも贈ろうとしたのは自分のアプリではありませんでした。
自分のアプリでも試しましたが、結果は同じでしたが。
457 :
名称未設定 :2010/09/05(日) 23:31:29 ID:4naFKPfE0
458 :
名称未設定 :2010/09/05(日) 23:38:19 ID:ufGOEApC0
>>455 idで受けるんなら 5 は [NSNumber numberWithInt:5] みたいに渡すべきなんじゃね?
459 :
名称未設定 :2010/09/06(月) 06:44:43 ID:eOHn1ySz0
>>458 それはそれとして最初からnilは変じゃね?
classBでclassAの宣言@interface/-(void)methodA:.../@endは取り込んでるんだよね?
取り込んでないと可変長と見なされなくて変になると思う。
460 :
名称未設定 :2010/09/06(月) 15:28:07 ID:oN9v3A5m0
appstoreに登録するときの、support URLって 法人の場合は企業のURL設定しとけばいんですかね?
>>459 ひとつ目の@"hage"は、fieldに入るんじゃなかったっけ
va_argで取得できるのは、それ以降だったような
462 :
名称未設定 :2010/09/06(月) 16:00:26 ID:6saGGQJB0
アラートのOKを押すと違うビューに切り替わるようにしているのですが、 切り替わってから(表示されてから)実行するものはどこに書けばいいのでしょうか? viewdidloadに書くと、アラートの画面でしばらく止まってしまいます。
463 :
462 :2010/09/06(月) 16:20:54 ID:6saGGQJB0
書き忘れましたが、viewdidappearだそそれ自体が呼び出されていないようです
464 :
462 :2010/09/06(月) 16:42:53 ID:6saGGQJB0
事故解決しました。 presentModalViewController 使えばいいですね。
465 :
名称未設定 :2010/09/06(月) 17:18:52 ID:hT0S2hdS0
俺は、事故解決だけはしたくないな〜。
466 :
名称未設定 :2010/09/06(月) 18:41:35 ID:hEOxtwSS0
スクショ変更できる様になったと思ったのに全然反映されないわよ!
467 :
名称未設定 :2010/09/06(月) 19:39:19 ID:hEOxtwSS0
すんません誤爆です。
468 :
名称未設定 :2010/09/06(月) 21:06:42 ID:xPsh86gK0
469 :
名称未設定 :2010/09/06(月) 21:56:43 ID:FRhdcmf50
>>468 UIScrollViewかUIWebView。
470 :
名称未設定 :2010/09/06(月) 22:21:39 ID:fdWQdx4T0
UITableViewnのPlainスタイルで、各セクション数とセル数が 与えられる情報量によって自動で変化できるようにするには どのようなクラスを使えば実現できるのでしょうか?
471 :
名称未設定 :2010/09/06(月) 22:59:56 ID:804gAg7dP
>>470 UITableViewDataSourceプロトコル。
472 :
名称未設定 :2010/09/06(月) 23:41:28 ID:0UaIoOvRP
カードゲームアプリを制作しています。 対戦相手選択やデッキ構築はタブバーで移動して対戦するときはモーダルビューで対戦画面を開こうと思っているのですが、これはアップルの審査のリジェクト対象になりますか?
473 :
468 :2010/09/07(火) 00:02:55 ID:xPsh86gK0
>>469 ありがとうございます! 試してみます!
474 :
名称未設定 :2010/09/07(火) 00:22:37 ID:Yw9lgOga0
>>471 ありがとうございます。
しかしUITableViewDataSourceプロトコルを調べてみたのですが、
セルの追加は自分でタッチし、手動で行うように思えました…
これは文字情報を取得した場合、動的にセルが追加されていくのでしょうか?
475 :
名称未設定 :2010/09/07(火) 00:45:10 ID:aDbGCe5q0
自分が作ったアプリの順位って見ることはできるんですか?
476 :
455 :2010/09/07(火) 01:14:58 ID:+MtduOWH0
>>457 あぽの公式文書ですよね。ありがとうございます。
日本語のページもありましたので、載せておきますね。
http://developer.apple.com/jp/qa/qa2005/qa1405.html >>458 まさにビンゴ!呼び元で[NSNumber numberWithInt: 5]ってやったらうまく行きました。
ついでに呼び先ではこんな感じにしてみました。
NSString *fieldString = field;
va_list args;
va_start (args, field);
id value;
while (value = va_arg (args, id)) {
if ([value isKindOfClass: [NSNumber class]] == YES) {
if (strcmp([(NSNumber *)value objCType], @encode(int)) == 0) {
fieldString = [NSString stringWithFormat: fieldString, [(NSNumber *)value intValue]];
} else if (strcmp([(NSNumber *)value objCType], @encode(double)) == 0) {
fieldString = [NSString stringWithFormat: fieldString, [(NSNumber *)value doubleValue]];
}
} else if ([value isKindOfClass: [NSString class]] == YES) {
fieldString = [NSString stringWithFormat: fieldString, value];
}
}
va_end (args);
他にもBOOLとかfloatとかありそうだけど、とりあえず必要なのはこんくらいだったので・・・。
改行大杉とか・・・つづく・・・
477 :
455 :2010/09/07(火) 01:17:03 ID:+MtduOWH0
・・・つづき
>>459 @interfaceとかはちゃんとやってるつもり・・・です。
>>461 公式文書にもそう書いてありますね。
なので最初にNSString *fieldString = field;って入れてみました。
これでなんとか先に進むことが出来そうです。同じようなことを前にもやってるのに、可変長引数ってだけで
そこばっかり目がいってしまいますね。う〜ん、頭が柔軟じゃないんだろうなぁ・・・。
土日使って判らなかった問題が質問したらあっという間に判ってしまう。なんてすばらしいのだろう。
皆様ありがとうございました!
478 :
名称未設定 :2010/09/07(火) 02:01:04 ID:mNWd9Xyd0
479 :
名称未設定 :2010/09/07(火) 09:28:40 ID:oIGhDuGKi
スレチだけど、WebDesigningって月刊誌でサイトのiPhone最適化の特集やってますよ。 サポートサイトの参考に。 backgroundについて質問です。 viewを一つ用意してそのviewの.imageに数種類のUIImageを入れ替えて画面遷移のように見せています。 アプリ起動中にホームボタンを押しバックグラウンドにして復帰してから画面遷移すると、UIImageがdeallocされてるとlogが出て強制終了してしまいます。 お分かりになる方おられたら解決策かヒントをいただけないでしょうか。
480 :
名称未設定 :2010/09/07(火) 10:37:54 ID:HmeYiM0g0
すみません。NSURLConnectionでの質問です。
下記のコードでWEBページにPOSTをしているのですが、
"
http://example.com/hoge.php "を取得する際、レスポンスのヘッダーに「Location:
http://example.com/auau.php 」がいると、
"hoge.php"ではなく、"auau.php”を取得してしまいます。
どうにかLocationの転送をさせずにhoge.phpを取得する方法はないでしょうか?
phpのソースの編集は許されていませんので、iPhoneアプリの方で解決する必要があります。
以上、宜しくお願い致します。
NSMutableURLRequest *request = [NSMutableURLRequest
requestWithURL:[NSURL URLWithString:@"
http://example.com/hoge.php "]];
[request setHTTPMethod:@"POST"];
[request setHTTPBody:[@"hogehoge=auau" dataUsingEncoding:NSUTF8StringEncoding]];
NSURLResponse *response;
NSError *error = nil;
NSData *result = [NSURLConnection sendSynchronousRequest:requuest
returningResponse:&response error:&error];
481 :
名称未設定 :2010/09/07(火) 11:05:45 ID:SmBFKWXyP
>>480 デリケートに
connection:willSendRequest:redirectResponse:
メソッドを作って、cancel を呼ぶか nil を返せばいいっぽい。
482 :
名称未設定 :2010/09/07(火) 12:07:48 ID:yiR2bwA/0
サポートサイトはWordPressにiPhone用のプラグインを入れとけばおk
483 :
名称未設定 :2010/09/07(火) 15:39:00 ID:HmeYiM0g0
>>481 ありがddd
デリゲートつかってなかったのでまだ試せてないけど、
少しやってみます。
484 :
462 :2010/09/07(火) 18:48:35 ID:bi/Rykqg0
質問なのですが、日本のユーザー向けにアプリを制作しています。 アプリのUIの表示言語は日本語のみでもいいのでしょうか? 審査のときの説明文は日本語と英語のものが必要と聞いたのですが。
485 :
名称未設定 :2010/09/07(火) 18:57:18 ID:aDbGCe5q0
シミュレータでは音が鳴るのですが、初代Touch実機で動かすと音が鳴りません。 ヘッドフォンの接続も確認し、他の方が作ったアプリでは音が鳴ります。 AudioServicesCreateSystemSoundIDでcafファイルを鳴らしているのですが、何故だかわかる方おられますでしょうか?
486 :
名称未設定 :2010/09/07(火) 19:41:37 ID:WvFvOoKq0
Core Animation について質問です。 CATransaction lock メソッドはどの様な時に使用する必要があるのでしょうか? マルチスレッドで同じCALayerインスタンスの値を変更する時には、必ずロックするものでしょうか?
487 :
485 :2010/09/07(火) 20:34:25 ID:aDbGCe5q0
自己解決しました。
488 :
名称未設定 :2010/09/07(火) 22:40:38 ID:yiR2bwA/0
まさか初代Touchだけで検証しているわけじゃあるまいな
489 :
名称未設定 :2010/09/07(火) 23:07:54 ID:oQfuYLKe0
質問です。 popoverViewControllerを使用しています。 ポップオーバーにナビゲーションを付けて のちに別のViewをPushするのですが、 このときポップオーバービューの大きさが勝手に変わってしまいます。 毎度、以下のようなことを書いているのですが、効きません。 popover.popoverContentSize = CGSizeMake(380.0f, 500.0f); なにかご存知の方いらっしゃいますでしょうか? よろしくお願いいたします。
490 :
名称未設定 :2010/09/08(水) 00:28:25 ID:Hxdi9moa0
アプリ開発ってc言語とかわからなきゃだめなんだよね?
491 :
名称未設定 :2010/09/08(水) 00:54:11 ID:TXlZ1fIf0
うん
492 :
名称未設定 :2010/09/08(水) 01:52:37 ID:C5tseCiM0
>>462 日本語だけでもOK
USのAppStoreでも売るなら英語+日本語ローカライズが親切だと思うけど
審査にはそこまで関係ないと思う。
でも通信アラートみたいなものは英語表記も必要?
とりあえず国内の販売だけなら問題ないんじゃ?
493 :
名称未設定 :2010/09/08(水) 01:58:57 ID:aYWA0asE0
494 :
名称未設定 :2010/09/08(水) 02:00:32 ID:C5tseCiM0
scrollViewDidEndZoomingの中で、scaleの値を見て画像を切り替えようと思うのですが、 切り替え後にsetZoomScaleでスケールを違うものに設定しなおしたいのですが、 設定してもその通りに反映されません。 scrollViewDidEndZoomingの中だと単純にsetZoomScaleしただけではスケールを設定できない? よくわかりません…。 何かうまい方法はないでしょうか。
495 :
名称未設定 :2010/09/08(水) 09:37:30 ID:6L7UJ7M+0
>>492 便乗質問なんだが、通信アラートってたとえば「受信ポート開いて待ち受け」みたいな場合でも必要?
(待ち受けするけど通信自体はぜんぶはじく)
いや、待ち受け自体をON/OFFをプログラム中から動的にするの面倒だから、上記で許して欲しいんだけど。
496 :
名称未設定 :2010/09/08(水) 10:48:57 ID:86qmp7vx0
UITableViewでセルの背景に画像を使うことってできますか? もしくはUITableViewの背景を透明にして、 その下にimageviewを置いて画像を表示させるなんてことはできますでしょうか。
497 :
名称未設定 :2010/09/08(水) 11:01:09 ID:5ATRZXZWP
>>496 なんで聞く前にやってみようとは思わないの?
498 :
名称未設定 :2010/09/08(水) 11:11:23 ID:QxJ9dsDB0
帰ってくる答えは「やってできなかったら時間が無駄だから」、かな?
499 :
名称未設定 :2010/09/08(水) 11:13:51 ID:uK65rReL0
とりあえず聞いてみて安心したいだけだろ。落胆かもしれないけど。
500 :
名称未設定 :2010/09/08(水) 11:50:51 ID:khH7Wyav0
>>496 お仕着せのセルじゃなくてカスタムセルなら何だって出来る
501 :
496 :2010/09/08(水) 12:04:19 ID:86qmp7vx0
気分を害してしまってすみませんでした。 UITableViewへ画像表示は、 下にimgaeviewを貼って、 tableviewのbackgroundColor=[UIColor clearColor]; で背景を透明に あと、styleをplainにしておけば良いようです。 お騒がせしました。
502 :
名称未設定 :2010/09/08(水) 12:10:58 ID:6L7UJ7M+0
backgoundColor=[UIColor colorWithPatternImage:[UIImage imageNamed:@"はいけー"]]; カラーといいつつパターンが使えたりするのが恐ろしいところ。
503 :
496 :2010/09/08(水) 12:39:50 ID:86qmp7vx0
>>502 この方法だと、1個1個のセルに貼り付くんですね。
今回は全体的な背景として使用したいので、imageviewを使う方法にしようとおもいます。
ありがとうございました。
504 :
名称未設定 :2010/09/08(水) 13:11:16 ID:Vx/2kA+Q0
回答率が下がったよな。 回答者に説教する奴がいたから当然と言えば当然だけど。
505 :
489 :2010/09/08(水) 14:07:40 ID:+LOg3QTB0
>>489 です。
自己解決しましたので、ご報告いたします。
ポップオーバー内のナビゲーションコントローラでビューを入れ替えた場合、
ポップオーバービューの大きさが勝手に変更してしまうということについてです。
contentSizeForViewInPopoverを使用しました。
(iPadプログラミングガイドにそれらしき記述がありました。勉強不足ですいません・・・)
最初、
navigationController.contentSizeForViewInPopover = CGSizeMake(380.0f, 500.0f);
としていたのですが、こうではなく、
ナビゲーションに入れるビューに設定しなくてはいけなかったようです。
すなわち、
hogeViewController.contentSizeForViewInPopover = CGSizeMake(380.0f, 500.0f);
[navigationController pushViewController:hogeViewController animated:YES];
お騒がせいたしました。
なにか間違っているところなどございましたら、ご指摘ください。
ありがとうございました。
506 :
名称未設定 :2010/09/08(水) 14:10:05 ID:Ax2nR3e90
それはそれでいいと思う。>回答が減る。 人に聞いてる間は成長しないからな。 自分で考えて、試行錯誤することが大事。 そこで積み重ねた事が後々生きてくる。 今の世の中、何事も結果だけを求め過ぎ。 もう少し心に余裕を持たないといい仕事はできないと思う。
507 :
名称未設定 :2010/09/08(水) 14:19:23 ID:hrau6V2c0
いろいろやって調べてみて、で、こうやっても駄目でした どこが悪いのか教えてください ならまだしも、いきなり試しても無いのにできますー?おしえてではなあ
508 :
名称未設定 :2010/09/08(水) 14:20:31 ID:XZcMhI/k0
このスレの存在意義を全否定してるな おまえさん何しにこのスレ見に来てんだw
509 :
名称未設定 :2010/09/08(水) 14:24:56 ID:XZcMhI/k0
ああ、508は ID:Ax2nR3e90 宛ね
>>507 には半分同意。
初心者って何をどう質問していいかも分からなかったりして
めちゃくちゃな訊ね方するもんだから割り引いて考えてる
510 :
名称未設定 :2010/09/08(水) 14:29:43 ID:uK65rReL0
いちいち突っかからないで、気に入らない質問はスルーすればいいだけじゃないの。
511 :
名称未設定 :2010/09/08(水) 14:39:52 ID:vrEeXjbY0
今どきの子はそんなもんだよ。 部下「○○(俺)先輩、教えて」 俺「教えてだけじゃ、何を教えれば良いのかわからん。 何がわからんのかを言え」 部下が俺の上司に「私はわからないと言っているのに、 ○○先輩は何も教えてくれません。」 上司が俺に「わからないと言っているんだからちゃんと教えろ!」
512 :
名称未設定 :2010/09/08(水) 14:51:09 ID:3bSKh1hf0
人工知能におけるフレーム問題みたいなものか
513 :
名称未設定 :2010/09/08(水) 15:59:42 ID:OIk0ncVe0
>>511 今どきつうか、やっと最近になって、君が人に教えられることが出てきただけだろ
今も昔もわからんやつは何がわからんのかわからん
514 :
名称未設定 :2010/09/08(水) 16:05:02 ID:Ax2nR3e90
>>509 全否定はしてないよ。と思ってるが…
このスレには色んな初心者がいると思う。
例えばプログラミングの初心者
例えばObjective-Cの初心者
例えばiPhoneアプリ開発の初心者
でも、勉強の初心者や質問の初心者なんていない。
リアル子供も混じってるかもしれんが、どうやって大人になったのか素直に心配。
515 :
名称未設定 :2010/09/08(水) 16:06:06 ID:Ax2nR3e90
赤の他人だし、心配してもしょうがないけどね。
516 :
名称未設定 :2010/09/08(水) 16:11:57 ID:6L7UJ7M+0
この前のスレあたりから夏休み→夏厨が増える、と思ったので、 どんな質問でもわかるのは、なるべくすぐに回答するようにしてました。 もう夏も終わったんで適当にしてます。
517 :
名称未設定 :2010/09/08(水) 16:24:15 ID:vrEeXjbY0
>>513 何がわからんのかがわからんのではなく、
質問の仕方がわかってないだけとも言えるんだがな。
518 :
名称未設定 :2010/09/08(水) 16:30:38 ID:KvzU1xpV0
おっさんになると偉そうになるのは仕方ないのです 気付けばみんなそうなのです
519 :
名称未設定 :2010/09/08(水) 16:38:24 ID:CSYfBtBpi
520 :
名称未設定 :2010/09/08(水) 16:42:05 ID:uls3yFN40
おっさんらは教えてやってるという態度だから困る。 教える側も教わる側もフィフティフィフティの関係なんだから、 教える側が何が分かってないのかを引き出してあげるくらいの余裕が欲しい。
521 :
名称未設定 :2010/09/08(水) 16:49:23 ID:51Tho2i+0
>>520 「〜して欲しい」じゃフィフティー・フィフティーにはならない。質問する側もちゃんと内容を整理して、質問すべき。自分の中でまとまってない物が人に伝わる事は少ない。
って書くとまたおっさんが偉そうに説教たれてるって書かれるんだろうな。
522 :
名称未設定 :2010/09/08(水) 16:51:54 ID:4p/0TnUR0
このスレはかなり親切な部類に入ると思います。
523 :
名称未設定 :2010/09/08(水) 16:55:58 ID:hrau6V2c0
>>522 だよね
他の板だともっと荒れまくってると思うよ
とりあえず、人間が「自分が何がわからないのか」と言う事を理解するにはそれなりのスキルが必要なわけで
まずそれを学習してある程度力を付けてから手を出してくださいとか言いようが無いよね
本人が言葉に出来ない事を理解できる他人はいないんだから
524 :
名称未設定 :2010/09/08(水) 17:08:36 ID:khH7Wyav0
525 :
名称未設定 :2010/09/08(水) 17:12:35 ID:uK65rReL0
エスパーしたい気分の時もあるわけだし、とりあえず聞いてみる分にはいいと思うけどね。 スルーされてぶち切れたりするのは嫌だけどw
526 :
名称未設定 :2010/09/08(水) 18:21:28 ID:oWThL0WX0
UISearchBarの背景色はどうやったら設定できるのでしょうか? NavigationBarに表示させて、NavigationBarの背景色を変更しているのですが、 iPadではちゃんと表示されるのにiPhoneではデフォルトの背景色になっています。 よろしくお願いします。
527 :
名称未設定 :2010/09/08(水) 18:35:47 ID:oWThL0WX0
>>526 自己解決しました。tintColorプロパティで設定できました。
お騒がせしました。
528 :
名称未設定 :2010/09/08(水) 19:25:21 ID:4m6L0SFOi
支出管理みたいの作ろうとすると、CoreDataのほうが良いのかな。 sqlのほうが慣れてる分作りやすそうだけど、大量のデータを扱うとすると CoreDataのほうが有利だったりします?
529 :
名称未設定 :2010/09/08(水) 20:22:44 ID:ZQAcMYv6P
>>528 core dataは使ったことないけど、sqliteに皮をかぶせてるので、生のsqliteの方が効率はいいのでは?
530 :
名称未設定 :2010/09/08(水) 21:17:25 ID:6pPPZ0t3i
531 :
名称未設定 :2010/09/08(水) 22:10:37 ID:6L7UJ7M+0
結局sqlite直接使うほうが開発効率よかったりする罠。 テーブルの作成だけはCoreDataのほうが簡単(といってもcreate文投げるだけなんであんまり変わらないか)
532 :
名称未設定 :2010/09/08(水) 23:38:10 ID:nBAAT3JPi
>>524 ありがとうございます。
retainしたらいいんでしょうか。色々試してるんですけど。
もうちょっと試してみます。
533 :
528 :2010/09/09(木) 01:42:16 ID:fZu3zNioi
ありがとうございます。 やっぱり、sqlで考えてみます。イメージしやすい方が良さそうですしね。
534 :
名称未設定 :2010/09/09(木) 10:37:44 ID:n+xoVUXJ0
初歩的ですみません 複数のボタンに任意のID番号をふって、一つのメソッド内でそのID番号を元に処理を振り分け ようと思ってますが、任意にID番号をつける方法がわかりません。 ObjectIDというパラメーターはあるようですが、任意の番号はふれないみたいですし、 NameをID代わりにしようかと思ってますが、もっと簡単にID番号ふれる方法があれば 教えていただきたいです。 よろしくお願いします。
535 :
名称未設定 :2010/09/09(木) 10:40:51 ID:LtcTsbW20
tag。
536 :
名称未設定 :2010/09/09(木) 10:43:16 ID:lEF5YO720
FTPクライアント機能をもったコミックビューワ作ろうと思ってるんだけど FTP機能の作り込みに参考になるところとかありませんかね? ぐぐってみたけど何を使ったらいいのかとっかかりすらわからない・・・
537 :
名称未設定 :2010/09/09(木) 10:44:48 ID:LtcTsbW20
538 :
名称未設定 :2010/09/09(木) 13:22:40 ID:KcWQDo9uP
他人にわかる様に質問できるぐらい整理が付いたなら、 自己解決したも同然だ。という矛盾。
539 :
名称未設定 :2010/09/09(木) 14:18:17 ID:lEF5YO720
540 :
名称未設定 :2010/09/09(木) 14:27:23 ID:2a7vM0uR0
先日初アプリを公開できて喜んでいたのですが、 admobの広告表示率が10%代とすごく低いような気がするのです。 公開当初は80%ぐらいはあったんですけども、これはadmobから嫌われちゃってますか?
541 :
名称未設定 :2010/09/09(木) 15:28:29 ID:4JfEoVgp0
それは少ないね。依頼数自体少なくて誤差の範囲ということは?
542 :
名称未設定 :2010/09/09(木) 15:38:59 ID:2a7vM0uR0
>>541 今日は依頼数は約1000でインプレッションが200弱です。
広告の出し方を変えてみようかなぁ。
543 :
名称未設定 :2010/09/09(木) 17:53:51 ID:+kwfsdXs0
(有)トライフィート
ttp://www.trifeet.co.jp ぶっとびましたね。
うち債権者なので、破産処理通知が届きましたよ。
数百万の負債抱えたままです・・・
ITOSで検索かければわかりますが、大阪にバックの会社がいるので
計画的にうまく整理した可能性が高いですが・・・
544 :
名称未設定 :2010/09/09(木) 18:28:58 ID:nhWItjWD0
BB2CのBBSMENUの左上にある「i」のボタンはどこで選べますか?
545 :
名称未設定 :2010/09/09(木) 19:51:43 ID:8FoCyc+c0
UIButtonのリファレンス読む。 それ使ってるサンプルはいくらでもあるから、 IB使ってるならコピってくることもできるよ。
546 :
名称未設定 :2010/09/09(木) 20:06:37 ID:4JfEoVgp0
>>542 変ですね。僕のアプリは99%くらいを維持してます。
何が違うのかは見当つかないです。僕もadmob使って初めてのアプリなので…。
547 :
名称未設定 :2010/09/09(木) 20:36:21 ID:LpbLmFyu0
coreDataを使用したときに作られる、 sqliteファイルの中身ってどうやったら見られますか? 普通にいつも使っているテキストエディタとかでは開けなくて・・・。 ご存知の方いらっしゃいましたらお願いいたします。
548 :
名称未設定 :2010/09/09(木) 20:42:11 ID:OH4tVEjWP
ゆとり…
549 :
名称未設定 :2010/09/09(木) 20:49:03 ID:EfBCqhLAP
>>547 sqlite3コマンド。出来上がるまでXMLにしとけば?
550 :
名称未設定 :2010/09/09(木) 21:50:21 ID:LpbLmFyu0
>>549 sqlite形式ではなくXMLでも保存できるのですか!?
551 :
名称未設定 :2010/09/09(木) 22:13:40 ID:EfBCqhLAP
552 :
名称未設定 :2010/09/09(木) 23:27:17 ID:f9xJkwWf0
なぜに、UIScrollViewにタッチイベントを持たせるのが こんなにややこしいんだろう。。。
553 :
名称未設定 :2010/09/10(金) 00:47:20 ID:9Inhzlc50
554 :
名称未設定 :2010/09/10(金) 01:43:38 ID:01/T5gzP0
>>553 Win機で開発可はありえないだろ。。。
555 :
名称未設定 :2010/09/10(金) 03:15:17 ID:HOv27oh50
xcode3.2.3にアップデートしてlibxml2のライブラリをiOS4用?のものにしてから connectionはハレてるようですが、そこから何も返ってこなくなってしまいました。 何か心当たりある方いますか? それ以前は何の問題もなく動いていたのですが。
556 :
名称未設定 :2010/09/10(金) 06:45:15 ID:4Ogn/VpI0
>>552 gesturerecognizerでタッチイベントを拾えるようになってからUIViewのサブクラス化が激減した。
557 :
名称未設定 :2010/09/10(金) 07:26:30 ID:SP0qe+6l0
http://konton.ninpou.jp/program/cocoa/userinterface/UITableView/UITableView1.htmlのセルが選択された時の動作を決定するをみて 以下のコードをかきました。4行目にerror:request for member 'title' in something not a structure or unionとエラーが出てしまいました。
5行も warning:passing argument 1 of 'pushViewController:animated:'from distinct Objective-C typeとなって警告がでました。
セルを選択したときに転移するプログラムを書きたいので教えてください
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
[tableView deselectRowAtIndexPath:indexPath animated:YES]; // 選択状態の解除をします。
AnotherViewController *anotherViewController = [[AnotherViewController alloc] initWithNibName:@"AnotherView" bundle:nil];
anotherViewController.title = @"下の階層です";
[self.navigationController pushViewController:anotherViewController animated:YES];
[anotherViewController release];
}
558 :
名称未設定 :2010/09/10(金) 08:30:15 ID:b+kmPLdY0
iOS/xcodeのバージョンを上げる度に、プロビジョン?の設定を更新しないとうまくいかんorz
559 :
名称未設定 :2010/09/10(金) 09:20:46 ID:4Ogn/VpI0
>>557 anotherViewControllerにtitleというプロパティがないから。
anotherViewControllerがどう作られてるのか他の人にはわからんのでコメントのしようもない。
560 :
名称未設定 :2010/09/10(金) 09:43:32 ID:+e6uh6IeP
___ / \ このスレにいる諸君にひとつ言っておく! / \ , , /\ / (●) (●) \ 数日で拙速にでっち上げられたようなアプリ、 | (__人__) | 初心者が単に友だちを感心させる \ ` ⌒ ´ ,/ ために作ったようなアプリは . /⌒〜" ̄, ̄ ̄〆⌒,ニつ 承認されないことを覚悟してもらいたい! | ,___゙___、rヾイソ⊃ | `l ̄ . | |
561 :
名称未設定 :2010/09/10(金) 09:45:38 ID:A5h/icN80
Ad-Hoc配布したらよろし
562 :
名称未設定 :2010/09/10(金) 10:11:51 ID:+e6uh6IeP
___ / \ / \ , , /\ / (●) (●) \ | (__人__) | われわれはこれ以上 \ ` ⌒ ´ ,/ オナラの音を出すアプリを必要としていない! . /⌒〜" ̄, ̄ ̄〆⌒,ニつ 分かったな! | ,___゙___、rヾイソ⊃ | `l ̄ . | |
563 :
名称未設定 :2010/09/10(金) 10:12:24 ID:4Ogn/VpI0
564 :
名称未設定 :2010/09/10(金) 10:14:13 ID:SP0qe+6l0
>>559 そうですか、anotherViewControllerの詳細がわからないんから、できないんですね
anotherViewControllerをAnotherViewController.mにつくればいいんでしょうか
ありがとうございます
565 :
名称未設定 :2010/09/10(金) 10:35:44 ID:0y5e0/Ay0
規約の内容全然わからんけど激しく同意してきた
566 :
名称未設定 :2010/09/10(金) 10:36:41 ID:SP0qe+6l0
559 AnotherControllerView.mの中をみたら、インターフェイスがUITableViewCellになっていたので、UITableViewControllerに作り直したらできました。 ありがとうございます
567 :
名称未設定 :2010/09/10(金) 10:50:02 ID:Mql4sdS+0
Objective-Cで開発するのが嫌で嫌で、慣れ親しんできたC#で開発しようとmono touchに手を出そうと思っているのですが、 ろくにObjective-Cでのアプリ開発をしていない人間がmonoで開発を始めちゃっても大丈夫なのでしょうか。 使えないAPIがある、リファレンスが少ない、Objective-Cよりも実行速度が遅いなどのデメリットはあるのでしょうか。 実際にmono touchで開発されている方、ご感想をいただけないでしょうか。 よろしくお願いします。
568 :
名称未設定 :2010/09/10(金) 10:58:04 ID:SP0qe+6l0
http://konton.ninpou.jp/program/cocoa/userinterface/UITableView/UITableView2.html で書いてあるのをやろうとしてコードを入力しました。
実行はできて、セルの削除と入力はできました。
しかし、編集してセルの追加ボタンを押すとシミュレーターが固まってしまい。
XCodeの下部にGDB:Stpped at breakpoint 1 (hit count : 1) - '-addRow: - Line 122'が出て- (void)addRow:(id)sender {
NSIndexPath *indexPath = [NSIndexPath indexPathForRow:stringArray.count inSection:0];
NSArray *indexPaths = [NSArray arrayWithObjects:indexPath,nil];
[stringArray addObject:[NSString stringWithFormat:@"追加された行その%d",addCount]];
addCount++; // 次に使うとき用にaddCountに1足しています。
[myTableView insertRowsAtIndexPaths:indexPaths withRowAnimation:UITableViewRowAnimationTop];
}
の三行目が青くなって左に→がでていました。なにが悪いのかわからないので、教えてください。
お願いします
569 :
名称未設定 :2010/09/10(金) 11:05:26 ID:4Ogn/VpI0
>>568 青いのは
>>568 さんが自分で追加したもの。「そこで止まれ」という指示。ブレークポイントという。
消したい場合は青いのをマウスでドラッグしてどっかに捨てろ。
あと、少しは英語勉強してからおいで。
570 :
名称未設定 :2010/09/10(金) 11:09:53 ID:4Ogn/VpI0
>>567 VB.netに慣れ親しんでるからmonoも興味あるんだよなー。
今度規約改定になってXCodeでなくてもよくなりそうなんでmonoとかrubyとか選べるようになるといいな。
571 :
名称未設定 :2010/09/10(金) 11:11:57 ID:SP0qe+6l0
- (void)addRow:(id)sender { NSIndexPath *indexPath = [NSIndexPath indexPathForRow:stringArray.count inSection:0]; NSArray *indexPaths = [NSArray arrayWithObjects:indexPath,nil]; [stringArray addObject:[NSString stringWithFormat:@"追加された行その%d",addCount]]; addCount++; // 次に使うとき用にaddCountに1足しています。 [myTableView insertRowsAtIndexPaths:indexPaths withRowAnimation:UITableViewRowAnimationTop]; } の3行目です、すみません。追加で ブレークポイントをはずしたら、3行目まで実行できるようにしたらました。 元からある行その〜 で追加されました。追加された行その〜 で追加されませんでした。 どうやってブレークポイントのが消えていました。
572 :
名称未設定 :2010/09/10(金) 11:12:41 ID:VpcwK+m70
英語うんぬんというより、プログラミング自体の初心者が勉強に使うような環境ではないと思うけどね。 リッチとはいえ組み込みだし。
573 :
568 :2010/09/10(金) 11:20:37 ID:SP0qe+6l0
569>>さんわかりましたありがとうございます
574 :
名称未設定 :2010/09/10(金) 11:35:01 ID:4Ogn/VpI0
>>571 ごめ、少しは日本語勉強してからおいで。
575 :
名称未設定 :2010/09/10(金) 14:09:49 ID:JgaoLxuc0
スクロールビューとかテーブルビューの上にaddしたsubviewは、 スクロールによって位置が変わらないようにしたいのです。 (UItableviewにActivityindicatorを載せたいけど、indicatorが 回っている間もテーブル部分だけスクロールさせたい。indicatorの場所はそのままで) が、いろいろ調べても方法がありません。 普通にtableviewにindicatorをaddsubviewすると、indicatorも 一緒にスクロールされてしまいます。 windowにindicatorをaddにして、それをbringToTopしてみたけど、 それだと、テーブルビューの上に来ない。 どうすればできるのでしょうか。
576 :
名称未設定 :2010/09/10(金) 14:27:31 ID:YwG0qhQI0
>>571 はパクリアプリばかり作ってる中華デベロッパーだろw
577 :
名称未設定 :2010/09/10(金) 14:34:11 ID:4Ogn/VpI0
>>575 >windowにindicatorをaddにして、それをbringToTopしてみたけど、
こちらね。ただwindowのsubviewは1つだけが望ましいんで、
window→ダミーUIView→UIScrollViewとindicator
みたいな感じで。addsubviewだけじゃなくって insertSubView:atIndex:0とかも使うと重なり関係が簡単。
578 :
名称未設定 :2010/09/10(金) 15:10:54 ID:r5l6uToP0
UISearchBar の背景色を透明にするにはどうしたらよいのでしょうか? すみませんがよろしくお願いします。
579 :
名称未設定 :2010/09/10(金) 15:12:26 ID:JgaoLxuc0
580 :
名称未設定 :2010/09/10(金) 16:04:34 ID:4Ogn/VpI0
581 :
名称未設定 :2010/09/10(金) 18:39:13 ID:bK9rE0pJ0
リジェクトの基準が公開されましたが、 これの邦訳ってどこかしているサイトありますか?
582 :
名称未設定 :2010/09/10(金) 19:02:11 ID:vRZIUzWV0
すみません。最近開発を始めた初心者です。 先日まで動いていたプログラムが突然下記のエラーでビルドできなくなったのですが、原因がわからず書き込みました。 ソースコードは書き換えておりません。 インターネットからダウンロードしたサンプルソースを別のフォルダに保存しXcodeでビルドした後、自分のプロジェクトをビルドすると、このようなエラーを吐くようになりました。 ダウンロードしたサンプルは通常通りビルドできるのですが、自分が作成したプロジェクトと同じ場所に新規プロジェクトを作成し、何も追加せずビルドしても同じエラー文でビルドできません。 どこを変更すれば直るのでしょうか?ご教授よろしくおねがいします。 file not found: /***/Xcode/プロジェクト名/build/プロジェクト名.build/Debug-iphonesimulator/プロジェクト名.build/Objects-normal/i386/main.o /***/Xcode/プロジェクト名/build/プロジェクト名.build/Debug-iphonesimulator/プロジェクト名.build/Objects-normal/i386/プロジェクト名AppDelegate.o Command/Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin/gcc-4.2 failed with exit code 1
583 :
名称未設定 :2010/09/10(金) 20:36:18 ID:POj+zKpH0
584 :
名称未設定 :2010/09/10(金) 21:04:58 ID:YwG0qhQI0
> 3.10: 偽のレビューや、有料のレビューによりAppStoreのランキングを操作する等、 > 不適切な行為を行った場合には、開発者登録を抹消される。 www
585 :
名称未設定 :2010/09/10(金) 21:22:18 ID:4Ogn/VpI0
あれ?なんか非常に緩いなあ。 緩くした場合は現れにくい(きつくすると引っかかって周知されるけど、緩くしても通った人にしかわからない) からか。
586 :
名称未設定 :2010/09/10(金) 21:28:09 ID:RFWiXAJg0
>>556 >gesturerecognizer
えっ?こつこつサブクラス化してた。。。
ありがたい情報ありがとうです。
587 :
名称未設定 :2010/09/10(金) 23:18:37 ID:JgaoLxuc0
>>577 >>window→ダミーUIView→UIScrollViewとindicator
テーブルビューにindicatorを乗っけたいのです。
UItableViewController のself.viewをダミーのUIViewにして,
そのダミーviewにtableviewとindicatorを乗っけました。
でもこうするとtableviewが表示されなくなります。
tableview上のindicatorがテーブルをスクロールしても位置固定
させたいのですがうまくやる方法はないものでしょうか
588 :
名称未設定 :2010/09/11(土) 05:51:36 ID:y5x/NE3H0
NSArrayもしくはNSMutableArrayの中身をスレッド間で共有できないのですが、 共有する方法を教えていただけないでしょうか?
589 :
名称未設定 :2010/09/11(土) 06:48:26 ID:f98WzLZH0
>>587 UITableViewCOntroller.viewをダミーのにしないで、新たにUIViewを作って
(UIViewCOntrollerのサブクラスを作るかは任意)そこにUITableViewController.viewをはりつける構造。
>>588 もちろん中身自体のobjectがthread-safeじゃないのならその排他制御は必要だけど、threadだからできない、ってのはないと思う。
590 :
名称未設定 :2010/09/11(土) 08:38:44 ID:CYa/zkpW0
591 :
名称未設定 :2010/09/11(土) 09:24:11 ID:0F8nHII+P
>>588 NSArrayは何もしなくても共有できる。その辺はThread関係の公式ドキュメントに明記してある。
NSMutableArrayはスレッドセーフなラッパクラスを作ってそれ経由でアクセスする。
592 :
名称未設定 :2010/09/11(土) 13:36:00 ID:/JMLAPp90
iOS4.0.x だと、[NSDate date]で取得した現在日時は、「2010-08-15 13:02:21 +9:00」という形式だったけど、 iOS4.1 だと、「2010-08-15 13:02:21 GMT」という形式になってる。 また、iOS4.1で取得する現在日時は、日本時刻の9時間前のアメリカの日時が返ってくる。 iPhone4で確認したけど、同じ現象が出てる人いますか?
593 :
名称未設定 :2010/09/11(土) 13:53:59 ID:a7+76hF4P
locale設定
594 :
名称未設定 :2010/09/11(土) 13:56:10 ID:xhDzNptp0
「Waiting For Review」4日目ですが、512×512アイコンのデザインがちょっと気になるので 変更しようと思うんですけど、また列の最後から並び直しになったりしないですかね?
595 :
名称未設定 :2010/09/11(土) 14:10:04 ID:a7+76hF4P
変更できる一覧表がある。
596 :
名称未設定 :2010/09/11(土) 14:17:20 ID:a7+76hF4P
変更できるステートと項目の一覧表がある。 developer rejectは並び直しだけど。
597 :
名称未設定 :2010/09/11(土) 14:28:33 ID:ZLMMOkpG0
iOS Developer Programの期限が切れたら、 AppStoreに登録しているアプリも消えてしまうのでしょうか? またProvisioning Protalに登録しているCertificateの期限が切れたら 再度作り直す必要がありますが、 この時、今までのProvisioningファイルと新たなCertificateの 関連付けはできるのでしょうか? アプリのバージョンアップ版作成したとき、 同じProvisioningファイルを使わなければならないので、 手順に失敗してオワタにならないか不安です。 この辺りの情報どこかにまとまってたりしますか?
598 :
名称未設定 :2010/09/11(土) 14:46:00 ID:xhDzNptp0
変更できるのは知ってるんですけど、変更してまた一から並び直しになったら嫌だなと。 心配しすぎかな。
599 :
名称未設定 :2010/09/11(土) 18:41:51 ID:YVbFDGxoi
iOS Developer Programのアクティベートに失敗し、サポートに英語でメールを出したのですが、返信が来ません。。 何日くらいでサポートからメールが届くのでしょうかorz
600 :
名称未設定 :2010/09/11(土) 20:32:56 ID:QegJ03I50
>>593 ヒントをありがとう。
iPhone SDK4.1でビルドすると、locale指定しないと世界標準時刻で返ってくるようになったみたい。
ようするにローカル日付の考慮不足でバグだった。
修正箇所多数で萎える・・・orz
601 :
名称未設定 :2010/09/11(土) 20:35:50 ID:RPNtXKR60
質問になります。 先日、Xcode 3.2.4 and iOS SKD 4.1 にアップしたところ、 今まで問題なかったプロジェクトが「simulator」でのみエラーが発生し、ビルドできなくなりました。 エラーは全部で36個で例えば下記になります。 Expected function body after function declarator (CGPDFContext.h内でCG_AVAILABLE_STARTINGが指摘されている。) Expected a type (UIView.h内でUIViewAnimationOptionsが指摘されている。) Frameworksは4.0のものを消し、4.1フォルダのものを指定しなおしました。 Deviceではビルドでき、simulatorではできないという理由がわからないのですが、 何かわかりますでしょうか。
602 :
名称未設定 :2010/09/11(土) 21:38:43 ID:6lLphf0D0
603 :
名称未設定 :2010/09/11(土) 21:41:23 ID:6lLphf0D0
604 :
名称未設定 :2010/09/11(土) 21:46:28 ID:Q98a83iD0
そこのCall usって先に日本語通じる電話番号載ってるよ。 最初だけ英語で、英語と日本語どっちがいい?ってアナウンスあって数字押して選べた。
605 :
名称未設定 :2010/09/12(日) 02:17:52 ID:kLtoUHw+P
質問させてください。 TabBarControllerでタブが変更されたら変更先のしているビューの内容を更新(他のタブで変数をいじってるのを違うタブでも反映したいのです)したいのです。 タブが変更されたタイミングでビューを更新するにはどのようにすればいいのでしょうか?
606 :
名称未設定 :2010/09/12(日) 07:28:52 ID:VkIVqxoS0
>>600 そもそも日付→文字や日付→数値(月など)で、localeを考慮しない関数使ってるのはよくないよ。
>>601 プロジェクトのクリーンした?
>>603 大事なことなのでうんぬん
>>605 タブが変更されたら、というdelegateがあるはず。・・・UITabBarController::[will/did]SelectViewControllerね。
607 :
名称未設定 :2010/09/12(日) 07:44:38 ID:Q3VX2f5zP
それ以前に
>>592 は、NSDateの領分と、Formatterとかその辺の領分を分かってない気がする
608 :
名称未設定 :2010/09/12(日) 09:21:44 ID:VkIVqxoS0
>>607 NSCalendarのまわりとか日付関連結構複雑だしね。CFGregorianDateとかも含めると多すぎ。
609 :
名称未設定 :2010/09/12(日) 12:42:02 ID:mTmyhiK90
iPhone Developer ProgramのStandard Comapny Editionって、 必要書類の提出から実際の登録まで1ヶ月以内に終わるかな・・・ 別件でサポートにメールしてるけど、2ヶ月も返事来なかったし、 なんか最近の対応の遅さに不安が募る。
610 :
名称未設定 :2010/09/12(日) 12:45:34 ID:mTmyhiK90
あと、ある会社のアプリを作ろうとしてるんだけど、 AppStoreで販売元に、その会社名を表示するためには、 その会社がDeveloper Programに登録しないといけないですよね・・・ 1万とはいえ年間費用がかかる。 例えばAppStoreの販売元表示が会社Aになってて、 アプリの内容は会社Bのものってパターンはあるのかな・・・ ざっと見た感じ、そういうアプリはなさそうだけど・・・
611 :
名称未設定 :2010/09/12(日) 12:48:14 ID:mTmyhiK90
612 :
601 :2010/09/12(日) 12:56:26 ID:Ku1QDGHC0
>>606 はい、プロジェクトのクリーンや、bildフォルダの削除、
あとxcodeのキャッシュのクリアというのもしてみましたが、症状は変わりませんでした。
debugとかreleaseならそれぞれ変更できますが、
deviceとsimulatorでのそれぞれの設定をするところってありますか?
simulatorが使用できないと結構厳しいですね・・・。
613 :
名称未設定 :2010/09/12(日) 13:28:20 ID:HRVtGTmD0
「はじめてのiPhone3プログラミング」のサンプルコード(p243)に NSString* key=[keys objectAtIndex:section]; NSArray* nameSection=[names objectForKey:key]; というのがあります。 このコードは,[[NS.. alloc] init]も,stringWithも(コンビニエンスコンストラクタだっけ?)ないのですが,これは何をやっているのですか? 暗黙のうちにallocされているのでしょうか? NSString* key=[[NSString alloc] initWithString:[keys objectAtIndex:section]];か NSString* key=[NSString stringWithString:[keys objectAtIndex:section]]; だったら理解できるのですが,初めて出会った構文なので,教えてください。 なおNSDictionary *names; NSArray *keys;です。
614 :
名称未設定 :2010/09/12(日) 14:45:31 ID:JT9A1Dh/P
>>613 既存のobjectのポインタ返してるだけ。
615 :
名称未設定 :2010/09/12(日) 14:57:56 ID:LcwPfufy0
>>610 「ある会社」がAppStoreでアプリを売りたいなら、「ある会社」がAppStoreと契約するのは当然のこと。
有料アプリなら、売り上げの受け取りでもめる可能性もあるしね。
>>610 の仕事は開発なのか、販売まで責任を負うのか、きちんと考えた方がいいよ。
616 :
名称未設定 :2010/09/12(日) 15:09:05 ID:+CO6NuXo0
>例えばAppStoreの販売元表示が会社Aになってて、 >アプリの内容は会社Bのものってパターンはあるのかな・・・ それをウリにしてる受託開発会社もあるよ。 実績があるかどうかは知らん。 でもそれをやると売上げ確認とか利益の振込とかでトラブルになりそう。
617 :
名称未設定 :2010/09/12(日) 15:50:23 ID:EHZ6TKdj0
>>613 その本持ってるんで、
>>612 に捕捉すると、
242ページ見てちょ。
keysはどこから来てるかっていうと、
self.keys=arrayってことでarrayが参照されてる。
arrayはっていうと、
namesのallkeysっていうプロパティをソートして作成してる。
namesはっていうと、
self.names=dictってことでdictが参照されてる。
じゃぁ、dictはっていうと、
NSDictionary *dict=[[NSDictionary alloc]initWith〜]ってことで、
そもそもの発端でファイルを読み込んで作成してるでしょ。
要するにdictで一度作成したオブジェクトもとにどんどん参照を渡していってるっていうようなこと。
618 :
名称未設定 :2010/09/12(日) 15:51:49 ID:EHZ6TKdj0
619 :
613 :2010/09/12(日) 17:01:31 ID:HRVtGTmD0
>614 >617 なるほど。ありがとうです。
620 :
名称未設定 :2010/09/12(日) 17:50:18 ID:XnNh3RKh0
IPadではまって自分でもアプリ作ってみたいんですが、なんでもMacでないと無理と聞きました。 ただ、VMwareがあればその中でも出来るとも聞いたんですが、具体的には何を用意すればいいんでしょう? Vmwareは持ってます。
621 :
名称未設定 :2010/09/12(日) 18:16:03 ID:pp1ZRM+K0
まずMacを用意します
622 :
名称未設定 :2010/09/12(日) 18:30:35 ID:Qv9fhJv10
そういうのは聞いてやるもんじゃないよww
623 :
名称未設定 :2010/09/12(日) 18:35:07 ID:+CO6NuXo0
次にジョブズにお布施して忠誠を誓います。
624 :
名称未設定 :2010/09/12(日) 18:52:42 ID:Qd0wvOFo0
>>621 ,623
からかってるようにしか見えないけど、本当にそうだから困るw
625 :
名称未設定 :2010/09/12(日) 18:54:04 ID:VkIVqxoS0
>>620 夢スレ逝け。ただし、夢で作成した個人証明書にAppleがサインしてくれるかどうかは知らん。
626 :
名称未設定 :2010/09/12(日) 19:08:13 ID:JT9A1Dh/P
>>625 なぜだかuploaderの認証が通らなかったらしい。
627 :
名称未設定 :2010/09/12(日) 19:14:22 ID:GK72MTjg0
iOS3時代にviewWillDisappearメソッドで書き込みの内容を保存してたメモ アプリなんかは、iOS4以降はマルチタスク機能が邪魔して保存されません よね? マルチタスクのバックに回る時のメソッドってないですか?
628 :
名称未設定 :2010/09/12(日) 19:27:06 ID:JT9A1Dh/P
629 :
名称未設定 :2010/09/12(日) 19:38:46 ID:GK72MTjg0
ありがとうございます。 それみても見つからなかったもので。 助かりました。
630 :
名称未設定 :2010/09/12(日) 19:47:22 ID:JT9A1Dh/P
>>629 更新されてる。p.27-アプリケーションのライフサイクル
631 :
名称未設定 :2010/09/12(日) 19:58:00 ID:GK72MTjg0
あれ?? 俺の持ってるPDFの方が新しいのに?? ・・てよくみたら2009-06-17じゃんorz
632 :
名称未設定 :2010/09/12(日) 20:13:16 ID:GK72MTjg0
うーん。 -(void)applicationDidEnterBackground:(UIApplication*)apprication では呼び出されないみたい。謎です。 ただ、これでうまくいっても逆にiOS3以前で動かないだろうから、やっぱり info.plistでマルチタスクをオフにした方がいいのかしらん。
633 :
名称未設定 :2010/09/12(日) 20:14:28 ID:GK72MTjg0
↑は綴りミス。 applicationと書きました。
634 :
名称未設定 :2010/09/12(日) 22:12:25 ID:mTmyhiK90
>>615-616 どうもです。
とりあえず無料アプリの開発なんですが、将来、有料にしたいとか、
有料版を作りたいとかなるとややこしいですね。
やっぱり、会社を説得してProgramに加入してもらいます。
ありがとうございました。
635 :
名称未設定 :2010/09/12(日) 22:36:16 ID:JT9A1Dh/P
>>632 UIApplicationDelegateにしてる? テンプレートにNSLogいれてみ。
3Gじゃないよね?とりあえずSimulatorで。
起動
applicationDidBecomeActive
Homeボタン
applicationWillResignActive
applicationDidEnterBackground
再起動(リジューム)
applicationWillEnterForeground
applicationDidBecomeActive
636 :
605 :2010/09/12(日) 22:56:43 ID:kLtoUHw+P
>>606 レスありがとうございます!
ありました。
- (void)tabBarController:(UITabBarController *)tabBarController
didSelectViewController:(UIViewController *)viewController{}
ですね!
早速やってみたのですが、タブが切り替わった時にviewの内容を更新する方法がよくわかりません。。。
どのように記述すればいいのでしょうか?
637 :
名称未設定 :2010/09/12(日) 23:43:51 ID:rqeNxrht0
質問です たのしいcocoaと詳解objCよんでる途中ですが、ゲームアプリづくりにいい本でおすすめなのないですか? 他の言語での開発経験ないです テトリスとかタイピングソフトとかつくりたいんですが、「おそらくこんな仕組みなんだろうなぁ」という 概観は描けてもなかなかタイプすることができません 本以外にもいいサイトがあったら教えてください<m__m>
638 :
605 :2010/09/13(月) 00:40:42 ID:AzEy3uDhP
>>636 の質問自己解決出来ました!
レスくださった方ありがとうございます!
639 :
名称未設定 :2010/09/13(月) 00:58:59 ID:Mlh9HyRZ0
>>635 書き込みに気付かず失礼しました。
ご教示ありがとうございます!大感謝です。
NSLogも使ってコンソール見てますけど、メソッドが呼ばれてないみたいです。
他のメソッドも試してみたいけど、睡魔に勝てず。明日頑張ります。
640 :
名称未設定 :2010/09/13(月) 01:01:50 ID:Mlh9HyRZ0
641 :
名称未設定 :2010/09/13(月) 01:50:17 ID:qgEeNiAb0
インターフェイス UIViewController の hugahohge.m の中で -(void) pageScrollViewDidChangeCurrentPage:(PageScrollView *)pageScrollView currentPage:(int)currentPage { NSLog(@"Page %d¥n", currentPage); } -(void) singleFingerDoubleTap:(UITapGestureRecognizer *)recognizer { NSLog(@"DoubleTap"); } として、どちらもログがでてるので動作してる。 そこで、currentPageの変数が 2の場合や、3の場合で DoubleTap の動作を変化させたいんだけど、どうやってcurrentPageの引数を -(void) singleFingerDoubleTap:(UITapGestureRecognizer *)recognizer { } に持ってくるのかわからなくて困ってます。Objectiv-cの引数が理解できないんです。。。 どなたかご教授ください。
642 :
641 :2010/09/13(月) 01:52:54 ID:qgEeNiAb0
>>641 scrollView.currentPage
ってしたらできました。汚してすいません。
643 :
名称未設定 :2010/09/13(月) 05:18:05 ID:TX3Hd1nj0
>>640 かなり基本のとこから入らないといけないと思ってたので助かります
ありがとうございました!
644 :
名称未設定 :2010/09/13(月) 05:23:16 ID:pR4EZry0i
マジで優しい人が多いですね。 私も色々助かってます。 詳しい方々は、10回いくらとかでワークショップしたら儲かりそうですね。
645 :
名称未設定 :2010/09/13(月) 09:33:05 ID:RtNVi8yQ0
本来はADCのフォーラムで質問すべきだとは思うし、あっちは中の人も常駐してるはずなんだけど、 どうにも重い雰囲気あるよね。 MSのエバンジェリスト制は実は功奏なのかも。
646 :
名称未設定 :2010/09/13(月) 10:25:33 ID:vMx0XGh10
アプリ起動時に横画面にしたいのですが、どうも完璧にできません。 AppDelegate.m - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {} 内に [[UIApplication sharedApplication] setStatusBarOrientation:UIInterfaceOrientationLandscapeRight]; を入れたらとりあえず横画面で起動するのですが、 モーダルビューで別のビューを呼び出すと画面右側からモーダルビューが出て、モーダルビュー内では見事に縦画面のままです…。 全てを横画面にするにはどうしたらよいのでしょうか?
647 :
646 :2010/09/13(月) 10:44:10 ID:vMx0XGh10
モーダルビューされてくるViewController内で - (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation { return (interfaceOrientation == UIInterfaceOrientationLandscapeRight); } することでモーダルビューも正常に出ました。 全てのViewController内でやらないとだめなんだろうか…。 もっとシンプルにする方法はありませんでしょうか?
648 :
名称未設定 :2010/09/13(月) 11:04:12 ID:RtNVi8yQ0
VIewControllerのサブクラスでそれ実装して、それを継承すればいいんじゃね? とか。
649 :
名称未設定 :2010/09/13(月) 14:08:43 ID:SxZAU7UF0
質問です。 tableViewのセルに書いてある単語を、画面遷移した先のLabelに表示したいんですが、 RootViewのdidSelectRowAtIndexPathからの指定はできないんでしょうか…。
650 :
名称未設定 :2010/09/13(月) 15:41:04 ID:WteShUoA0
Mac系は初心者です。 シミュレータでのメモリリークで解らない事が有ります。 Xcode 3.2.3で、IBを使わずにiPhone・iPad両方で実行出来る様に作っています。 パフォーマンスツールのLeakで確認すると、、 iPhone Simulator 4.0では、リーク無し iPad Simulator 3.2では、リークが4・5個出ます。 これは、今の所メモリリーク無しと判断してもいいのでしょうか?
651 :
名称未設定 :2010/09/13(月) 15:57:22 ID:WxQ0iyM20
コードに手を入れたら、一度必ずビルドして実行させるといいみたい。 Leaksなどのパフォーマンスツールは、キャッシュを使って実行させてるようで、 そうしないと変更が反映されないっぽいよ。
652 :
名称未設定 :2010/09/13(月) 16:41:32 ID:gx5d/ZIG0
シミュレータはあくまでシミュレータ。 Leakは実機で確認すべし。
653 :
646 :2010/09/13(月) 17:33:45 ID:xyxRsbta0
>>648 そうですね。
横画面モード用に別ファイルを作っておきます。
それともう一つ質問なんですが、
自分の他のアプリへリンクしたいのですが、アプリ内からitunesへのリンク方法はないのでしょうか?
itunes上でのアプリ紹介ページをhttp〜でリンクを貼るとブラウザが立ち上がってしまうので…。
654 :
646 :2010/09/13(月) 17:41:03 ID:xyxRsbta0
実機だと大丈夫でしたw スレ汚しスイマセン
655 :
632 :2010/09/13(月) 18:47:33 ID:Mlh9HyRZ0
>>635 すみません。
UIApplicationDelegateにしてる?
の意味がわかりません..
AppDelegate.mに記入しないとダメっていう意味ですか?
確かにViewController.mに書いてますが。
656 :
名称未設定 :2010/09/13(月) 20:12:27 ID:WFhe4QIy0
notificationでもできるからそうしたら。
657 :
名称未設定 :2010/09/13(月) 21:32:54 ID:RtNVi8yQ0
システムが通知を飛ばす先がUIApplicationDelegateとして登録してあるオブジェクト、ということでしょ。
だーれが受け取るかを追加したいのなら
>>656 で。
658 :
632 :2010/09/13(月) 22:18:01 ID:Mlh9HyRZ0
>>657 恥ずかしながらどうもその辺りがよくわかってなくて。
View-Basedで作り始めたらアプリ名ViewControllerにメソッドを色々書く、
Window-Basedで始めたらアプリ名AppDelegateにメソッドを書く、っていう
のが、チュートリアルをいくつかやっての認識です。
Delegateの登録が、それぞれ良い具合になってるだろうなと勝手に思って
ました。変更もできるんでしょうけど、まだそこまでの知識が・・。
今回のは、View-Basedで始めてViewControllerに書いてたんですけど、
viewWillAppearメソッドはうまく呼ばれるのにapplicationDidEnterBackground
が呼ばれないのは・・
ん?
書いてて気付きましたが、ひょっとしてviewとapplicationとでdelegate先が
違うなんてことがありましょうか?
659 :
632 :2010/09/13(月) 22:41:38 ID:Mlh9HyRZ0
お! applicationDidEnterBackgroundの方は、アプリ名AppDelegateの方に書いたら 呼ばれるみたいです! しかし変数が宣言されてないとかで、そのままでは動きません。 全部引っ越ししないと・・ いやそれじゃviewWillAppearが呼ばれないか。じゃあ両方で宣言?それも まずい気がする。 すみませんTwitterじゃないのにぶつぶつと。
660 :
名称未設定 :2010/09/14(火) 02:04:57 ID:W7wKcpCeP
実験する前に最低限のドキュメントは読んだ方が捗るよ。
661 :
名称未設定 :2010/09/14(火) 02:14:51 ID:SJJ/4KW+0
iPadのsplitでのプログラミングについてです。 XMLを読み込んでsplitで左にTable、右にDetail。 これは全く問題ないんだ。 そこで、split表示の前にメニュー画面を作ろうと TopViewという名前でUIviewのインターフェイスをこしらえた。 そして、TopView、split画面ともにLandscape表示に設定している。 起動させてTopViewに配置しているボタンをタップすると問題なく split画面に移動するとなぜか画面の右から約300px分がタッチに反応しない。 どうやらTopViewとDetailContllor.mでのLandscape設定に問題があるよう。 しかし、TopView→split画面→ TopView→split画面という工程で画面移動すると 二回目のsplit画面の表示では画面全体で問題なくタッチに反応しているのです。 なにかしらの設定かなにかがTopView→split画面のときに影響しているようだけど、 一週間悩んでも解決できない。。。 伝わってればいいのだけど、何か原因分かる人おられますか。
662 :
名称未設定 :2010/09/14(火) 04:54:12 ID:uZYYhKmj0
SplitViewのドキュメントの注意書き読むべし
663 :
名称未設定 :2010/09/14(火) 07:56:45 ID:3kOwOOS70
こんなアプリ作り始めましたが、うまく動きません。 1.タイトル画面表示、ボタンがいくつか配置 2.ボタンの一つを押すと別のテーブル画面にaddSubviewで切り替え 3.テーブルのセルを押すとその入力画面に横スライド この3がうまくいきません。 [self.navigationController pushViewController:hogeViewController animated:YES]; に反応しないようです。 表紙をなくしていきなりテーブルからだとうまく動きます。subViewからだと3の やり方は無効なのでしょうか。
664 :
名称未設定 :2010/09/14(火) 09:23:59 ID:3kOwOOS70
テーブル画面をViewControllerクラスで作ったからダメなのかしらん。
665 :
名称未設定 :2010/09/14(火) 09:27:58 ID:86NYK8Cl0
pushする時のself.navigationControllerはきちんと参照できてないんじゃね?
666 :
名称未設定 :2010/09/14(火) 09:29:39 ID:aRw1mDgh0
>>661 回転通知(will/didRotateToInterfaceOrientation)来たときにUISplitVCに渡してみる。
だめなら回転通知時にUISplitVC自体を手動リサイズ。
>>663 self.navigationControllerはちゃんとナビゲーションコントローラを示してる?
selfは実体によって示してるものが違うけど。
subViewの部分だけスライドさせたい、というならそりゃその都度navigationControllerを作らないとだめだし、
それ以前にほかのアニメーション機構を使った方がいいと思う。
667 :
名称未設定 :2010/09/14(火) 09:48:19 ID:3kOwOOS70
>>665 >>666 ありがとうございます。
言われてみれば、なんかそういう気がしてきました。
でもselfが何を指すのか。
これがよくわからない。。
あきらめて別のアニメーションがいいんでしょうね。
さらに別のビューを被せることには、一応成功しました!
ただ、アニメーションがカールとフリップだけしか使えないんですよね。
そのセルに何か入力するって感じじゃなくなるのが嫌。
668 :
名称未設定 :2010/09/14(火) 09:55:55 ID:3kOwOOS70
実はnavigationControllerが何者か、全くわかっておらず。 ひょっとしてNavigation Barと関係ありますかね。あの太い横棒。 うちのテーブルにはあれがありませんが、その時点でダメですかね?
669 :
名称未設定 :2010/09/14(火) 10:12:16 ID:3kOwOOS70
IBでNavigation Barを作ってやりました。 何も起こらず。 後付けではダメか。
670 :
名称未設定 :2010/09/14(火) 10:24:12 ID:3kOwOOS70
なんと!あの横棒、とてつもなく重要な役割を果たしてるじゃありませんか。 階層的画面遷移を担ってるとか。みなさん知ってました? セルクリックで横移動って、実は階層を下ってるんですね?だったらこれなしに 実現しえないではないですか。 ただの邪魔な棒かと思ってました。タイトルならいらんわいって。
671 :
名称未設定 :2010/09/14(火) 10:36:07 ID:V1S/DO5hP
独り言でスレ伸ばしてんじゃねーよ Twitterでやってろカス
672 :
名称未設定 :2010/09/14(火) 10:50:50 ID:3kOwOOS70
反省なう
673 :
名称未設定 :2010/09/14(火) 10:53:56 ID:aRw1mDgh0
そんな横棒よりそれより上にある、黒い細い横棒って知ってるかい? たまーにSoftbankとか書かれてるの。 スクロールできるテーブルなどがあるときにここタッチしてみろ。
674 :
名称未設定 :2010/09/14(火) 11:08:08 ID:3kOwOOS70
黒い細い横棒・・。灰色のあれ? 一番上まで一気にスクロールしました。
675 :
名称未設定 :2010/09/14(火) 12:39:43 ID:lj5qPIJ20
ここは、隠し機能さらしスレかw
676 :
名称未設定 :2010/09/14(火) 13:09:03 ID:QuaIys2p0
[self.layer insertSublayer:segment.layer below:text.layer]; これってsegment.layerの下にtext.layerを挿入するんだよね? self.layerってのがよくわからないんだけど、 わかる人いたら教えてくれませんか?
677 :
名称未設定 :2010/09/14(火) 13:16:43 ID:nKLrs8fM0
CALayer
678 :
名称未設定 :2010/09/14(火) 14:39:26 ID:aRw1mDgh0
[self insertSubview:segment belowSubview:text]でいいような。
679 :
613 :2010/09/14(火) 15:05:09 ID:D96aCy6K0
Window-based ApplicaitonのCoreDate使用テンプレートでプロジェクトMyAppを作りました。 つぎにMyApp.xcdatamodeldの下にもともとのMyApp.xcdatamodelとは別に、 既存のモデルMoreApp.xcdatamodelを追加しました。そこで質問です。 MyApp.xcdatamodelのアイコンには、右下にチェックマークらしきものがついているのに、 MoreApp.xcdatamodelにはそれがありません。このような違いは何を表しているのでしょうか? 情報をみても違いがわかりません。 というのも、ビルドしても、MoreApp...のエンティティを読み込めなくてどうしてよいのやら、 というところが発端です。(self.managedObjectModelをNSLogでみてもentitiesが空) MyApp.app下には、MoreApp.momやMyApp.momd/MyApp.mom、MyApp.momd/MoreApp.mom があるのは確認できます。 どうぞよろしく。
680 :
名称未設定 :2010/09/14(火) 15:51:19 ID:aRw1mDgh0
>>679 テンプレートで作った場合はスキーマを読み込む部分がappdelegateに自動生成されるけど、そこの名前を変えないとだめなんじゃ?
チェックマークはわからん。
途中でxcmodel追加した場合は自前でたくさん書くのも面倒なんで、わしは以下のようにしてる。
NSURL* modelURL= [NSURL fileURLWithPath:[NSString stringWithFormat:@"%@/MoreApp.mom", [[NSBundle mainBundle] bundlePath]]];
NSManagedObjectModel* model= [[[NSManagedObjectModel alloc] initWithContentsOfURL:modelURL] autorelease];
NSURL* storeURL= [NSURL fileURLWithPath:[NSString stringWithFormat:@"%@/Documents/MoreApp.sqlite", NSHomeDirectory()]];
NSPersistentStoreCoordinator *store= [[[NSPersistentStoreCoordinator alloc] initWithManagedObjectModel:model] autorelease];
NSError* error= 0;
[store addPersistentStoreWithType:NSSQLiteStoreType configuration:nil URL:storeURL options:nil error:&error];
NSManagedObjectContext *dbctx= [[NSManagedObjectContext alloc] init]; //not autorelease
[dbctx setPersistentStoreCoordinator:store];
>>676 >これってsegment.layerの下にtext.layerを挿入するんだよね?
逆だ
682 :
名称未設定 :2010/09/14(火) 17:59:01 ID:YZg3OJjy0
>>676 selfが持ってるレイヤにtextが持ってるレイヤが乗ってます
selfが持ってるレイアにさらにsegmentが持ってるレイアを乗せます
ただし、textが持っているレイアの一つ下になるようにします
683 :
名称未設定 :2010/09/14(火) 20:27:59 ID:QxZ5JaRn0
>>676 サンプルのAccelerometerGraphだな。
確かtext用レイヤの下にグラフ用のsegmentレイヤが
突っ込まれる形のはず。
684 :
名称未設定 :2010/09/14(火) 21:30:30 ID:VVMQMw6P0
iphone4とiphone3GSとで、ネットアクセス速度を比べたら 断然3GSの方が早かった。 自作アプリ(NSURLconnection利用)もそうだし、 標準のサファリもそう。 ダウンロードしてサイトが表示される時間、 ネットワークからデータが返ってくるまでの時間、 が断然3GS >> 4。 これはなぜでしょうか。ネットアクセス以外の操作は断然4 >> 3GSなのですが。
685 :
661 :2010/09/14(火) 23:54:21 ID:SJJ/4KW+0
>>662 ありがとうございます。
熟読してみますね。
686 :
名称未設定 :2010/09/15(水) 00:57:10 ID:7+wxgWZWP
>>684 3GSはWifiで、4が3Gとか言うなよ。
687 :
684 :2010/09/15(水) 00:59:53 ID:mN/iTybv0
>>686 なわけないでしょ
どちらもまったくおなじWifi環境下。
688 :
名称未設定 :2010/09/15(水) 01:03:48 ID:TocrN+ys0
んじゃ3Gでやって見なよ
689 :
名称未設定 :2010/09/15(水) 01:09:44 ID:7+wxgWZWP
>>687 ipみて、Macからtraceとってみ。
690 :
684 :2010/09/15(水) 01:22:51 ID:mN/iTybv0
>>689 ipは192.168.0.2と192.168.0.3だけど
Macからtraceってどうやるんでしょうか。ちなみに
IPの違い以外はネットの経路や接続先、パケット内容すべて同じです。
あと強いて言うとiphone4がiOS4.1なのに対して3GSはiOS4.1GM
691 :
684 :2010/09/15(水) 01:26:43 ID:mN/iTybv0
あ、パケットの再送の違いは未調査。 ひょっとして4のほうのwifi感度が低くて再送が起こってるのかも
692 :
名称未設定 :2010/09/15(水) 02:27:26 ID:ounpAGUZ0
複数の画像ファイルから(複数のUIImage作って?) 1枚のUIImageViewに設定する方法ってありますか? 書き方がわかりません。。
693 :
名称未設定 :2010/09/15(水) 02:28:28 ID:ounpAGUZ0
692です。補足です。 複数の画像ファイルを横に並べて1枚にする感じです。
694 :
名称未設定 :2010/09/15(水) 06:42:07 ID:0oguPgcs0
CATiledなんちゃらの出番じゃないかな。
695 :
名称未設定 :2010/09/15(水) 09:13:04 ID:0oguPgcs0
>>684 プロトコルスタック変更されたな、という気はしてます。
逆にWifi経由のブロードキャストパケットの取りこぼしがほとんどなくなったのでUDP優先にパラメータ振ったのかも。
696 :
名称未設定 :2010/09/15(水) 09:28:19 ID:0oguPgcs0
って機種が違うだけでOS同じ? だったら純粋に感度の問題かも。 AirMacをAPに使ってるのなら通信速度みられる(負荷が高くなると自動的に接続速度上げる様子も)ので観測してみるといいかと。
697 :
名称未設定 :2010/09/15(水) 10:35:50 ID:InZxTiJ20
質問させてください。 先日iPadアプリを作成し、申請をかけたのですが GameCenter機能が有効になっているのにアプリに組み込まれていないとリジェクトされてしまいます。 申請時にGameCenterの機能は無効にし、アプリもゲームではありません。 プログラム側で何かGameCenterを無効にするような記述が必要なのでしょうか?
698 :
名称未設定 :2010/09/15(水) 11:05:06 ID:0oguPgcs0
ん な ア フ ォ な
699 :
名称未設定 :2010/09/15(水) 11:08:51 ID:0oguPgcs0
700 :
名称未設定 :2010/09/15(水) 11:48:04 ID:EO244Yoi0
質問させてください。 -(void)Click:(UIButton*)sender { } ボタンクリックをすると上記のような感じでメソッドを呼ぼうと思っています。 このsenderから「どのボタンを押したか」を判定したいのですが、 インスタンス名を取得する方法はありますでしょうか?
701 :
名称未設定 :2010/09/15(水) 11:49:33 ID:0oguPgcs0
tagというプロパティに数値が設定できるのでそれで区別するのがよくやる方法です。
702 :
名称未設定 :2010/09/15(水) 12:10:23 ID:EO244Yoi0
>>701 レスありがとうございます。
tagではint型しか渡せませんでしたよね。
インスタンス名を取得するには配列にインスタンス名を入れておいてtagの番号で配列からインスタンス名を取得する方法がベストでしょうか…。
703 :
名称未設定 :2010/09/15(水) 12:10:56 ID:0oguPgcs0
インスタンス名、ってそもそも何でしょ?
704 :
名称未設定 :2010/09/15(水) 12:18:16 ID:EO244Yoi0
レスありがとうございます。 UIButton* bot1 = [[UIButton buttonWithType:UIButtonTypeCustom] retain]; 上の例で言う「bot1」の部分です。 そういえばインスタンス名で合ってるんでしょうか。 Flashでは「インスタンス名」だったのでそのまま読んでました。
705 :
名称未設定 :2010/09/15(水) 12:28:15 ID:NQPg8akF0
\(^o^)/
706 :
名称未設定 :2010/09/15(水) 12:36:06 ID:0oguPgcs0
>>704 それはインスタンスを格納している「変数名」。
UIButton* but2= but1; とかできるでしょ。
707 :
名称未設定 :2010/09/15(水) 12:48:26 ID:EO244Yoi0
ナルホド。 Flashっぽく使ってましたが、確かに変数名ですね。 これからは「インスタンス名」ではなくて「変数名」でインプットしときます。 それでは、viewにbot1をaddSubviewして、bot1という変数をreleaseしてもviewにはボタンが残ってますよね。 viewに描かれてるこのボタンのメソッドを実行する場合はどう指定してやれば良いのでしょうか? viewの中でbot1がどのような感じで保持されているのかが理解できていません…。
708 :
名称未設定 :2010/09/15(水) 12:51:37 ID:NQPg8akF0
ActionScriptでも変数名は変数名だよ。 インスタンス名ってMovieClipとかのプロパティから設定する名前でしょ。 そんで変数名はインスタンスそのものとは何の関係もない。
709 :
名称未設定 :2010/09/15(水) 12:56:33 ID:0oguPgcs0
>>707 subViewsはviewにふつうに保持(retain)されてる。
子を見つけるにはviewWithTagを使うか、別の変数に保持(retainでもassignでも)しておく。
どーしても名前つけたかったらUIButtonを自前で派生させて@property(retain,nonatomic) NSString* instanceName;とかしとけ。
710 :
名称未設定 :2010/09/15(水) 13:03:31 ID:EO244Yoi0
>>708 レスありがとうございます。
今日書き込むまで、自分のイメージではMovieClipのプロパティに付ける名前とbot1が同じようなイメージだと思ってました。
Flash自体もそんなに使いこなせてないので細かい部分はスルーしてくださいw
>>709 ありがとうございます。
各オブジェクトに対する認識を改めるとともに、数をこなしていって精進いたします。
まずはイロイロ実験してviewWithTagからトライします。
711 :
名称未設定 :2010/09/15(水) 13:48:46 ID:xCc3hz/j0
Leakが100個くらいあったのだけど、このままだと審査に通らないでしょうか。 リークはゼロにしないと通らない?
712 :
名称未設定 :2010/09/15(水) 13:52:00 ID:b3FE0OpX0
>711 逆に器用すぎる 通るかどうか是非試して欲しい
713 :
名称未設定 :2010/09/15(水) 17:27:18 ID:U6GjRp5T0
UIImagePickerControllerでの取得した画像を元の画像のまま コピーしたいのですが、書き出す方法が UIImageJPEGRepresentationか UIImagePNGRepresentationしか見つからないため アニメGIF等のアニメーションが保持できません。 UIImageをNSDataに変換する等、何かよい案があれば教えてください。
714 :
名称未設定 :2010/09/15(水) 17:48:58 ID:8i1X7MjY0
715 :
名称未設定 :2010/09/15(水) 19:09:33 ID:bjbYLbVU0
例えば、こんな PublicKey(NSData)があるのですが、 308189028181008D9626E882BC999B6B7AB6917E80DB715CE2 29F4C1B0AA6261425A3B321E7A95476D896D6B019F3D785678 9CAC87274ADDE6A8052763D8AE567E4CCAFA4F5948D88699D4 68CE177D4B0074683ADC764B23D3D17ED9CA85CBB60E32CE1C 6842A7114308C54D167644E73A255C3A359C4DBC6A13B99364 12DB303710534D55A9050203010001 これを使って暗号化しようと思っているのですが、 SecKeyEncrypt の第一引数の SecKeyRef にするためには、どのような手順が必要なのでしょうか? お分かりになる方がみえましたら、ご教授いただけると助かります。
716 :
名称未設定 :2010/09/15(水) 21:24:56 ID:xCc3hz/j0
>>714 インスツルメンツ。
>>711 バイナリだけだとリークしてるかどうかわからないかな?
とすると審査に通るのかな
717 :
名称未設定 :2010/09/15(水) 22:30:37 ID:DMQIRvJI0
Navigation-basedで作り始めたものの、最初にでてくる画面がテーブルなのは 面白くないからテーブルを削除してボタンを配置、セルをタッチする代わりに ボタンを押すと下層に進むようにしてみました。 ところがシミュレーターではちゃんと動くのに、実機ではボタンを押すとハングします。 なぜだかわからなくて困ってます。 もしかしてやってはいけない変更ですか?
718 :
名称未設定 :2010/09/16(木) 01:35:09 ID:NVRnxfVg0
CoreDataで - (BOOL)tableView:(UITableView *)tableView canMoveRowAtIndexPath:(NSIndexPath *)indexPath { return YES; } って効かないのかな?どっか変更しないといけない?
719 :
名称未設定 :2010/09/16(木) 01:49:50 ID:jh5sURc90
Core Data と UITableView とは関係ない
720 :
名称未設定 :2010/09/16(木) 09:26:46 ID:aRrPsZk70
>>715 30ではじまってるからDERエンコーディングじゃない? rfc3447みてね。
全体の長さから推測するとRSA1024かな。そのままハンドリングする関数があるみたいだけど。
721 :
名称未設定 :2010/09/16(木) 10:15:49 ID:TI866PXl0
練習に計算機を作っているのですが、 演算子の部分を動的にしてすることはできますでしょうか? 例えば、int ans = x + y; 上の式で+の部分を-や+や/で動的に変えたいのです。 よろしくお願いします。
722 :
名称未設定 :2010/09/16(木) 10:22:21 ID:CUmdsNWN0
>>721 できるできないつーか、普通やらんでしょ。
そんなに演算の種類多く無いんだから…
普通にパターン分けしてコード書くのじゃダメなの?
723 :
715 :2010/09/16(木) 10:22:37 ID:/2ekwjIb0
>>720 ありがとうございます。
DERエンコーディングというのですね!
手探りでしたので、検索の幅が広がり助かりました。
一応、これは SecItemCopyMatching で取り出した値を16進数に変換したものになります。
そのままハンドリングする関数とは具体的にどちらになりますでしょうか?
724 :
名称未設定 :2010/09/16(木) 10:33:08 ID:TI866PXl0
>>722 そうですか、やらないほうがいいんですね。
それではcase文で分けることにします。
ありがとうございました。
725 :
名称未設定 :2010/09/16(木) 10:46:24 ID:aRrPsZk70
>>723 Appleの暗号関数のページでDER検索したらたくさんヒットしたんで自前でDER解析とかやる必要なさそうだな、ということ。
なおキーの内容表示とか変換とかはopensslコマンド使うのが常筋。ターミナルから実行できるよ。
>>724 それぞれをメソッド(関数)にしてperformSelector:NSSelectorFromString(@"add:")とか。
726 :
名称未設定 :2010/09/16(木) 10:48:43 ID:TI866PXl0
727 :
名称未設定 :2010/09/16(木) 10:56:53 ID:L38beJlk0
>>721 単純に、二つ引数をとって結果を返す関数のポインタを使えばいいじゃん。
typedef int (*Operator)(int,int);
int calc(Operator op, int x, int y) { return op(x, y); }
728 :
名称未設定 :2010/09/16(木) 11:04:48 ID:aRrPsZk70
>>723 0xEDにコピペしてmoke.derファイルつくって、openssl asn1parse -inform DER -in moke.derしてみたらちゃんと解析されたんで
RSA1024な公開鍵のDERフォーマットでまちがいないみたい。
729 :
名称未設定 :2010/09/16(木) 11:14:56 ID:7/AupIxE0
>>727 お前、この程度の処理でそんなコード書くのか?w
730 :
名称未設定 :2010/09/16(木) 11:21:33 ID:+XXX68JbP
iPadのfasやprint、普通に動いたよ(^O^)/
731 :
名称未設定 :2010/09/16(木) 11:22:17 ID:aRrPsZk70
>>729 練習だからえーんでない?C言語風味なのとobjective-c風味なの両方やってみればよろし。
732 :
名称未設定 :2010/09/16(木) 11:23:54 ID:L38beJlk0
>>729 え?
add()とかsub()とかいっぱい用意してテーブルに並べておけば、
ジャンブテーブルになるだろ。普通に使わないの?
733 :
名称未設定 :2010/09/16(木) 11:35:02 ID:iZOE+Mgm0
>>729 performSelectorなんちゃら使って遊んでみるのもいいかも
734 :
名称未設定 :2010/09/16(木) 11:50:58 ID:iZOE+Mgm0
>>730 キヤノンのもワイヤレスでダイレクトに出せると嬉しいんだが…
SDKとiPad用iOS、同時にダウンロード始めたんだがSDKの方が速く終わりそう orz
735 :
名称未設定 :2010/09/16(木) 12:05:46 ID:aRrPsZk70
え、もう更新来てるの? サンクス。
736 :
715 :2010/09/16(木) 12:19:05 ID:/2ekwjIb0
737 :
名称未設定 :2010/09/16(木) 12:24:26 ID:aRrPsZk70
738 :
715 :2010/09/16(木) 12:38:09 ID:/2ekwjIb0
739 :
名称未設定 :2010/09/16(木) 12:45:43 ID:FywSPckCP
公式の日本語ドキュメントの「iPhone アプリケーションプログラミングガイド」の最新版が明らかに内容ショボくなってる件
740 :
名称未設定 :2010/09/16(木) 13:04:44 ID:aRrPsZk70
>>738 ごめん、ちょっと探したけど直接変換する関数なさそうなんで、自前でなんとかしてくれ。
SecKeyRefを覗いて直接合成したほうが早くできそうな気はするけど。
>>739 昔のほうがよかったね。タッチイベントで「計算して単一点を報告します」のくだりが好きだったけどなくなってるし。
741 :
715 :2010/09/16(木) 15:03:16 ID:/2ekwjIb0
742 :
名称未設定 :2010/09/16(木) 17:24:02 ID:lppZ+CFj0
10行くらいの文字列の一部分の色を変えて描画したいのですが、 どうすればよいでしょうか。。。 3.1.3あたりでも動作させたいので、NSAttributedStringは 使えそうにありません。。。。
743 :
名称未設定 :2010/09/16(木) 21:04:42 ID:0xjRjhDH0
744 :
名称未設定 :2010/09/16(木) 22:30:03 ID:fTZ4dGNu0
NSStringのsizeWithFontで求めたCGSizeのheightが、 実際の文字の高さよりもかなり大きくなってしまうのですが、 どなたか原因わかりますでしょうか。 UILabelのframeプロパティを、中の文字(1文字です)ぴったりに調整したいのですが‥
745 :
名称未設定 :2010/09/16(木) 23:06:34 ID:NVgwOj4t0
ARDroneがWifiのアドホック通信をやっているみたいですが、 Wifi通信を直接ハンドリングできるフレームワークってあるのでしょうか? ルーター等を介さずにiPhone2台を直接Wifi通信させたいのですが。 (Bluetoothは距離や障害物に弱いので)
746 :
名称未設定 :2010/09/16(木) 23:16:55 ID:+XXX68JbP
>>745 ヘリがホストになってんだろ。Pocket Wifiと同じ。
747 :
名称未設定 :2010/09/17(金) 00:17:54 ID:2C0gobV10
iPad に 4.2 beta 入れたんですけど、 ベータ版OSのバックアップデータって、正式版で復元できるんですか? それともOSインストール後にアプリとか入れ直し?
748 :
名称未設定 :2010/09/17(金) 01:17:55 ID:CY7GHceU0
加速度センサーから取得したデータを解析したいんだけど、 core dataを使うと簡単にデータを保存できるの? それともデータベースたちあげたほうがいいの?
749 :
名称未設定 :2010/09/17(金) 06:37:34 ID:flM6Wwiz0
750 :
名称未設定 :2010/09/17(金) 07:50:45 ID:ETkDMQ1z0
>>744 heightは複数行に渡る場合のマージンも考慮した数字なのだと思います。
実際には、ヒラギノならpoint==width==heightと考えてframeプロパティを設定して
ぴったりになるみたいです。
つまり、30ptの文字なら幅も高さも30ピクセルです。
英語プロポーショナルフォントなら文字によってwidthは違うでしょうね。
heightも下に飛び出す場合があるでしょうけど、これは単純に3分の1飛び出すと考えて、
たとえば30ptなら高さは30+30/3=40ピクセルとしていいかどうか検証してみては?
751 :
名称未設定 :2010/09/17(金) 09:24:22 ID:wkCZm6RT0
>>748 core dataは、sqlite3にオブジェクトのがわを被せたもの。
データベース立ち上げる、ってどこに何のデータベース立ち上げるつもり?
752 :
名称未設定 :2010/09/17(金) 09:50:51 ID:iYFTYuHO0
>>749 うろ覚えだけどできなかったはず
MPMoviePlayerViewControllerはあくまで基本的な機能をtお手軽に提供するもので
不満ならば自分でカスタムビューを作ってねってことじゃないかな
UIの違いもiPhoneとiPadの使用用途や環境の違いに対応するためだろうし
753 :
名称未設定 :2010/09/17(金) 12:03:23 ID:2acfo7LLP
ボタンを押したらある幾つかのビューの表示が切り替わり、 それからNSThreadのスリープメソッドが働く様にしたいんだけど、 どこにそのメソッドを置いてもボタンが押し込んだ絵のままで動かなくなり、 ビューの表示切り替えもスリープが終わるまで止まってしまう。 操作受付を一定時間中止する他の良い方法はありますか?
754 :
名称未設定 :2010/09/17(金) 12:27:07 ID:wkCZm6RT0
ユーザインタフェーススレッドをSleepさせるなよ。
755 :
名称未設定 :2010/09/17(金) 15:24:03 ID:rTiUHdfM0
>>750 なるほど、詳しい説明ありがとうございます。
おっしゃるとおり、使用しているフォントがTimes New Romanなので、
いろいろと検証して高さを求めたいと思います。
ありがとうございました。
756 :
名称未設定 :2010/09/17(金) 22:18:44 ID:B16GtK7V0
すみません、ちょっと質問したいのですが、 作っているアプリにスリープタイマーの機能を入れようと思っているのですが、 ソースコード上からiPhoneをスリープ状態(ロック画面)にする方法は無いでしょうか? 始めはexit関数でアプリを終了させようと思ったのですが、 どうやら違反になるようなのでスリープにする方法を探しているのですが全然見つからず、 こちらへ質問させていただきました 知っている方が居らっしゃいましたら、宜しければご教授お願いいたします
757 :
名称未設定 :2010/09/17(金) 22:44:07 ID:LA1++Y+Q0
やり方はしらないけどやったところでリジェクト対象じゃね
758 :
名称未設定 :2010/09/17(金) 23:22:19 ID:gtfSqYwM0
>>756 アプリだけなら
[[NSThread mainThread] exit];
で止まるんじゃねーの? スリープにするのはリジェクト対象。
759 :
名称未設定 :2010/09/17(金) 23:39:29 ID:B16GtK7V0
ご返答ありがとうございます 初期でインストールされている時計アプリがスリープ機能を搭載していたので、 スリープは大丈夫なのかと思っていました しかし、メインスレッドのexitは大丈夫だったとは・・・ c言語のexitが違反になるみたいだったのでアプリを終了させるのは断念していたのですが、 その関係でいろいろ調べてみようと思います、ありがとうございます
760 :
名称未設定 :2010/09/17(金) 23:51:54 ID:VrnDqDRC0
つーか、ホームボタン以外で終了するのはアウトじゃなかったけか。
761 :
名称未設定 :2010/09/17(金) 23:53:53 ID:DbNrQgn50
もう少ししたら審査基準も公開されるからそれまで待てよ
762 :
756 :2010/09/18(土) 00:00:43 ID:B16GtK7V0
うーん、終了は基本的に危ない感じなのでしょうか・・・ とりあえず、様子を見つつ色々調べてみようかと思います 皆さん、ありがとうございます
763 :
名称未設定 :2010/09/18(土) 00:01:19 ID:DbNrQgn50
App Storeに問い合わせればいいだろ
764 :
名称未設定 :2010/09/18(土) 00:14:32 ID:tqlMGAW/0
>>752 ご返答ありがとうございます(_ _)
もう1つ操作パネルで質問させていただきたいのですが、
下パネルの一番右側に画面切替ボタン(斜め↓↑)を、こちらで消すことは可能でしょうか?
iPhone(iPod)では全画面にすると消えますが、iPadだと残ってしまいます。
有ってもnotificationで制御すれば問題ないのですが、
調べているとボタンが無いものが存在するので、方法がありそうでしてorz
765 :
名称未設定 :2010/09/18(土) 01:54:05 ID:67GdFk3y0
リークあるとやっぱ良くないですよね。
766 :
名称未設定 :2010/09/18(土) 02:10:14 ID:WPfIgF5VP
カスタムセルの作り方がわかりません。。。 どこか初心者でもわかるように解説されているサイトはありませんか?
767 :
名称未設定 :2010/09/18(土) 08:04:07 ID:Uc9B34vd0
>>765 動作中にリークがどんどん増えていくのはまずいけど、
そうじゃなけりゃ、少しくらいは…と個人的に思う。
768 :
名称未設定 :2010/09/18(土) 08:34:05 ID:lIHG3Y1b0
確かgamecenterの発表前後に申請したのがまだレビューされない。 込んでるのかな。
769 :
名称未設定 :2010/09/18(土) 10:43:57 ID:09w9DqAR0
7日に申請したのが機能in Reviewになりますた。 結構かかってるみたいね。
770 :
名称未設定 :2010/09/18(土) 16:14:06 ID:09w9DqAR0
あるメソッドの中で宣言し、allocとinitで初期化したインスタンス変数 (NSString)を、そのメソッドの中でreleaseまたはautoreleaseしようとしたら 実行時にハングするんですが、どういう原因が考えられるでしょうか? ビルドまでは普通にできるんですが。
771 :
名称未設定 :2010/09/18(土) 16:18:28 ID:QkuAWwCI0
772 :
名称未設定 :2010/09/18(土) 16:21:27 ID:+xTCw0hI0
>770 NSString *string = [NSString alloc]; [string init]; [string release]; の 様なことをしていることが考えられる。
773 :
名称未設定 :2010/09/18(土) 16:30:49 ID:09w9DqAR0
774 :
名称未設定 :2010/09/18(土) 16:51:20 ID:+xTCw0hI0
[string autorelease]; // もう使わないからイラネー宣言 strHoge = string; // でも使ってたり。
775 :
名称未設定 :2010/09/18(土) 17:00:46 ID:09w9DqAR0
そうかと思って順番を入れ替えてみたんですよ。 strHoge = string; [string autorelease]; それでもダメなんですよー。 要らないのかなと思いましたが、release文がないとリークしてるみたいなんですよ。
776 :
名称未設定 :2010/09/18(土) 17:05:47 ID:+xTCw0hI0
参考にしている所は textView.text = string; こう。 これはドット構文でプロパティにアクセスしている。 そして、自動的に(恐らくは) copy される。 strHoge = string; これは、ただの変数に代入している。 オーナーシップの処理は一切されない。
777 :
名称未設定 :2010/09/18(土) 17:15:58 ID:09w9DqAR0
なんと・・。 そんなことは全くの初耳でした。 copyですか。使ったことのないやつです。 ということはstringの所有者が・・・誰から誰に? それにcopyは参照カウントが+1されると聞いたことが。 そっちの方が重要? ちょっとよくわかりません^^;; でもなんだかとても重要なことを教えていただきました。 勉強してみます。ありがとうございました!
778 :
名称未設定 :2010/09/18(土) 17:27:18 ID:DyPS4oMx0
プロパティは宣言時にretainかassignかcopyか指定できるの。
779 :
名称未設定 :2010/09/18(土) 17:37:55 ID:+xTCw0hI0
780 :
名称未設定 :2010/09/18(土) 17:42:04 ID:09w9DqAR0
そういえば括弧の中に書きますね。 retainしか使ったことがありませんが。 retainって書いててもcopyになるのかしらん。 いま詳解を読んでるんですが、なんだかさっぱり・・。 理屈はわからないけどこの場合、なんとかプロパティ形式で代入するように すればいいのでしょうね。 UILabelかなんかで受けて、 lblHoge.text = string; とすればいいかもですね。
781 :
名称未設定 :2010/09/18(土) 17:42:45 ID:sq/oi3Nn0
782 :
名称未設定 :2010/09/18(土) 17:47:34 ID:x++Mrb4A0
>>780 理屈がわかんなきゃ、今はたまたまうまく動いたって
また別のところで同じように引っかかるよ。
783 :
名称未設定 :2010/09/18(土) 17:50:59 ID:+xTCw0hI0
あぁぁ 「iPhoneDevの方がドキュメントが新しい」の法則か じゃあ、そっち(>781)で
784 :
名称未設定 :2010/09/18(土) 17:57:46 ID:09w9DqAR0
>>782 そうなんですよね・・。
がんばってみます。ありがとうございます。
785 :
名称未設定 :2010/09/18(土) 18:05:34 ID:mDHVQ7Oz0
メモリリークとは開放し忘れたメモリがあるよって事ですか?
786 :
名称未設定 :2010/09/18(土) 18:12:42 ID:DyPS4oMx0
>>785 そうだけど、どうやって検出してるのか個人的には謎。
検出できるのなら開放してくれよ、MacOSXみたいに。
787 :
名称未設定 :2010/09/18(土) 18:15:56 ID:+xTCw0hI0
>>786 mallocとかNSZoneMallocをデバッグバージョンにすげ替えてるんだと思うよ
思うだけだけで調べてないけど
で、デバッグバージョンは遅い
788 :
名称未設定 :2010/09/18(土) 18:20:27 ID:DyPS4oMx0
>>787 でも、
NSString* m= [[NSString alloc] init];
m= nil;
だけでリークするのを検出するには、
1.全メモリをサーチしてオブジェクトポインタを追えるような構造。 か、
2.上の2行目を特殊な構文に置き換える。
のどちらかを実装してないと無理でしょ。
1番目だとid型に数字を入れるような場合に破綻しちゃうので、
たぶん2番目だと思うのだけど、コンパイラのサポートがいるよね。
789 :
名称未設定 :2010/09/18(土) 18:43:53 ID:+xTCw0hI0
790 :
名称未設定 :2010/09/18(土) 18:54:53 ID:/Ys+DhB10
なんというデジャヴ
791 :
名称未設定 :2010/09/18(土) 19:50:18 ID:JuDlpaET0
>>784 煽りだと思ってスルーしたんだろうけど
>>771 が正解だからな。
NSStringのretain/releaseについてはこのスレで議論されたばかりだ。
792 :
名称未設定 :2010/09/18(土) 21:08:24 ID:KbwoC3u10
メモリ警告が出ると呼ばれる関数があると思うのですが、 この関数に何かの処理を加えることでアプリが落ちるのを防げたりしますかね…? Level1の警告がたまに出て、Level2になった瞬間・・・!
793 :
名称未設定 :2010/09/18(土) 21:14:46 ID:DyPS4oMx0
>>792 使ってないオブジェクトを開放する、ということになってますが、
実際対処するのは難しいんだよなー。しかもiPadだとメモリ少なすぎですぐ出るし。
なおUIImageとかUIViewControllerのviewとかは(画面にretainされてない場合)自動で応答して開放するはずです。
794 :
名称未設定 :2010/09/18(土) 21:31:25 ID:x++Mrb4A0
もう一度読み直せばいいものとか、もう一度作り直せばいいものとか、一心不乱に捨てまくる。
795 :
名称未設定 :2010/09/18(土) 21:36:42 ID:DyPS4oMx0
でプロセス一覧を見て、springboardとかsafariのメモリ食いまくり具合にkillしたくなるんですね、わかります。
796 :
名称未設定 :2010/09/18(土) 23:28:52 ID:09w9DqAR0
>>791 ありがとうございます。
スルーしてました;;
NSStringのことは何度か話題に上がってますが、これの答えになる話は・・
正直よくわかりませんでした。
ただ70番台で、ドット構文は実際にはメソッドの呼び出しとありましたが、
そこで参照カウントが+1されるということでしょうか?
また0点?
797 :
名称未設定 :2010/09/19(日) 00:55:34 ID:JSZ66MLC0
4.2betaでビルドしなおしたら splitviewのアプリが全滅 (;´Д`)
798 :
名称未設定 :2010/09/19(日) 00:59:54 ID:Mk/3DXRi0
文字定数がどうやって保持されてるか考えてみろよ。 別の場所に変数なんかの複製を作らなけりゃ、解放する必要はない。 この辺のことは、前も書いた覚えがある。
799 :
名称未設定 :2010/09/19(日) 03:30:00 ID:ns10tBQ+0
>>797 サンプルくらいなら問題ないみたいだけど
どうなっちゃうの?
800 :
名称未設定 :2010/09/19(日) 05:46:49 ID:cTS6xCd2P
>>796 だからそのプロパティーが、retainなのかassignなのかcopyなのかを見ろと言われてるの。
わからなかったら、プロパティーのドキュメント読め、と言われてるの。
801 :
名称未設定 :2010/09/19(日) 06:52:05 ID:ByB/1sBS0
マルチスレッドとUIActionSheetで、リークが発生して悩んでいます。 ファイルに30秒ぐらい書込みをしている間、プログレスバー付きアクションシートを表示して、 終わったらdismissWithClickedButtonIndexでアクションシートを閉じています。 メインスレッドで、アクションシートを表示してから、書込みスレッドを立ち上げ 書込みスレッドの [pool release]; [NSThread exit]; の直前で self performSelectorInBackground でdismissWithClickedButtonIndexを呼び出している関数を指定しています。 プログレスバーの更新も、self performSelectorInBackgroundで更新する関数をセットしています。 これで、メインスレッドでアクションシートの開き閉じが行われるので、 問題ないとおもっていたのですが、 dismissWithClickedButtonIndexを呼び出し後 「_NSAutoreleaseNoPool(): Object 0x4b0c600 of class UIActionSheet autoreleased with no pool in place - just leaking」 とシミュレータで表示されます。 なぜでしょうか? お教えください。
802 :
名称未設定 :2010/09/19(日) 06:53:34 ID:NlQgzpdq0
どうしてiPhoneにはガベコレ搭載しなかったんだろうな そのせいでエラーの大半がメモリリークとか本末転倒
803 :
名称未設定 :2010/09/19(日) 07:06:40 ID:cTS6xCd2P
>>802 3Gでパフォーマンスが足りなかったんだろ。3GS以降の条件でサポートしてもいいかもね。
804 :
名称未設定 :2010/09/19(日) 07:26:36 ID:ceXjXruP0
Cocoaですら目に見えてパフォーマンス落ちる&バグ持ちのGCを 組み込みデバイスのランタイムに採用するとも思えん
805 :
名称未設定 :2010/09/19(日) 07:44:51 ID:ByB/1sBS0
801です たぶん、、自己解決しました。 performSelectorOnMainThreadというのが有るのを見つけました。 ↑は、メインスレッドから実行される指定で performSelectorInBackgroundは、メインスレッド以外の別スレッドから 実行されるみたいですね このバックグラウンドスレッドとは別スレッドが新作されるのでしょうか? 今回の様にメインスレッドとワーカスレッドの2つの場合は、 ワーカスレッドからのUI更新等は、メインスレッド指定でUI更新しないと オートリリースが別スレッド(バックグラウンド)にわたってしまうのでリークするという事ですよね、、、 この考えで正解でしょうか? 閑話休題 参考にしたブログ等がオートリリースが発生しない関数だけしか実行しない、、 という前提で書かれていたみたいですね、 どうせなら、、performSelectorOnMainThreadで、説明してくれていればヨカッタのに、、
806 :
名称未設定 :2010/09/19(日) 07:51:10 ID:b0JIQJmo0
閑話休題の使い方が間違ってる
807 :
名称未設定 :2010/09/19(日) 08:05:33 ID:ByB/1sBS0
801です、、 (^^;)閑話休題の使い方を間違ってました(^^;) いい単語を思いつかなかったので、、 ここなら、単純に「ところで」とかにしておけばヨカッタですね。
808 :
名称未設定 :2010/09/19(日) 08:31:55 ID:ByB/1sBS0
ぐぐっても解らなかったので、 お教えください。 アクションシート等ののサンプルに良く、表示した後はOSが内部で管理するので、リリースしてもよいと書いてありますが そうすると、dismissWithClickedButtonIndexをコールしたくてもインスタンスが解りません。 今表示されているアクションシートのインスタンスを取得する方法は有るのでしょうか? 後、今表示されているまたは、表示しようとしているアクションシート上のボタン・タイトルやシートそのものの位置・サイズはどのようにしたら取得出来ますか? 特定のオブジェクトのインスタンスがautoreleaseがセットされているかどうかを簡単に取得する方法は有りますか?
809 :
名称未設定 :2010/09/19(日) 08:52:55 ID:3qJt2R5/0
>>808 コールしたかったら取っておけばいいのでは?
>>804 javaはー? .NET compact frameworkはー?
Microsoftはアプリ間連携をDDEでやってそのときの反省からCOM(OLE2)をコンポーネント開発の基盤においた。
COMはもともとIBMの開発した機構で、リファレンスカウンタ方式による生存管理をしていた。が、
・プログラマが->releaseを忘れる
・循環参照の解決のため弱い参照と強い参照をプログラマが意識する必要があった
・それがネットワーク越しになると永遠に開放されないオブジェクトが存在するようになった
ということになり、結局COMを半分捨て、javaを見習い、
ガベージコレクタ方式の.NETを開発することになった。
結局プログラマにストイックな開発を強いるシステムは破綻するんだわ。
javaはそこまで見越してたわけで。ほんとゴスリングは偉すぎ。
810 :
名称未設定 :2010/09/19(日) 11:45:12 ID:IwZQuCza0
ん? androidのほうがいいってオチ?
811 :
名称未設定 :2010/09/19(日) 12:34:12 ID:NjWvS2ZQ0
androidでもGCで目に見えてパフォーマンス落ちてるじゃん。 iPhoneと同程度のチップだと、スクロール程度でもカクカクする。 まぁ、日本じゃメモリ管理もできないようなヘボが多いから、どうにもならんね。 アメリカぐらいプログラマが高給取りなら、そんなヘボは淘汰されるんだろうけど。
812 :
名称未設定 :2010/09/19(日) 12:39:00 ID:NlQgzpdq0
>>811 GCで目に見えてパフォーマンスが落ちることはないよ
プログラマーなのにその程度の知識しかないからメモリリーク起こすんだよ
813 :
名称未設定 :2010/09/19(日) 13:00:21 ID:FU0tmb5l0
wifiか3Gを設定する項目がiPadにあると思いますが、アプリ内から接続の設定を弄くれないですかね? wifi1→3G→wifi2のように回線の設定をアプリ内で変更したいのですが
814 :
名称未設定 :2010/09/19(日) 13:07:42 ID:lMNTHpi00
815 :
名称未設定 :2010/09/19(日) 13:12:27 ID:qYPNSuX1P
816 :
名称未設定 :2010/09/19(日) 13:23:02 ID:1OsmwlsI0
817 :
名称未設定 :2010/09/19(日) 14:23:52 ID:4o5iAZGa0
818 :
名称未設定 :2010/09/19(日) 15:47:55 ID:AI9fvjsB0
ゴミ収集車か、一般車か、みたいな?
819 :
名称未設定 :2010/09/19(日) 16:02:04 ID:82oNnxYS0
GCはこちらの意図しないところで始まることがあるから厳しいよ。
820 :
名称未設定 :2010/09/19(日) 16:21:23 ID:JSZ66MLC0
>>799 rootViewからDetailViewに変数が伝わらない。。。
もしかしたらNSXMLParserの問題かも。
別のView から SplitViewに移動するとDetailViewしか表示されない。
821 :
名称未設定 :2010/09/19(日) 16:46:21 ID:cTS6xCd2P
Androidはマークアンドスイープ方式のGCを実行中、すべてのスレッドを停止する。 その間、動作がもたつくような感覚を、ユーザーに与えてしまうことになる。
822 :
名称未設定 :2010/09/19(日) 16:49:26 ID:5hwJDbqL0
速度的な事もあるだろうけど、GC使わない方が圧倒的にメモリをケチれるじゃん。
823 :
名称未設定 :2010/09/19(日) 19:25:50 ID:49zYdSFc0
借りた物はきちんと返す。 人として生きる基本だろ。
824 :
名称未設定 :2010/09/19(日) 19:40:43 ID:RyX3OJFI0
ジャイアンにいえるか
825 :
名称未設定 :2010/09/19(日) 19:59:32 ID:QdL9Ve0U0
>>812 は、Java の Stop the World 問題とか知らんのか?
826 :
名称未設定 :2010/09/19(日) 20:14:26 ID:QICwRQY40
お前の苦悩は俺の苦悩。ジャイアン男前すぎる。
827 :
名称未設定 :2010/09/19(日) 21:04:41 ID:mYFemyoR0
過去スレにあった -- #define kButton1_TAG 123 // 0 はデフォルトなので使わない方がよい ... [button1 setTag:kButton1_TAG]; [view addSubview:button1]; としておいて、後ほど UIButton *btn1 = (UIButton *)[view viewWithTag:kButton1_TAG]; -- ↑ですが、「 0 はデフォルトなので使わない方がよい」というのは、なぜなのでしょうか? 同じようなプログラムを書いていてtagに0を設定したボタンを押すとsigabrtでエラーになってしまいます。 原因は0以外のところかもしれませんが、ググっていたら上記のような例があったので質問させていただきました。
828 :
名称未設定 :2010/09/19(日) 21:35:09 ID:6zQ7iAsx0
「 0 はデフォルトなので使わない方がよい」 tagを設定していないviewのtagはすべて0 なので tagが0のviewを検索しても、どれがヒットするかは運次第(ではないけど狙いどおりには行かない) sigabrtはこれとは無関係
829 :
名称未設定 :2010/09/19(日) 21:36:49 ID:82oNnxYS0
>>827 適当にViewを作って、tagを見てみろ。
それをUIButtonに無理やり変換したらどうなるか…。
830 :
名称未設定 :2010/09/19(日) 23:31:39 ID:mYFemyoR0
tag設定していない物は0だからどれがHITするか分からないということですね。 なるほどです。
831 :
名称未設定 :2010/09/20(月) 16:22:50 ID:OVgkaJRK0
何かいい感じのチュートリアルあればきぼんぬ。
832 :
名称未設定 :2010/09/20(月) 19:33:25 ID:Ey2i6Pp/0
833 :
名称未設定 :2010/09/20(月) 19:46:32 ID:OVgkaJRK0
>>832 おお、ありがとう。
神チュートリアル早速やってみる。
834 :
名称未設定 :2010/09/21(火) 08:25:42 ID:JOvJ1uJS0
TableViewに複数のセクションがあり、各セクションごとにセルを追加/削除できる サンプルプログラムがあれば教えて頂きたいのですが、 よろしくお願いします。
835 :
名称未設定 :2010/09/21(火) 11:22:35 ID:2T8F2JHO0
質問です。 タッチイベントの取得漏れについて解決方法を探しています。 例えば、アプリ本体の処理(つまり自分が書いた処理)で5秒ほどかかる重いwhileループ処理をしているとします (実際こんなに長い処理は論外ですが、例としてです) その5秒の間に画面上をぐりぐりと指を滑らせても、touchesMovedは1回しか呼び出されず、5秒の間に通った軌跡を知ることができません。 マルチスレッドにし、アプリ本体の処理をスレッド側に書けば解決はするのですが、アップル的にはシングルスレッドがお勧めのようです。 シングルスレッドで、重い処理をしている最中のタッチイベントを漏らさず取得するには、どのようにすれば良いのでしょうか? よろしくお願いいたします。
836 :
名称未設定 :2010/09/21(火) 11:38:47 ID:WAJ37V0C0
>>835 安直なやり方でいいなら、whileループ内の処理をtimerでちょっとずつやってやりゃいいんじゃね?それができるような処理ならだけど。
でも素直に別スレッド作った方がいいと思うがね。禁止されてるわけじゃないんだから。
837 :
名称未設定 :2010/09/21(火) 12:34:19 ID:9Iiub2am0
ユーザインターフェースを阻害しない目的でのスレッドはむしろ推奨じゃない?
838 :
102 :2010/09/21(火) 13:39:37 ID:fPdj3oqf0
UIWebViewでブラウズしている(ロードされている)HTMLソースを取得するプロパティなどありませんか? NSString *html = [aWebView stringByEvaluatingJavaScriptFromString:@"document.body.innerHTML;"]; これだと,<body>~</body>しか取得できないので,サーバから取得しているソースそのものを 利用したいのです。
839 :
名称未設定 :2010/09/21(火) 14:10:47 ID:geAg1JTr0
>>838 document.getElementsByTagName('html')[0].outerHTML
これは完全ではないので、参考にして調べてね。
840 :
102 :2010/09/21(火) 16:03:52 ID:fPdj3oqf0
>>839 なるほど,参考になりました。
javascriptのDOMは必要になった部分をつまみ食いしているだけなので,
なかなか応用力がつきません。
ありがとうございます。
(UIWebViewクラスのどこかに,ソースを保持しているはずだけどきっと非公開なのでしょう)
841 :
名称未設定 :2010/09/21(火) 16:58:29 ID:U6e3ybnJ0
アプリのアップデートをすると、カテゴリのリリース日別に載りますか? それとも沈んだままでしょうか?
842 :
名称未設定 :2010/09/21(火) 17:01:53 ID:2T8F2JHO0
>>836-837 参考になりました。
ありがとうございます。
マルチスレッドでやってみることにします
843 :
名称未設定 :2010/09/21(火) 17:30:46 ID:l3Za/Tsvi
844 :
名称未設定 :2010/09/21(火) 19:29:22 ID:pTjvIxwP0
>>841 昔は載ってたけど、悪用してどうでもいいような内容のアップデートをする輩が続出したから
その仕様はなくなった。
845 :
名称未設定 :2010/09/21(火) 19:44:09 ID:RoKbNMd40
DiddyFtpServerのライブラリを組み込もうとしています。 途中CoreServicesフレームワークを追加する必要があったので追加したのですが、 「CoreServicesフレームワークがありません」という風にgccエラーが出てしまいます。 DiddyFtpServer入れた方はどう対処しましたでしょうか?('A`)
846 :
名称未設定 :2010/09/21(火) 19:45:57 ID:U6e3ybnJ0
アップデートはリリース日順に載らないんですね。 リリース日順リストにたまにバージョンが2.00とかになっているのを見かけたので、上がるのかなぁと思ってました。
847 :
名称未設定 :2010/09/21(火) 20:21:12 ID:o4SSYfkz0
質問です。 作成中のアプリで(ローカルの)ランキングを出したいのですが、UILabelのテキストプロパティに no1Label.text = [[NSString alloc]initWithFormat:@"1. %@",str]; と設定して、何度もランキングを呼び出すとリークになります。 何か解決のヒントいただけないでしょうか。 よろしくお願いします。
848 :
名称未設定 :2010/09/21(火) 20:25:22 ID:9Iiub2am0
no1Label.text = [NSString stringWithFormat:@"1. %@",str]; UILabelのtextプロパティにretainって書いてあったりしない?
849 :
名称未設定 :2010/09/21(火) 20:27:37 ID:0tVL6QiZ0
HTTPメソッドのPOSTでデータを送る際、送信データを NSString *a = [a stringByAppendingFormat:@"&%d=%g", i, j]; という記述があるのですが、 &%d = %gってとこどう解釈したらいいのでしょうか? あとPOSTでデータを送るときは NSString *a = [[NSString alloc]initWithFormat:@"i=%d&j=%d&k=%d", i,j,k]]; みたいに&で区切ると一気に複数のデータを送れるのでしょうか? よかったら教えてください。
850 :
名称未設定 :2010/09/21(火) 20:46:56 ID:k88uUHeK0
>>847 releaseすればいんじゃね?
>>849 application/x-www-form-urlencoded
851 :
名称未設定 :2010/09/21(火) 22:45:37 ID:5YUIZfHFP
CoreDataの設計に焦点を絞った和書の参考書って無いですかね?
852 :
名称未設定 :2010/09/21(火) 23:28:06 ID:C7JKRJLN0
正規表現置換はありませんか。 NSString *toString = [str ragexReplace : @"^(.*)$\n^(.*)$" : @"\2\n\1" ] (abc\ndef → def\nabc になる) みたいなことがやりたいんですが。 ググってもNSRangeとかしか見つからないです。 これだと後方参照とかできないです。
853 :
名称未設定 :2010/09/21(火) 23:47:08 ID:75P7C5xs0
regexkitlite iphone でググると幸せに慣れないか?
854 :
名称未設定 :2010/09/22(水) 00:10:49 ID:hl9Lawox0
>>848 返答ありがとうございます。UILabelのプロパティは
@property(nonatomic,copy) NSString *text;
です。
>>850 releaseしたら落ちてしまいます。
855 :
名称未設定 :2010/09/22(水) 00:24:45 ID:H+ty17FW0
>>854 NSString* s = [[NSString alloc]initWithFormat:@"1. %@",str];
no1Label.text = s;
[s release];
no1Label.textをreleaseしてるなら、そら落ちるだろ。
856 :
852 :2010/09/22(水) 00:34:24 ID:n+B1xTxt0
>>853 こんなのがあったんですね
ありがとう試してみます
しかし今時の言語なのだったら
正規表現置換くらいデフォルトで用意してくれてもよさそうなんだが
857 :
名称未設定 :2010/09/22(水) 00:46:01 ID:0JMfoIsI0
Mac OS X版のCocoaにもない。 Appleの三大謎の一つ。
858 :
名称未設定 :2010/09/22(水) 01:23:54 ID:mVARnO5CP
>>852 iOS 4 には NSRegularExpression クラスがあるよ。置換メソッドもあって、$1 とかも使えるみたい。
859 :
名称未設定 :2010/09/22(水) 01:33:05 ID:wxggMRoG0
デベロッパフォーラム見てもわかるけど ios4.2ってバグがまだまだ多い。。。
860 :
名称未設定 :2010/09/22(水) 02:24:01 ID:MJUDRT7R0
861 :
名称未設定 :2010/09/22(水) 03:40:39 ID:EhHTT7U40
Sales and Trendsは一番新しい日のデータが0だと全部0になるなw
862 :
名称未設定 :2010/09/22(水) 04:29:15 ID:0V7UXEJW0
863 :
名称未設定 :2010/09/22(水) 06:32:59 ID:xGVU61ic0
アプリがバックグラウンドに回ったときに実行したい処理があるのですが、どうしたらよいでしょうか?
864 :
名称未設定 :2010/09/22(水) 07:32:09 ID:Dxxdnooh0
>>862 ここで4.2の話とかは機密保持契約違反になるんでないの?
865 :
名称未設定 :2010/09/22(水) 09:05:48 ID:BidMA89R0
うん。
866 :
名称未設定 :2010/09/22(水) 09:07:08 ID:LikIf/oI0
ここ2ちゃんねるだからw Twitterならともかくこんな場所で機密保持もクソもねーよ
867 :
名称未設定 :2010/09/22(水) 09:11:38 ID:BidMA89R0
だからこそそれなりにみんな守ってるんだよ。
868 :
177 :2010/09/22(水) 11:14:10 ID:KKcRQgAT0
すいませんがどなたか教えてください。 画面A、B、Cがあります。 AはTableViewで100件のリストを表示しており、B・Cはその詳細を表示します。 navigationControllerで、AのリストよりA→B→C→B→Aと画面遷移していき、 Aに戻ったらまた次のAのリストを選択し同じように遷移していきます。 それを繰り返し操作していると、10〜20件くらいしたところで、B→Aに戻る際、 「viewDidLoad」を通ってしまいます。navigationControllerで画面に 戻る際は、「viewDidLoad」は通らないハズなのに、メモリ不足で再読み込みでも しているのでしょうか?いろいろ調査したのですが分からずです(><) 「viewDidLoad」を通ると困るので、どうかご教授願いますm(_ _)m
869 :
名称未設定 :2010/09/22(水) 11:46:09 ID:mVARnO5CP
>>868 C→B→Aのときは普通にpopViewControllerしてるんだよね?
BやCでリークしてるのでは?
>「viewDidLoad」を通ると困る
そもそもこれが間違ってるけどね。
870 :
名称未設定 :2010/09/22(水) 11:50:29 ID:BidMA89R0
>メモリ不足で再読み込みでも しているのでしょうか? うん。viewDidUnloadが呼ばれてると思うよ。 まずInstrumentsでリークがないか、また、メモリ使用量の変遷を観たほうがいい。 その上で(バグがなくて)viewDidUnloadが呼ばれるのなら、ちゃんと実装しないとだめ。
871 :
名称未設定 :2010/09/22(水) 17:25:56 ID:5fulGxYD0
[UIView beginAnimations:nil context:nil]; で発生させたアニメーションは途中でキャンセルできませんか? 終了座標までまっしぐらですか?
872 :
名称未設定 :2010/09/22(水) 21:35:30 ID:oeqz+UXc0
>>868 どっかでreleaseを忘れてるか、releaseのやり方が間違っている。
873 :
名称未設定 :2010/09/22(水) 23:42:47 ID:W3v0Egme0
>>871 [layer removeAllAnimations]
[layer removeAnimationForKey:@"transform.translation"]
874 :
名称未設定 :2010/09/22(水) 23:45:20 ID:W3v0Egme0
>>871 追記。Layerの位置などの値は、presentationLayerから取得できたはず。
875 :
名称未設定 :2010/09/23(木) 10:38:20 ID:4c8bS10I0
txtファイルをアプリ内から作成しているんですが、実機だと作成したファイルの 削除方法が分からずどんどん増えてしまいますorz シミュレーターならフォルダの中入ってファイルを削除できるんですが… もしかしてプログラムからファイルを削除するコード書いてファイルを消したりしなければ ならないんでしょうか?
876 :
名称未設定 :2010/09/23(木) 10:52:04 ID:5g1PdtyL0
877 :
名称未設定 :2010/09/23(木) 11:54:37 ID:UDrMkadE0
とてもプログラマの発言とは思えない
878 :
名称未設定 :2010/09/23(木) 11:56:34 ID:SrYXmhGE0
879 :
名称未設定 :2010/09/23(木) 13:18:37 ID:4c8bS10I0
アプリ消すしかないんですね… ありがとうございます!
880 :
名称未設定 :2010/09/23(木) 13:23:22 ID:y6sKSa6r0
えw
881 :
名称未設定 :2010/09/23(木) 13:23:54 ID:8lAUH9J10
882 :
名称未設定 :2010/09/23(木) 13:24:19 ID:UDrMkadE0
やっぱりとてもプログラマの発言とは思えない
883 :
名称未設定 :2010/09/23(木) 13:30:02 ID:8RW/ZG5H0
>>882 いや、プログラマは設計者のいうことを
素直に聞く人種だから、こんな感じだよ。
884 :
名称未設定 :2010/09/23(木) 13:35:17 ID:6/8goBqW0
それにしては基礎知識が不自由なご様子… こんなんと一緒くたに価格競争されたらそらぁ単価も下がるわけだorz
885 :
名称未設定 :2010/09/23(木) 13:50:12 ID:+gjBZeMn0
そういう話ではないでしょ。 開発中に(途中でクラッシュしたりして)ディレクトリにごみがたまってしまうのはよくある話。 それをオーガナイザなどから消せない? という意図でしょ。 でオーガナイザで試そうとして自前のアプリディレクトリをダウンロードしたら わずか100MBほどなのに1分ほど刺さったぞ(w
886 :
名称未設定 :2010/09/23(木) 13:57:51 ID:5g1PdtyL0
887 :
名称未設定 :2010/09/23(木) 15:06:51 ID:8lAUH9J10
>>883 そんなプログラマいらねw
どっかのダメSIerのダメSEの発言か?
888 :
名称未設定 :2010/09/23(木) 15:31:10 ID:8Lj0nM820
いや、このスレはプログラマ前提ではない筈だが
889 :
名称未設定 :2010/09/23(木) 15:32:34 ID:SRc6dgmP0
890 :
名称未設定 :2010/09/23(木) 15:52:34 ID:Q34eykEZ0
>>888 iPhoneアプリ開発の初心者向けだけど、
プログラミングの初心者向けではないでしょう。
そもそも組み込み環境がプログラミングの入門に向くとも思えない。
891 :
名称未設定 :2010/09/23(木) 16:02:53 ID:qbx+6Pza0
>>884 この業界の価値は、プログラマかSEかではなく、
起業したかしてないか、または人の上にたてるかただ命令通りに働いているかの違いだからね。
いい大学ででも、中間管理職どまりのおっさんより、高卒で会社起こす方が価値がある。圧倒的に。だから、給料についていえば、ちょっと知識があるくらいのプログラマなんてたかがしれてる。
892 :
名称未設定 :2010/09/23(木) 16:10:42 ID:Q34eykEZ0
起業する事自体は誰でも簡単にできるから・・・ 起業したからって自分の思い通りに動けるわけでもないし。
893 :
名称未設定 :2010/09/23(木) 16:45:21 ID:FoA5vbnli
>>885 復元とかしてもダメですかね?
最近、実機が激重になってきて
>>885 みたいな事を疑ってるんですけど。
894 :
名称未設定 :2010/09/23(木) 17:05:08 ID:rrs2Oade0
895 :
名称未設定 :2010/09/23(木) 18:39:55 ID:5g1PdtyL0
>>893 疑う前に容量がどれだけ残ってるか確認したんだろうな?
896 :
名称未設定 :2010/09/23(木) 18:48:10 ID:6/8goBqW0
>>893 ゴミファイルの有無で動作が変わるような処理をしてるのか?
iOS4.xなら、とりあえず不要なタスクを止めることかな
開発用のデバイスでSafariだのブラウザだの色々使ってるんなら特にね
開発中のアプリをデバイス側で削除して、電源を完全に切ってもう一度やり直してみたらどう?速くなる?
897 :
名称未設定 :2010/09/23(木) 18:49:55 ID:+UJdpT320
Navigation Barのタイトルが長い場合、途中で...と省略されてしまうのですが、 うまくすべてを表示する方法はありますか? 自動で文字サイズを縮小してくれる法ほがあればベストですが、 事前に文字サイズを設定する方法でも問題ありません。 Inspectorでもそのような項目は見つかりませんでした。 よろしくお願いします。
898 :
名称未設定 :2010/09/23(木) 19:02:30 ID:pWbxCP4U0
NSStringが曲者過ぎない? リークの原因がNSStringのとこばっかだ。
899 :
名称未設定 :2010/09/23(木) 19:09:18 ID:NhppQaYu0
NSStringとNSMutableStringの2種が用意されてる意味がわかってないアホが多いのか?
900 :
名称未設定 :2010/09/23(木) 19:25:21 ID:6/8goBqW0
>>897 UINavigationItem.titleViewにUILabelを接続しては?
いろいろいじれるようになるよ
>>898 文字列を切った貼ったする時のメモリ管理の仕組みを勉強し直したら
リークがゼロになるじゃないかw
901 :
名称未設定 :2010/09/23(木) 20:17:01 ID:IeRZeGAhP
902 :
名称未設定 :2010/09/23(木) 22:34:39 ID:3SvgSXid0
903 :
名称未設定 :2010/09/23(木) 22:37:06 ID:DxL8XUBI0
バイナリで取得してから自前のライブラリでエンコード
904 :
名称未設定 :2010/09/23(木) 22:54:50 ID:3SvgSXid0
アドバイスありがとうございます が、そこまでスキルがないです・・・ NSDataで取得して、何かをするんですかね? NSDataで取得して、initWithDataでShiftJIS指定して変換してもnilしかはいってないんです NSDataをどのように加工するのでしょうか?
905 :
名称未設定 :2010/09/23(木) 23:10:16 ID:VcTmVT4M0
>>904 バイト列からunichar (ucs16) へと自前で変換するんだ。
iconv は cocoa 同等だから使うなよ。
具体的なやり方はググるかプログラム板あたりで訊け
それが出来ないなら諦めろ。
906 :
名称未設定 :2010/09/23(木) 23:24:27 ID:3SvgSXid0
親切にありがとうございます。 NSData *data = [NSData dataWithContentsOfURL:url]; NSUInteger len = [data length]; Byte *byteData = (Byte*)malloc(len); memcpy(byteData, [data bytes], len); for(int i=0;i<len;i++){ byteData[i:] <----------------------ここで何かをする???? } NSString *str = [NSString stringWithCharacters:[byteData bytes] length:[byteData length] / sizeof(unichar)]; といった感じでしょうか?全部用意されたコマンドでやりくりしようとしていたので かなり面食らってますが、もう少し調べてみます
907 :
名称未設定 :2010/09/24(金) 03:49:24 ID:UiPgf00pi
Setting.bundleで設定アプリで表示されるテーブルビューをアプリケーションに組み込みたいんですが、連絡帳コントロールみたいにサポートされていませんか?
908 :
名称未設定 :2010/09/24(金) 11:49:38 ID:TgA0Tell0
あるサイト(自前でないのでhtmlファイル等は変更できないことを前提に) で使われているスクリプトファイル中の関数をオーバーライドしようとしてます。 (関数の機能アップを図りたい) 例えば, <script type="text/javascript" src="somefunctions.js"></script> とあるのを stringByEvaluatingJavaScriptFromStringで、以下のように付け加えて、 somefunctions.jsの後から読ませることによって,オーバーライドしようとしてます。 var script = document.createElement('script'); script.type = 'text/javascript'; script.src = '__PathToScriptFile__'; var head = document.getElementsByTagName('head')[0]; head.appendChild(script); __PathToScriptFile__はfile://localhost/Users/....app/newfunctions.jsになります。 ((NSURL*)fileURLWithPath:を利用。) しかし,somefunctionsをオーバーライドできませんでした。 これは、クロスサイトスクリプティングを禁止されているからでしょうか? ローカル(バンドルリソース)のスクリプトファイルを読み込ませる方法はありますか? (いざとなったらDOMを使って,書き換えてゆくしかないと思ってますが,メンテナンス性を考えると, ローカルのスクリプトファイルの方がよいので。)
909 :
名称未設定 :2010/09/24(金) 12:11:34 ID:y217BFPL0
In app purchaseについて質問です。 テスト環境で購入テストをしようとしたところ テストアカウントを入力したあとに paymant requests are restricted to products returned as valid via store kit's didreceiveresponse method. というエラーアラートが出るようになりました。 先日まではうまくいっていたのですが。 AppStoreからDLしたアプリだとエラーが出ずに 購入できています。
910 :
名称未設定 :2010/09/24(金) 12:26:27 ID:3Hq24u570
有料アプリを初めて申請してみた。 有料って責任感と罪悪感を感じてしまう。
911 :
名称未設定 :2010/09/24(金) 12:51:16 ID:2XEgoTiU0
罪悪感?
912 :
名称未設定 :2010/09/24(金) 12:54:31 ID:liPOVdgM0
>>910 どこぞの小ネタブログを勝手にパクったとかじゃないだろなw
913 :
名称未設定 :2010/09/24(金) 12:56:31 ID:wFe46F220
次のコードでUITableViewCellの背景を描画しています。 NSString *backgroundImagePath = [[NSBundle mainBundle] pathForResource:@"bg" ofType:@"png"]; UIImage *backgroundImage = [[UIImage imageWithContentsOfFile:backgroundImagePath] stretchableImageWithLeftCapWidth:0.0 topCapHeight:1.0]; UIImageView *bgImageView = [[[UIImageView alloc] initWithImage:backgroundImage] autorelease]; bgImageView.autoresizingMask = UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight; self.backgroundView = bgImageView; self.backgroundView.frame = self.bounds; で、描画はできるのですが、画像よりもセルのheightが大きいときに、 画像がセルの下固定で詰められてしまいます。 これを上固定にしたいので、ヒントなど頂けないでしょうか?
914 :
名称未設定 :2010/09/24(金) 13:15:25 ID:p8yjfwGG0
self.backgroundView.frameをいじるとか。
915 :
名称未設定 :2010/09/24(金) 13:38:54 ID:wFe46F220
>>914 ありがとうございます。
頑張ってみます
916 :
名称未設定 :2010/09/24(金) 18:54:35 ID:vUsRTlbU0
>>908 script エレメントを追加してもスクリプトは読んでくれないと思うし、
外部サイトからロードした html コンテンツが
file スキーマで端末内部のファイルにアクセスできたら
恐るべきセキュリティホールだよね。
js ファイルの中身をそのまま stringBy... で評価させれば良いと思う。
917 :
名称未設定 :2010/09/24(金) 19:30:27 ID:E7PnQAXv0
918 :
名称未設定 :2010/09/24(金) 19:37:04 ID:tIFBKMtS0
-[UIView setNeedsDisplay] ?
919 :
名称未設定 :2010/09/24(金) 20:20:08 ID:2XEgoTiU0
画像が無いというオチじゃね?
920 :
名称未設定 :2010/09/24(金) 21:17:45 ID:E7PnQAXv0
アドバイスありがとうございます。 setNeedsDisplayですか? 再描画するようなコマンドなんですかね。あとでやってみます。 >画像が無いというオチじゃね? 画像はあるようなんです。というのも、初回の描画ではしっかりと表示されていますので。
921 :
名称未設定 :2010/09/24(金) 21:56:39 ID:F5tQB3fl0
ツールバーがnavigationControllerのツールバーというオチなら、UIViewのDrawで更新されないのでは?
922 :
897 :2010/09/24(金) 22:16:28 ID:wOToqvnH0
>>900 なるほど、ありがとうございます。試してみます。
923 :
910 :2010/09/24(金) 22:22:31 ID:3Hq24u570
>>912 C言語もよくわからない人間が10冊ほど開発ガイド買いあさって
自分の欲しかったアプリを自分で開発してみた。
そしたらば、案外いいものができあがったから
開発経費回収のため有料で売ってしまえってノリなので。
でも今回は認証にえらい時間かかってるなぁ。
前は夜に申請したら朝にはストアでリリースされてたのに。
924 :
名称未設定 :2010/09/24(金) 22:39:59 ID:F5tQB3fl0
本やサイトを参考に使うのは構わんが、コピーしたコードを流用するのはいかんよ。バグ発覚しても対応できないからな。 最低限、手書きコピーで理解しながら移すようにしないと技術力に限界がきてしまう
925 :
910 :2010/09/24(金) 23:01:35 ID:3Hq24u570
>927 それは大丈夫。ほとんどのサンプルが 記載ミスとかで動作せず全行見直してるし、 サンプルコードもコピーせずに勉強がてら ほとんど手打ちしてプログラムしたから。 苦労したほうが勉強になる。 あとあと、「あ〜なるほど」って気づける箇所も 増えてきたしね。 でもまぁ、基本的には流用かな。ゼロからなんて無茶だよ。
926 :
名称未設定 :2010/09/25(土) 00:27:28 ID:LDQ7U1Q90
確かにゼロベースはOS開発でもしない限りありえないな。フレームワークが存在するからコードスタイルが似てしまうのは当然の結果。
927 :
名称未設定 :2010/09/25(土) 00:33:54 ID:j5hdUpwB0
リリースしたのにほとんどダウンロードされない件について…
928 :
名称未設定 :2010/09/25(土) 00:53:27 ID:u/2l6nDB0
ウザがられても目立てば勝ちだ そこいら中にリンクを貼りまくれ!スクショと説明付きで! そして自演だ!! 褒めろ!褒めろ!!褒めろ!!! そして少し貶せ エッセンシャルな貶しが味を出す! そして、褒めろ!!!!
929 :
名称未設定 :2010/09/25(土) 01:10:25 ID:jYLIk5ku0
ここに晒してくれたら全力で褒めてやる
930 :
名称未設定 :2010/09/25(土) 01:13:33 ID:H+FYhRmL0
指1本でタッチされている間に、2本目の指のタッチが加わった場合は、 その2本目の指によるタッチはどのようにすれば検出できるでしょうか?
931 :
名称未設定 :2010/09/25(土) 02:27:31 ID:bBYH9J4J0
932 :
名称未設定 :2010/09/25(土) 04:56:48 ID:UANr0Kca0
>>930 タッチイベントのwithEventの方のUITouchを参照する
933 :
名称未設定 :2010/09/25(土) 05:33:02 ID:MIiwBcox0
934 :
名称未設定 :2010/09/25(土) 06:32:29 ID:yQ5jItP60
行き詰まりました。すみませんが教えて下さい。 最大値、最小値を求めてコンソールに出力可能なのですが、求められた値を 文字列として扱う変換がうまくいきません。 大変申し訳有りませんが教えて下さい。ソースコードは以下です。 ・4桁の数字をUITextfieldより拾い出し、ばらしてその4桁の数値の中から 最大値、最小値を求める。(例:1468なら最大値「8」最小値「1」) (前略) int num4 = [str4 intValue]; NSArray *numbers = [NSArray arrayWithObjects: [NSNumber numberWithInt:num1], [NSNumber numberWithInt:num2], [NSNumber numberWithInt:num3], [NSNumber numberWithInt:num4], nil]; // 最大値 NSPredicate *maxPred = [NSPredicate predicateWithFormat: @"SELF == max:(%@)", numbers]; NSLog(@"%@", [numbers filteredArrayUsingPredicate:maxPred]); // 最小値 NSPredicate *minPred = [NSPredicate predicateWithFormat: @"SELF == min:(%@)", numbers]; NSLog(@"%@", [numbers filteredArrayUsingPredicate:minPred]);
935 :
名称未設定 :2010/09/25(土) 06:41:33 ID:LDQ7U1Q90
人に聞くより、NSStringの関数調べるのが先
936 :
名称未設定 :2010/09/25(土) 08:29:43 ID:yQ5jItP60
>>935 そうなんですよね。調べまくってるのですがなかなか思うように動かなくて・・
ちなみに変数に入れてフォーマット変換しようと思ってもd型でうまく返ってきてくれません。
NSPredicate *maxPred = [NSPredicate predicateWithFormat:
@"SELF == max:(%@)", numbers];
NSArray *result;
result = [numbers filteredArrayUsingPredicate:maxPred];
NSLog(@"%@",result);
NSString *MaxA = [NSString stringWithFormat:@"%d",result];
NSLog(@"%@",MaxA);
もうちょい調べてみます。アドバイスありがとうございました。
937 :
934 :2010/09/25(土) 08:33:44 ID:yQ5jItP60
自己解決。失礼しました NSPredicate *maxPred = [NSPredicate predicateWithFormat: @"SELF == max:(%@)", numbers]; NSArray *result; result = [numbers filteredArrayUsingPredicate:maxPred]; NSLog(@"%@",result); NSString *MaxA = [NSString stringWithFormat:@"%@",result];//←@"%@"でうまくいきました。すみません。 NSLog(@"%@",MaxA);
938 :
名称未設定 :2010/09/25(土) 08:38:14 ID:LDQ7U1Q90
NSNumberはオブジェクト型だから、 IDを返している可能性がありそうだが
939 :
名称未設定 :2010/09/25(土) 09:54:07 ID:SZ1xKoPi0
t
940 :
名称未設定 :2010/09/25(土) 10:00:24 ID:SZ1xKoPi0
UIColor の colorWithPatternImage: メソッドについておたずねします。 UIView *view = [[UIView alloc] initWithFrame:frame]; view.backgroundColor = [UIColor colorWithPatternImage:[UIImage imageNamed:@"BackgroundTile.png"]]; が効きません。背景は真っ黒になります。 もちろん同コンテキストで view.backgroundColor = [UIColor redColor]; とすればOKです。 もちろん画像はバンドルされていますし、戻り値も確認しています。
941 :
名称未設定 :2010/09/25(土) 10:19:45 ID:cx3lPI6t0
>>926 すっごい嫌みだ。伝わってないのが残念。
942 :
名称未設定 :2010/09/25(土) 10:26:21 ID:yNxjJyqs0
943 :
名称未設定 :2010/09/25(土) 10:56:28 ID:EgKK6aJo0
皆さんはアプリのアイデアをどうやって捻り出してますか? なんかもう殆ど揃っちゃっててダメじゃん・・・
944 :
名称未設定 :2010/09/25(土) 11:11:13 ID:0FAJjuR/0
ひらめくものだろ そのための材料作りは日々の生活上での出来事がすべて
945 :
名称未設定 :2010/09/25(土) 11:22:07 ID:SZ1xKoPi0
>>942 別のでも試しました。
ところで、つぎのようにview の layer にセットしたら巧くゆきました。でもなぜ???
view.layer.backgroundColor = [UIColor colorWithPatternImage:[UIImage imageNamed:@"BackgroundTile.png"]].CGColor;
べつの局面では view.backgroundColor に同様のイメージからパターン化した UIColor オブジェクトをセットしてOKだったり、、、う〜ん。
946 :
名称未設定 :2010/09/25(土) 12:20:07 ID:YWjnfp6b0
UIWebviewに関して質問です。 通常の読み込みに関しては - (void)webViewDidStartLoad:(UIWebView *)webView - (void)webViewDidFinishLoad:(UIWebView *)webView で通知を受け取る事が可能ですが、Javascript等で IMGタグを挿入した場合等の読み込みの通知を受け取る事ができません。 何か方法があればご教授ください。 また、その際に進捗状況等を取得できれば、その方法も教えていただければ助かります。
947 :
名称未設定 :2010/09/25(土) 12:22:39 ID:MhJVPzxL0
>>943 俺は作りたいものが沢山あるよ。まだまだ余地はある。
948 :
名称未設定 :2010/09/25(土) 12:24:19 ID:H+FYhRmL0
>>932 解決しました!どうもありがとうございました。
>>931 サンプルにもあったとは。失礼しました。
949 :
名称未設定 :2010/09/25(土) 12:25:03 ID:yNxjJyqs0
>>943 そのうち「生きていても仕方ない」とか言い出しそうだな
950 :
934 :2010/09/25(土) 12:28:40 ID:yQ5jItP60
>>938 返信ありがとうございます。確かにidで返ってきているようで、実際の数値として
扱う所でまだ苦戦してます・・・
@"%@"で得た値は、double型にしても訳が解らない数値になってしまって。
単純にそこで得た最大値をifで使いたいのに使えません。。。
またお暇な方いらっしゃいましたら宜しくご教授下さいませ。
NSArray *numbers = [NSArray arrayWithObjects:
[NSNumber numberWithInt:num1],
[NSNumber numberWithInt:num2],
[NSNumber numberWithInt:num3],
[NSNumber numberWithInt:num4],
nil];
// 最大値
NSPredicate *maxPred = [NSPredicate predicateWithFormat:
@"SELF == max:(%@)", numbers];
NSArray *result;
result = [numbers filteredArrayUsingPredicate:maxPred];
strA = [NSString string];
strA = [[result objectAtIndex:0]stringValue];
NSLog(@"%@",strA);//←コンソールでは『4』
if (strA == @"4") {
groupA.text = @"ok";
}
else{
groupA.text = @"error";
}
※サンプルデータは1234の文字列です。
951 :
名称未設定 :2010/09/25(土) 13:18:16 ID:xiq3k+on0
NSMutableString *stringA = [NSMutableString stringWithFormat:@"%d", 4]; NSMutableString *stringB = [NSMuatbleString string]; [stringB appendFormat:@"%d", 4]; stringAとstringBは内容は同じですが、別のインスタンスです。 他にもあなたは基本的なところを理解していないんだが、俺には教える能力がない
952 :
名称未設定 :2010/09/25(土) 14:27:45 ID:LDQ7U1Q90
文字列比較は==ではない NSNumberからintへ変換する
953 :
名称未設定 :2010/09/25(土) 15:26:08 ID:8ienZTxj0
isEqualToString
954 :
934 :2010/09/25(土) 15:42:41 ID:qQbyJevd0
>>951 >>952 >>953 どうもありがとうございます。
やっと謎が解けました^^
文字列の比較でif([str compare:@"9"]==NSOrderedSame) ??とかやってて気がつきました。
int 型にしてやって数値の比較をすればよかったんですね^^;
>>文字列比較は==ではない
>>NSNumberからintへ変換する
一緒の事と思ってやってました。そもそもint型なのかNSStringなのか基本的な所から
理解しないといけませんね・・
ちなみに不格好ですが出来たコードです。
NSArray〜で4桁の数値を格納 以下
// 最大値
NSPredicate *maxPred = [NSPredicate predicateWithFormat:
@"SELF == max:(%@)", numbers];
NSArray *result;
result = [numbers filteredArrayUsingPredicate:maxPred];
strA = [[result objectAtIndex:0]stringValue];
i = [strA intValue];
if(i == 9)
{
groupA.text = @"G0";
}
else{
groupA.text = @"error";
}
数値一つ判定するのも大変面倒!ですね。
ありがとうございました
955 :
名称未設定 :2010/09/25(土) 17:24:55 ID:qq3PAQW00
UITextViewで文字列の選択のユーザーインタフェース,↑こんな感じでマッチ棒で挟んでるようなやつ↓ をUILabelで使用することできませんか? UILabelを使う以上カットアンドペーストは禁止するにしても,コピー(選択,全選択)をつかえるように したいのです。(例えばUITableViewなどで) UIPasteboardクラスとは目的が違うようなので,よろしく教えてください。 (UITextViewをUILabelのサブビューにすればいいのかな?)
956 :
名称未設定 :2010/09/25(土) 17:37:06 ID:OsKh+x+A0
>>ツールバーがnavigationControllerのツールバーというオチなら、UIViewのDrawで更新されないのでは? はいそうでした・・・ しかしこの場合は、どういうコマンドを打てばnavigationControllerを更新できますか?
957 :
名称未設定 :2010/09/25(土) 17:37:25 ID:ZHNhh0yJ0
すごい厄介なバグなんで放置してたバグが再現しなかった・・・
うわーい面倒。でも条件がある、ということは解法があるか。ちょっと集中してやってみよ。
>>955 UITextViewにeditableとかなかった?
958 :
名称未設定 :2010/09/25(土) 17:59:20 ID:OsKh+x+A0
956続きです。 [self.navigationController reloadInputViews]; と呼び出してみましたが、変化はありませんでした。 UIBuilderでNavigation Controller の Root View Controller の中にボタンが入っているのですが、これ以外にコーディングで navigationControllerの中に入っているみたいな記述が必要なのでしょうか
959 :
名称未設定 :2010/09/25(土) 19:37:12 ID:7HgiZIIy0
admobをTableViewに組み込んだのですが ずっと同じ広告で切り替わりません ホームボタンでもどってきて、再びアプリを立ち上げても変わりません ビルド実行するとさすがに変わりますが。 何か命令を呼ばないとかわらないんですかね?
960 :
名称未設定 :2010/09/25(土) 20:25:10 ID:rANjMkXq0
iPhoneのAppStoreでアプリの個別のページを見たときに (おそらく個人の開発者で)販売会社や企業の欄に 何も表示されていないアプリが時々あるのですが、 どういう設定をしたら(非表示に)できるものでしょうか。
961 :
568 :2010/09/25(土) 21:47:52 ID:kMnyDJe20
UIVewControllerを使ってセルに2行以上のテキストをサブテキスト(メールアプリのセルに表示させるようなサブテキスト) を表示させたいのですが、実装させるのにどのようなコードを使ったらよいですか? 知ってる方がいたら、教えてくれると助かります。
962 :
名称未設定 :2010/09/26(日) 00:25:00 ID:GATuM/Qt0
963 :
名称未設定 :2010/09/26(日) 00:33:54 ID:DbP7Gjer0
>>959 タイマーで30秒ごとに切り替えてるサンプルコードを見ろ。
964 :
名称未設定 :2010/09/26(日) 04:11:53 ID:M7QGMOoQ0
Admobのアドバイスありがとうございます。
UITableViewのサブテキストでしたら
ttp://ianki.com/blog/?p=311 が参考になるかもしれないです。
cell.detailTextLabel.numberOfLines = 2;
とか書くと行数を変更できます
965 :
名称未設定 :2010/09/26(日) 06:26:54 ID:EpssirPO0
NSString sizeWithFont:constrainedToSize:lineBreakModeが 改行した結果、渡した矩形に収まってないのに 収まっている矩形を返してしまいます。 収まりきらないのを判断する方法は無いでしょうか?
966 :
名称未設定 :2010/09/26(日) 11:21:11 ID:ImoWYUWG0
iPhone上のiTunesで現在再生している楽曲の情報を取得したいのですが、 これって可能なのでしょうか?
967 :
名称未設定 :2010/09/26(日) 11:35:41 ID:+LAds7gYP
968 :
名称未設定 :2010/09/26(日) 12:40:56 ID:ImoWYUWG0
>>967 MPMediaPlayerですね。
ありがとうございます。
969 :
名称未設定 :2010/09/26(日) 13:02:49 ID:ImoWYUWG0
度々申し訳ありません。
ちなみにiPhoneシミュレータ上でiPodと連携させて
>>966 のテストを
実施するのってやっぱり無理ですよね?
970 :
名称未設定 :2010/09/26(日) 16:36:15 ID:GATuM/Qt0
971 :
568 :2010/09/26(日) 17:54:24 ID:H87NGXdf0
>964 さん 解答してくれてありがとうございます。 早速みてみようと思います。 目的のアプリができるようお祈りしてます。
972 :
名称未設定 :2010/09/26(日) 18:04:17 ID:+LAds7gYP
>>969 無理。そもそも、シミュレータを使う意義なんて、iPad発売前みたいに、実機を入手
できない場合ぐらいしかないけどな。転送なんて100Mサイズのアプリじゃなけれ
ば本の10秒ぐらいで終わるし。
973 :
名称未設定 :2010/09/26(日) 18:21:19 ID:DHnnZGoR0
最初のお勉強期間中は会員にならずにシミュレータでやるのでは
974 :
名称未設定 :2010/09/26(日) 18:43:45 ID:kEk7qNLQ0
ジリジリしてるとその10秒の為にシミュレータでやったりするけどなw それと、iOS4.xでデバッグ中にハマると実機側にプロセス残ってたりするんで そんな時はシミュレータ側でやった方が手っ取り早いな あとはカスタムビューの見栄え確認もスナップショットが比較しやすいんで シミュレータ使ってる なんだかんだで実機でやったりシミュレータでやったり半々かな
975 :
名称未設定 :2010/09/26(日) 18:45:37 ID:XFzBgroO0
iPhoneアプリ作成する上で画像作成がネックになってるんですが、皆さんどういう環境で作成してますか? 私はParallels上のWindowsでペイントを使ってサイズ指定で画像作ってますが、 カッコいい画像が作りにくくてつらいです。 かといってアドビのイラストレータは8万円以上するし、、、 1万円程度なら買っても良いんですが。 iPhoneアプリ用画像作成に良いツールあったら教えてください。
976 :
名称未設定 :2010/09/26(日) 19:52:03 ID:wYBPH62k0
Photoshop
977 :
名称未設定 :2010/09/26(日) 20:21:13 ID:XvlT4snS0
978 :
名称未設定 :2010/09/26(日) 20:24:44 ID:i2vBrkor0
他人のフンドシ 世の中色々なサービス(画像ジェネレータ類)があるから、 ボタンや背景はそういうサービスが良い。 お金かけずならGIMPかpixelmatorがいいのでは。
979 :
名称未設定 :2010/09/26(日) 20:31:40 ID:i2vBrkor0
ところで、みなさんレイアウトを組む場合って UI kit か HTML5 のどちらでしてます? javascriptでviewの切り替えの制御ってできたりするのかな。 アンカータグにIBActionを絡ませることとか。
980 :
898 :2010/09/26(日) 20:49:35 ID:aJLks1zK0
>>899-900 亀ですが、ありがとうございます。
何かしら反応もらえるので助かります。
981 :
名称未設定 :2010/09/26(日) 21:26:18 ID:XFzBgroO0
>>977 ありがとうございます。体験版落としました。
試してみようと思います。
982 :
名称未設定 :2010/09/26(日) 21:40:33 ID:GATuM/Qt0
>>975 Photoshop Elementsでいいんじゃね?
983 :
名称未設定 :2010/09/26(日) 22:23:52 ID:slzRpRFk0
Interface Builderを避けて、UIKit手書きでやってきたけど IBを使った方が早く書けるものなのかな? 使い方が直感的でなくて、さっぱりわからないので どうしても本能的に忌避してしまうんだが、みんなもそう?
984 :
名称未設定 :2010/09/26(日) 22:28:38 ID:pG//heIz0
>>983 基本はIB使わない派なんだけど、PopoverとかUI部品がいっぱい載るようなのは
手書きすると面倒&簡単なPopoverのためにわざわざUIViewControllerのサブクラス作るのめんどい、
という理由でIB使ってる。
985 :
名称未設定 :2010/09/26(日) 22:39:42 ID:i2vBrkor0
>983 基本的には併用で作ってる。 意味もなく手書きにこだわって1日かけるよりかは Interface Builderで1時間で仕上げるほうが良いのでは。 ただInterface Builderで組む場合も 手書きの場合はどう組むのかを知っておく必要はある。 あとあとそのへんの知識で融通がきくようになるから。
986 :
名称未設定 :2010/09/26(日) 23:07:46 ID:qjGufaxo0
あの、2番目のアプリを作ってみようと漠然と考えてるんですけど、 iTunesとかで、画像ファイルやTEXTファイルを同期させてiPadに転送して、 それをアプリで読み込むってことは、可能なんでしょうか?
987 :
名称未設定 :2010/09/26(日) 23:42:43 ID:slzRpRFk0
>>985 1日かかるのが1時間になるというのは参考になるな、ありがとう。
IBの使い方ってどうやって覚えたか教えてもらえない?
988 :
名称未設定 :2010/09/26(日) 23:49:51 ID:/XggYpUM0
>>987 そこまで作業時間は変わらないよ。
IBの使い方は人に聞いても説明が難しいかなぁ。
IBなしでUIKitが使えるなら仕組みが分かってるから簡単に使える。
難しいって人はUIKitをしっかり勉強した方がいい。
989 :
名称未設定 :2010/09/27(月) 01:01:52 ID:HLthw/3A0
聞くより、手を動かす、本を読む、webで調べる。 昔からプログラミングの上達方法は変わらない。
990 :
名称未設定 :2010/09/27(月) 01:03:14 ID:V+rcA/UP0
>>989 それなら、本の紹介とかWebの紹介とか出来るじゃないw
991 :
985 :2010/09/27(月) 01:43:28 ID:M1PTTFOe0
>>987 >>988 さんと内容はかぶるけど。
「iPhone プログラミング UIKit 詳細リファレンス」
の書籍をとりあえず全部理解する。
この本自体は「Interface Builder」には否定的な内容だけど
UIKitを理解するには逸品のリファレンス。
あとUIKitの本は2−3冊は揃えておいた方がいい。
UIKitが理解できればInterface Builderでレイアウト組むときに
「あーこれは、手書きのときのあの部分だな」っていうのが
わかるようになるから、特にInterface Builderの何かを
勉強したってことはない。
でもInterface Builderの覚えるのはXcode4.0がリリースされた
時で良いのではないかと思う。
とりあえずプログラミングの開発ガイドの書籍には
ケチらず揃えておくのがいい。これは費用対効果抜群の投資。
992 :
名称未設定 :2010/09/27(月) 02:04:47 ID:V+rcA/UP0
>>991 IBの面倒なところって、IBActionとIBOutletだろ
UIKitの理解は大事だが、Interface Builderが「感覚的」に使えない奴は
そこがわからんのではないか?
そんでもって、そこの理解にはその本はクソの役にも立たない
993 :
名称未設定 :2010/09/27(月) 02:27:08 ID:FHux/2vFP
actionつうのはだな。プログラムに入力端子とだな、出力端子が付いていてだな、アクションの信号がだな、その入力端子から入ってだな、プログラムで処理をされてだな、アウトレット信号がだな、その出力端子から出てだな、ラベルとかに接続されてるわけだよ。わかるかね。
994 :
名称未設定 :2010/09/27(月) 02:49:55 ID:oc8MAzo7P
おめえらいずまでもいずまでも調子乗ってんじゃねえかんな。
995 :
名称未設定 :2010/09/27(月) 04:00:31 ID:HLthw/3A0
俺は少しお腹の調子が悪くて、のれないんだ。
996 :
名称未設定 :2010/09/27(月) 04:20:17 ID:H2arfjiE0
>>992 、991
IBActionとIBOutletは別に難しくないと思う。
あと入力とか出力みたいな例えも理解を妨げるからやめた方がいい。
Xcodeから見たらIBActionはvoid、IBOutletは空文字で、どっちも意味なし、
IBから見たらXcodeで何を定義したかを知るための手がかり。
XcodeとIBが分離してるからお互いを認識させるのに必要ってだけのもの。
接続するのにcontrol押しながらってやってた時代は使いづらかったけど
今の黒いウィンドウに変わってからは、大分使いやすくなったかなぁ。
けど、このあたりの設計はXcodeとIBが統合されたら
また変わりそうだから
>>991 の言う通りXcode4.0から使えばいいと思う。
997 :
名称未設定 :2010/09/27(月) 04:26:18 ID:a3eweRirI
>>990 >>992 本の紹介と言いつつ紹介されたのをみたら否定。
しかも否定しといて代替案無し。
なら紹介出来るとか書くなよなぁ~。
998 :
名称未設定 :2010/09/27(月) 07:32:36 ID:Qv1Ek1fB0
これでヒレガス本を紹介しても「Mac用なんて時間の無駄」とか言うんだろうな。
999 :
名称未設定 :2010/09/27(月) 08:32:53 ID:EZQVUEd50
1000 :
名称未設定 :2010/09/27(月) 08:34:21 ID:9HxLteiQ0
IB使うと重くなると思ってた。
1001 :
1001 :
Over 1000 Thread このスレッドは1000を超えました。 もう書けないので、新しいスレッドを立ててくださいです。。。