[SDK]iPhoneアプリ開発初心者質問箱35[touch][iPad] (104) TOP カテ一覧 スレ一覧 2ch元 削除依頼
MacBook Pro Retina Display (Part 44) (1001)
iPad Air 1st (262)
iMac part 181 (489)
Mac mini Part125 (1001)
【27インチiMacの欠陥】消費者センターに通報と相談 (100)
MacBook Pro Retina Display (Part 44) (1001)

[SDK]iPhoneアプリ開発初心者質問箱35[touch][iPad]


1 :2013/10/18 〜 最終レス :2013/10/27
iPhone, iPod touch用アプリケーションの開発を始めたばかりの初心者向け質問スレ。
■質問する前に■
1. 質問は日本語もしくはObjective-Cで
 質問に質問で返されても逆切れしない。それは質問の仕方が悪いってことだよ。
2. どういう内容であれレスをもらったら報告とお礼の言葉を忘れずに。
 回答者は自分の時間を使って親切で回答してくれています。
3. 回答者は自分も初心者であった事を忘れずに。
4. マルチポスト(複数のスレに同じ質問を書込むこと)は厳禁!
5. 質問は可能な限り具体的に。
 ただ「エラーが出ます」ではエスパーかスタンド使いでなければ答えられません。
 エラー内容をちゃんと書きましょう。
6. わからない部分のコードをコピペすると手っ取り早いです。
7. このスレは無料プログラミング教室ではありません。
 「○○の仕方を教えてください」という質問はなるべく避けてください。
 「自分で調べたけどわからなかった事」を質問するというスタンスを忘れずに。
8. バグを安易にOSや開発環境のせいにしない。
 自分の知識の無さを棚に上げて人のせいにするなんて百年早い。
■関連スレ
iOSアプリ 個人開発者の雑談スレ17
http://anago.2ch.net/test/read.cgi/mac/1379949454/
iPhone iPad iOSプログラミング Part1
http://toro.2ch.net/test/read.cgi/tech/1314086681/
【脱獄】iPhoneのJailbreakアプリ開発スレ
http://anago.2ch.net/test/read.cgi/mac/1337945208/
※前スレ
[SDK]iPhoneアプリ開発初心者質問箱34[touch][iPad]
http://anago.2ch.net/test/read.cgi/mac/1376905521/

2 :
Appleの開発者向け公式日本語ドキュメントはこちら
https://developer.apple.com/jp/devcenter/ios/library/japanese.html
【iPhoneアプリ】 cocos2dスレ 【iOSアプリ】
http://anago.2ch.net/test/read.cgi/mac/1345064804/
【iPhoneも】Titanium Mobileスレッド【Androidも】
http://toro.2ch.net/test/read.cgi/tech/1310743161/

3 :
Xcode part12
http://anago.2ch.net/test/read.cgi/mac/1356341840/

4 :
>>1おつ

5 :
>>1乙ついでにプロトコルの作り方貼っておきますね。
// I am the rules
@protocol HogehogeDelegate <NSObject>
@required
- (void) hogehogeRequired;
@optional
- (void) hogehogeOptional;
@end

// I am sender
@interface HogehogeView : UIView
@property (nonatomic, weak) id <HogehogeDelegate> delegate;
@end
@implementation HogehogeView
- (void)setDelegate:(id<HogehogeDelegate>)delegate {
if ([delegate conformsToProtocol:@protocol(HogehogeDelegate)]) {
_delegate = delegate;
}
}
- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event {
[_delegate hogehogeRequired];
}
- (void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event {
if ([_delegate respondsToSelector:@selector(hogehogeOptional)]) {
[_delegate hogehogeOptional];
}
}
@end

6 :
// I am receiver
@interface ViewController : UIViewController <HogehogeDelegate>
@end
@implementation ViewController
- (void)viewDidLoad {
[super viewDidLoad];
HogehogeView *hogehogeView = [[HogehogeView alloc] initWithFrame:CGRectMake(0, 0, 100, 100)];
hogehogeView.backgroundColor = [UIColor grayColor];
hogehogeView.center = self.view.center;
hogehogeView.delegate = self;
[self.view addSubview:hogehogeView];
}
- (void)hogehogeRequired {
self.view.backgroundColor = [UIColor yellowColor];
}
- (void)hogehogeOptional {
self.view.backgroundColor = [UIColor purpleColor];
}
@end

7 :
何その I am なんたらって

8 :
アブドゥルかな?

9 :
モーダルビュー表示時に以下の警告がでるんですが、どういうことですか?
Presenting view controllers on detached view controllers is discouraged

10 :
>>9
・UIWindowのrootViewControllerは設定してる?
・presentModalViewController:animated:とかの古いAPI使ってない?

11 :
突然仕事でiPhoneアプリの開発が必要になりました
Xcode5対応でおすすめの本ありますか?
当方コンシューマーゲーム10年、Web5年ぐらい歴のある
ObjC以外の言語は経験豊富なプログラマです

12 :
追記、画面をStoryboardというものを使って作るようなので、
それの解説が載ってる本があればいいのですが

13 :
XCode5対応ってのはまだ出てないんじゃないかな。年内に出版されれば御の字か?
Storyboard は画面遷移とUIまわりを視覚的に解りやすくするもので必須じゃない。
無くてもUI周りはきっちり作れる。
むしろ10年コンシューマやってたんならStoryboardが足枷に感じるかもよ。
まずはAppleの公式ドキュメントから読み始めるのを強く薦める。
Appleのサンプルはリファレンス的なものしか無いから、
ttps://www.cocoacontrols.com
ここでオープンソースのUIが転がってるんだけど、多くは動作サンプルもあるので
githubからチェックアウトしてみれば勉強になるよ。

14 :
>>13
あざっす、Storyboardはクライアントの指定で使わなくてはならないので
必須な感じです
公式ドキュメントは冗長で手っ取り早く飲み込んで作業するのには
やや実践的ではないように感じましたが、
結局そこからの情報が必要になるので、最初に見るのが効率良い感じですか?
あとプログラム経験者の場合は本など使わず、サンプルから入るのが早そうですかね
早速見てみます

15 :
そうだね、市販書籍も結局はAppleのドキュメントのまとめみたいなもんだから、先に面倒でもAppleドキュメントを理解してた奴の勝ちだとは個人的には思う。
でも指摘の通り冗長で飲み込みにくいのは確か(直訳だからな)。
自分が買って役に立った本です(アフィコード抜いてあります。後続版が出てるかどうかはわからんですが)
ttp://www.amazon.co.jp/dp/4797368276/ 詳解 Objective-C 2.0 第3版
ttp://www.amazon.co.jp/dp/4844333852/ iPhoneアプリ開発エキスパートガイド-iOS-6対応
ttp://www.amazon.co.jp/dp/4844331094/ エキスパートObjective-Cプログラミング
ttp://www.amazon.co.jp/dp/4798033235/ iPhoneアプリ開発のコツとツボ35
ttp://www.amazon.co.jp/dp/4798028053/ iOSデバッグ&最適化技法
あ、Storyboard使うんだっけ。〜入門 な本で扱ってるとは思うんだが買ったことが無いからな…ググれば色々出るかなw

16 :
>>15
参考になります、今日紀伊国屋行ってきたら全部あったので立ち読みしてきました
やはりXcode5やiOS7の本はまだ全然出ていませんね
最新情報はWebで追うべきと結論し、買わずに帰ってきました
とりあえずはぐぐってできる所まで頑張ってみて
途中で今日立ち読みした内容が必要になったら買ってみます

17 :
最初にこの2つやるのが結局一番手っ取り早かったりする
初めての iOS アプリケーション
https://developer.apple.com/jp/devcenter/ios/library/documentation/iPhone101.pdf
2つ目のiOSアプリケーション:ストーリーボード
https://developer.apple.com/jp/devcenter/ios/library/documentation/SecondiOSAppTutorial.pdf

18 :
以下のようにして非同期で複数の画像を取得しているのですが
すべての通信が終了した時に、通知をとりたいのですがどのような方法があるのでしょうか
for(NSURL* url in URLArray){
NSURLRequest *request = [[NSURLRequest alloc] initWithURL:url];
[NSURLConnection sendAsynchronousRequest:request queue:[[NSOperationQueue alloc] init] completionHandler:^(NSURLResponse *response, NSData *data, NSError *error) {
UIImage* serverImage = [UIImage imageWithData:data];
}];
}

19 :
>>18
ちょてがるには
NSLock *countingLock = [[NSLock alloc] init];
__block NSInteger numberOfRequests = 0;
for(NSURL* url in URLArray){
synchronized(countingLock){ numberOfRequest++; }
NSURLRequest *request = [[NSURLRequest alloc] initWithURL:url];
[NSURLConnection sendAsynchronousRequest:request queue:[[NSOperationQueue alloc] init] completionHandler:^(NSURLResponse *response, NSData *data, NSError *error) {
UIImage* serverImage = [UIImage imageWithData:data];
synchronized(countingLock){
if( --numberOfRequest == 0 )
NSLog( "OWARI DENGANA" );
}
}];
}
とか。あくまでも超お手軽にだが
completionHandlerってどのスレッドで来るのかなあ。とりあえずNSOperationだから別スレッドだろうという前提でsynchronized

20 :
NSLock *countingLock = [[NSLock alloc] init];
__block NSInteger numberOfRequests = 0;
for(NSURL* url in URLArray){
@synchronized(countingLock){ numberOfRequests++; }
NSURLRequest *request = [[NSURLRequest alloc] initWithURL:url];
[NSURLConnection sendAsynchronousRequest:request queue:[[NSOperationQueue alloc] init] completionHandler:^(NSURLResponse *response, NSData *data, NSError *error) {
UIImage* serverImage = [UIImage imageWithData:data];
@synchronized(countingLock){
if( --numberOfRequests == 0 )
NSLog( @"OWARI DENGANA" );
}
}];
}
直した

21 :
こんなやり方もあるで。
static int cnt;
cnt = 0;

for(NSURL* url in URLArray){

NSURLRequest *request = [[NSURLRequest alloc] initWithURL:url];
[NSURLConnection sendAsynchronousRequest:request queue:[[NSOperationQueue alloc] init]
completionHandler:^(NSURLResponse *response, NSData *data, NSError *error) {

UIImage* serverImage = [UIImage imageWithData:data];
cnt++;
if (cnt == [URLArray count]) {
NSLog(@"finished");
}
}];
}

22 :
NSOperationQueue *urlRequestsOperationQueue = [[NSOperationQueue alloc] init];
[urlRequestsOperationQueue setSuspended:YES];
for(NSURL* url in URLArray){
NSURLRequest *request = [[NSURLRequest alloc] initWithURL:url];
[NSURLConnection sendAsynchronousRequest:request queue: urlRequestsOperationQueue completionHandler:^(NSURLResponse *response, NSData *data, NSError *error) {
UIImage* serverImage = [UIImage imageWithData:data];
}];
}
[urlRequestsOperationQueue setSuspended:NO];
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT,0), ^{
[urlRequestsOperationQueue waitUntilAllOperationsAreFinished];
NSLog( @"OWARI DENGANA" );
});
なんて。動くのかどうかしらんが
逐一NSOperationQueueを作っているのが気になったので、+αで

23 :
ああ>>21だと取得が終わらんうちにまた呼ばれるとまずいことになるな。
>>20の方がええわ。

24 :
申請時
Trade Rep First Name
Trade Rep Last Name
Email
Phone Number
全部入れないといけなくなりましたか?

25 :
なんかいるみたいね。

26 :
>>17のチュートリアルをやっていますが
ビューに配置したボタンを.hファイルにCtrlを押しながらドラッグする所で
何故かドロップしても元の場所にびよーんと戻ってしまって、うまくいきません
なんかコツみたいなのがあるんでしょうか?

27 :
>>20
NSLockつかった排他制御って、例えばUIButton の addTarget で指定したメソッドないで実行したら、
他の操作も受け付けず、その処理が終わるまで待つ、又はアプリ全体的にガクガクになったりしないか??

28 :
>>27
使い方によるだろうな。そうならるようにすればそうなるわな
ちなみに、NSLockインスタンスなだけでNSLockそのものを使っているわけでもないよ。NSObjectでもなんでもいいけど、まあ、とりあえずNSLockだなというだけ

29 :
>22
まずキューを作って、それを留めおき、
次にそのキューに、各オペレーションを入れて行く。
各オペレーションは、非同期で、各URLによって指定されたリクエストによりネットに接続し、完了したら取得したデータをセットする、という処理。
以上定義したら、このキューの留めおきを解除し、このキュー(オペレーション&bull;キュー)を非同期で、完了するまで処理開始し、処理完了まで待った後に最終行実行する。
以上で解釈あってますか ?

30 :
>>29
うん
>このキューの留めおきを解除し、このキュー(オペレーション&bull;キュー)を非同期で
言っている事は同じだと思うけど、waitUntilAllOperationsAreFinishedは終わるまで返って来ない/そこで止まるので別スレッドを起ててだけね
ちなみに、留め置いているのは「なんとなく」でしかないよ。留め置かなくてもそんなに変わらないでしょう

31 :
>>29
あ、
>各オペレーションは、非同期で、各URLによって指定されたリクエストによりネットに接続し
は、どうかわからない。ドキュメントの文面だと completionHandler: の呼び出しだけのよーな。でも、それだけってのもなんか変だなと思うのだけど
動かしてみたらわかるだろう(けど)

32 :
今までTargetsのCodeSingingIdentityのReleaseはiOS Distributionでうまく
archiveが作れていたんですが急にiOS developerじゃないとarchiveできなくなりました
この設定でもarchiveできれば問題ないですか?

33 :
すいません、色々古いProject開いて試したあと
もとのprojectで再度archiveやったら特に変更してないのに
ReleaseがiOS Distributionでも通りました・・・
なぜ・・・
とりあえず事故解決です

34 :
>>32
なんか、xocde5で、distributionからdevelopperに勝手に変更されていたなあ。

35 :
すみません、画面遷移について質問なのですが、
AビューからBビューに移った後、
Aビューを自動的に消すにはどうすればいいのでしょうか。
modalで出すと、Bビューが出てもAビューは残っているので、
dismissでBビューを消すと、Aビューが出て来ます(当たり前ですが)。
AからBにうつったあと、
Bビューの中でAビューを消すという作業をすればいいかなと思って、
いろいろ試しているのですが、うまく消せません。
この考え方ではうまくいかないのでしょうか。

36 :
Appleの公式ドキュメントは呼んで理解したかなー?
ttps://developer.apple.com/jp/devcenter/ios/library/documentation/ViewControllerPGforiOS.pdf
それをもってして、意図的にAを抹消したいというのなら
[self removeFromParentViewController]; など手段はある

37 :
Bビューを消したあと何を表示するんだ

38 :
>>35
BからAに戻るときにAを別のビューに変えておきたいだけじゃないの?
AのviewWillAppearで戻ったときの処理を書けばいいだけだし、
Aを別画面Cとかに変えておきたいならそれは「戻る」画面遷移にするべきじゃない。

39 :
コード処理の質問なんですが、
以下の通知を受け取ってアラートを表示させると、
20回ぐらい連続でアラートが出てしまいます・・・。
http://stackoverflow.com/questions/14876733/iphone-notification-when-wifi-network-changes
↓通知の設定
CFNotificationCenterAddObserver(CFNotificationCenterGetDarwinNotifyCenter(), //center
NULL, // observer
onNotifyCallback, // callback
CFSTR("com.apple.system.config.network_change"), // event name
NULL, // object
CFNotificationSuspensionBehaviorDeliverImmediately);
つづく

40 :
↓通知の処理
static void onNotifyCallback(CFNotificationCenterRef center, void *observer, CFStringRef name, const void *object, CFDictionaryRef userInfo)
{
NSString* notifyName = (NSString*)name;
if ([notifyName isEqualToString:@"com.apple.system.config.network_change"]) {
av = [[UIAlertView alloc] initWithTitle:@"WiFi Changed"
message:"Changed"
delegate:nil
cancelButtonTitle:@"OK"
otherButtonTitles:nil];
[av show];
} else {
NSLog(@"intercepted %@", notifyName);
}
}
dipatch_syncを使えば一回だけ表示されますが、
本当に一回だけで、次からは表示されません。
それとdipatch_syncはこういう使い方はしないほうがいいらしいです。
20回連続ではなく、通知ごとに一回だけ表示させるにはどういうふうに変えればいいでしょうか?

41 :
>>39,40
なんかよくわからんが、ネットワークが変わった事を知りたいなら、ReachabilityっていうAppleのサンプルがあるよ
そのUndocumentedなのかよくわからんのじゃなくちゃんとしたやつ
ReachabilityってXcodeでのDocumentationで探せばサンプルプロジェクトが出てくるよ

42 :
>>41,39,40
ああ、SCNetworkReachabilityはWiFiの接続先が変わっても通知してくれないのか

43 :
>>39,40
com.apple.system.config.network_change通知は20回もなかったが、WiFiの一回の接続の変更で何度か来るね
前のSSIDなりBSSIDなりを記憶して、SSIDなりBSSIDなりが変わったら処理をし、同じだったら何もしないにする方がいいんじゃないの
if ([notifyName isEqualToString:@"com.apple.system.config.network_change"]) {
if(![lastSSID isEqualString:newSSID]){
lastSSID = newSSID;
av = [[UIAlertView alloc] ...
...
}
}
って。間にSSID無し(WiFi無接続状態)が入るけど

44 :
>>41-42
回答ありがとうございます。
Reachabilityもさっき見たんですが、
Github にあるNotificationメソッド付きのものも、
「WiFiの接続先が変わっても通知してくれない」のでしょうか?
Githubのサンプル動かしている途中です。
なんかWiFi掴まなくなったので、いったん自分のアプリをアンイストールしました。
>>43
それです! そういうふうにしたかったんです。
NSUserDefaultsでいけそうですね。
ちょっと試してみます。
どうもありがとうございました。

45 :
>>43
いけました!
本当にありがとうございます。
確かに無接続状態(3G)が入りますが、
やりたいことはUIAlertViewの表示ではないので、
なんとかなるかもしれません。

46 :
CALayerに画像を貼って表示させているのですが、ふわっと表示させるにはどうしたらいいんでしょうか?

47 :
>>46
ふわっとと共に巨大化させといた。
- (void)animation {
[CATransaction begin];
[CATransaction setAnimationDuration:1.0];
layer.transform = CATransform3DMakeScale(2.0, 2.0, 1.0);
layer.hidden = NO;
[CATransaction commit];
}
UIView使った方が便利で楽だけどね。3Dが必要無いなら。

48 :
横画面で起動したときのviewControllerのself.view.frame.sizeが縦画面の数値のままなのですが、こういうものなんでしょうか?

49 :
>>48
self.view.frame は self.view.superview.bounds内 でのポジションを表すから、self.view.superview.bounds がデバイスの向きに合わせてないのでそうなる
self.view.bounds からデバイスの向きに合うようになるので特に問題は無かろう

50 :
>>49
ありがとうございます。
self.view.boundsで横画面数字を取得できました。もうひとついいでしょうか?
self.view.boundsですがviewWillAppearで取得すると{320, 568}で、viewDidAppearで取得すると{568, 320}となっています。
viewWillAppear時点では横画面のsizeは取得できないのでしょうか?

51 :
>>50
なるほど
Initial View Controller (Storyboard で言うところの)の起動直後はそうみたいだね。初回の viewWillAppear から viewDidAppear の間で全面的にかいてーんしているね
起動直後の Initial View Controller ではデバイスの向きに合ったのを取得できるのは、viewDidAppear 以後でしかないみたいだねえ
画面推移して戻って来てとかの viewWillAppear での self.view.bounds は通常営業。Initial View Controller をダミーとして扱うか例外としてなんかするかかな

52 :
>>47
ありがとうございます!
UIViewの方も調べてみます

53 :
storyboardでUITableViewControllerをプッシュしてるんですが、
iOS7の戻る操作(端からスワイプ)すると、戻ったときに、
セルの選択が純正アプリのようにスワイプ中に少しずつ解除されるのではなく
元の画面に完全に戻ってから選択が解除されたり、解除されなかったりします
viewWillAppear:でdeselectRowsAt…すれば解除されるのですが、コードを書かずに
純正アプリのようにスワイプと同期して解除するにはどうすればいいでしょうか

54 :
ハマったので質問です
WebViewで開いたページのJavaScriptで、ページ内の「もっと読む」ボタンを押したら
ajaxで追加要素を取ってくるようにしたら、AndroidではうまくいくのですがiPhoneではXMLHttpRequest.statusが0になってajaxが失敗します
サーバー側はログによると、普通にコンテンツ(JSON)を返してるみたいです
クロスドメイン制限に引っかかってたりするのでしょうか?一応ajaxのパラメタでcrossDomain: trueを指定してます(が効果なし)

55 :
ちょっとしたプレイデータを端末に保存させたいと思っています(フラグ的なものです)
とりあえずNSUserDefaultsに保存しているのですが、NSUserDefaults以外で保存できるようなファイルはないでしょうか?

56 :
>>55
いくらでも好きにファイル作れるよ。置き場所とか、バックアップさせるかとか、いくつか注意事項があるけど。
でも、NSUserDefaultsてすむならそれがいちばん簡単…。

57 :
>>56
あ、確かにファイル作るだけならいくらでもできますね。
NSUserDefaultだと書き換えられそうな気がしたので、何か他にないかなと。。

58 :
NSFileManager で NSDocumentDirectory にでも。
NSUserDefault はpreferencesディレクトリ専用のAPIだが、別に書き換えられないよ。

59 :
>>57
他のファイルだって書き換えようと思えば書き換えられるよ。
クリティカルなものでなければそんなに気にしなくていいと思うが、
課金がらみなど、どうしてもいじられたくないなら暗号化するしかない。

60 :
ああ、ユーザーがチートできるかって話かw
暗号化だろな。

61 :
でもさ、preferencesはiTunesから見えないし、
documentsもiTunesFileSharingをYESにしなきゃ見えないよね。
チートする人はどこをごにょごにょしてんの?

62 :
>>61
脱獄してなくてもiFunBoxで見えるからな
書き換えは流石にできなかったと思うけど

63 :
>>62
iFunBoxか、知らなかったTHX

64 :
知っていてもここでヘタなこと書くなよ、悪用するクズどもがいるから

65 :
imovieでつくった動画とかyoutubeで落とした動画とかをビデオに入れたいんだけど
ときどき入らない動画があるのはなぜ?
itunesには入るんだけど、同期でハジかれる感じ。
対処法わかる方、教えてください。

66 :
>>55
keychainでggrks

67 :
どのsegueでこの画面に来たかを判定する方法はありませんか?
設定1、設定2のようにほぼ同じ画面を作りたいのですがviewcontrollerをいくつも作りたくないので、
どのボタンから来たかで表示内容を変えたいです
ボタンが押されたときにuserdefaultで番号を入れておくのもアリなのですが
もう少しスマートに出来たらなと思いまして

68 :
>>67
画面遷移する前に遷移元のview controllerのprepareForSegue:sender:メソッドが呼ばれて、
その時のsegue.destinationViewControllerが遷移先のview controllerだから、
ここでプロパティに設定しておいて、viewDidLoad:で調整すればいい。

69 :
初めまして!
iPhoneアプリ作ってるんですが、サーバー駆使したものを作りたいのですが、
概要としてはアプリでタッチメソッドで取得した座標情報などをサーバー(データベース?) に保存し呼び出しもしたい。
とのことなんですが、何かそのようなこと(iPhoneとサーバーやデータベース管理に関する)オススメの本やアドバイスあったらもらえたら嬉しいです!

70 :
>>68
ありがとうございます。
そのやりかたでできるのですが、遷移先のパラメータかなにかだけで判定ができるものがないかと思いまして。
やはり遷移元にも記述しないとだめみたいですね。
>>69
iphone側では、地図上でタッチされた場所を取得してhttpでGETかPOSTで通信する
サーバ側では、その通信内容をデータベースに入れたりする
この2つは別々のものなのでそれぞれの知識が必要になると思います。
また、外部のサーバではなくiphoneの中にデータベース(Core Data)を作ることもできます

71 :
>>70
遷移元で分岐するのが自然だと思うけど。
例えば、ある作業員Xがいて、その作業員ができる仕事がAとBあるとしよう
(ケース1) 上司Yがいて、状況に応じて作業員Xに仕事を指示する
(ケース2) 上司Y、Zがいて、どちらの上司から指示を受けたかで作業員Xが自分で仕事を選択する
どう考えてもケース1の方が自然だろ

72 :
>>70
ありがとうございます。
Webサーバーソフトにはapache、データベースにはMySQLを使おうと思っています。
xcode側ではタッチメソッドでの情報はgetメソッドなどでおくるということでしょうか?

前まではNSUserDefaultで内部に保存していたのですが、パソコンなど外部でデータを使ったり解析したりしたいためサーバーを使おうとかんがえました。

73 :
>>72
ibjective-c ajaxでググると幸せになれるかもしれない。
http通信でも良い

74 :
アプリのCertificatesを取得したいのですが
Provisioning Portalがずっとloading中で取得できません
xcode5で何か操作してからProvisioning Portalにアクセスするのでしょうか
単にProvisioning Portaのサイトがビジーなのでしょうか

75 :
>>74
普通に入れるよ。
Certificates, Identifiers & Profiles の Provisioning Profiles だよ。

76 :
>>53
"Clear on Appearance"

77 :
-removeFromSuperViewってViewクラスの完全な解放になっていますか?外見上の消去ですか?
同一のViewControllerを何回もaddSubviewしたりremove~したりするのですが、
初回はいいのですが2回目以降にaddSubviewしたViewControllerに対しては指示したメソッドが送られなかったりします。

78 :
>>74
Safari使えばうまくいくことが多いよ。

79 :
>>76
もちろんそれはチェックしています。
どうやらTiltShiftGen2の設定画面とかでも同じみたいで、
深津貴之さんみたいなUIデザインに一家言のある方の
アプリでさえそうなので、あまり気にしない方がいいんですかね。

80 :
ViewControllerはaddSubviewできないんだけど
それは置いといてremoveしたとき他から参照されてなければ解放される

81 :
>>77
完全に解放されるかどうかなんて気にする必要は無いはずなんだが。
addSubviewしたりremove-したりしている、というのは、
あるビューコントローラのビューに、別のビューコントローラのビューをaddSubviewしたりremoveしたりしている、ということ?
自分でコンテナビューコントローラを作らない限りそんなことはしなくていいはずだけど・・・
まぁコンテナビューコントローラを作っているということにして、スーパービューからremoveした時にreleaseされるから、そこで他から保持されていなければ破棄される。
が、他から保持されているかどうかなんて気にする必要はないし、気にしてはいけなくて、
自分がそのオブジェクトを必要としている限り、自分で保持しないと駄目だよ。
つまり、そのremoveしたビューを、後でまたaddしたいのなら、他のstrongな変数や配列に入れるなりして保持しておかなきゃ駄目

82 :
>>77
二回目以降ってことは、同一のインスタンスじゃないんじゃないの?
毎回生成してるとか。

83 :
>>73
ありがとうございます!
少し調べて見ます!

84 :
カメラを使用するアプリをiOSシミュレータで動かしてみたら、カメラ起動するところで例外を出して落ちました
これは正しい挙動ですか?

85 :
>>84
その様に実装したのなら、それで正しい。
その様に実装した覚えがないのなら、何処かが間違っている。しかし我々にはそれを知る事はできない。

86 :
カメラ使えるか確認しないでいきなり呼び出したら
そりゃ落ちるわ

87 :
vfrReaderで質問です。
https://github.com/vfr/Reader
読み込むファイルを、別のpdfに置き換えたいんですが、どこを弄ればいいんでしょうか?
拙い英語力で説明書読んだ限りじゃ、ReaderDocument.mの↓の辺りが怪しいんですが。
https://sites.google.com/site/propicaudio/sample-code/pdf-view
ここと照らし合わせると、URLForDirectoryを、URLForResourceに書き換える?
が、色々やってみてもうまくいかず。

+ (NSString *)applicationSupportPath
{
NSFileManager *fileManager = [NSFileManager new]; // File manager instance
NSURL *pathURL = [fileManager URLForDirectory:NSApplicationSupportDirectory inDomain:NSUserDomainMask appropriateForURL:nil create:YES error:NULL];
return [pathURL path]; // Path to the application's "~/Library/Application Support" directory
}

88 :
> To present a document with this class,
> you first need to create a ReaderDocument object with
> the file path to the PDF document and then initialize
> a new ReaderViewController with this ReaderDocument object.
って書いてあるとおりにやればいい

89 :
>>84
実機でカメラ動作確認済みのアプリをシミュレータで動作させたら、
カメラを起動させるコードを動作させても無反応になる。(アプリは落ちない)
よって、そのコードがおかしい。
どっちにしろ実機で確認するのが基本。

90 :
Xcode4.6、5共に、StoryBoardでCtrlキー押しながらボタンをドラッグして
Assistantで開いたhファイルにドロップ、というのが何度やってもできません
Ctrl+ドラッグするとボタンが動いてしまい、hファイル上でドロップすると元の場所に戻ります
ボタンが動くのではなく矢印が伸びて、ドロップするとメニューが出るのが正しいと思うのですが
どうしても出ません
なにかXcodeの設定がおかしいのでしょうか?一週間ぐらいハマってるので誰か助けて

91 :
右のCtrlキー使ったらできた…
なんてこった、純正キーボードじゃないのでそのせいか?
とりあえず自決しました

92 :
>>91
南無阿弥陀仏...

93 :
すみません、ストーリーボードで配置したボタンのサイズをコードから変更したいんですけど、どうすればいいのですか?
タイトル等は変更できてます。

94 :
>>93
タイトル等と同じframeだけど

95 :
NSArrayの複製を別インスタンスとして生成したい場合、
NSArray* fuga = [[NSArray alloc] initWithArray:hoge];が正解ですか?
NSArray* fuga = [NSArray arrayWithArray:hoge];だとどうなりますか?
紛らわしくてよくわかりません。

96 :
>>95
どっちも正解
Objective-Cのメモリ管理を理解したら紛らわしくないよ

97 :
>>95
ARCを使っているなら、ほぼ同じ
興味あるなら コンビニエンスコンストラクタ でググってみ。ちなみにARC使っててもautorelease pool「にも」入っている

98 :
>>97
あ、なんか最初のヤツの
コンビニエンスコンストラクタで生成したインスタンスは、自動解放プールに登録されるため、releaseメソッドは不要です。
そのため、@autoreleasepoolブロック内に記述します。
>そのため、@autoreleasepoolブロック内に記述します。
微妙になんか違う。これだと @autoreleasepoolブロックを毎回記述するようではないか。んなこたあない(NSThreadなど例外があるが)。

99 :
Storyboardで作ったビューを、周りを半透明にして親のビューの上に重ねて出すことってできないでしょうか?
一回り小さいビューを手前に重ねるってことがやりたいんですが
ぐぐってやり方を調べて、backgroundのアルファをいじったりしたけどうまくいかず
どうも子ビューを出した時に、親ビューが表示されてない感じがする
セグエは使わず、コントローラーのコードからモーダル遷移してます

100 :
>>99
うん、基本的にそういうもん
Storyboardから自分でUIViewControllerを取得して、そのviewを親のビューにaddSubviewすればいいよ。いらなくなったら removeFromSuperViewで
present...もdismiss...も使わなく全部自分で
iOS7だとどうだったっけ

101 :
>>93
ボタンタイプはカスタムにしています。
.h
@property (weak, nonatomic) IBOutlet UIButton *btnA;
.m
- (void)didRotateFromInterfaceOrientation:(UIInterfaceOrientation)fromInterfaceOrientation
{
_btnA.backgroundColor = [UIColor blackColor];
_btnA.frame = CGRectMake(10, 10, 200, 100);
}
と試しにやってるのですが、色は変わりますがボタンの大きさが変わりません。大きさをかえるにはどうすればいいのでしょうか。

102 :
autolayoutが有効だとそうなるかもしれない

103 :
>>102
>>101
autolayoutをオフにしたら思った動作になりました。ありがとうございます。

104 :2013/10/27
>>87
ReaderDocument *document = [ReaderDocument withDocumentFilePath:filePath password:nil];
して
if (document != nil)
{
ReaderViewController *readerViewController = [[ReaderViewController alloc] initWithReaderDocument:document];
して
readerViewController.delegate = self;
したら
このviewを表示させればいける
TOP カテ一覧 スレ一覧 2ch元 削除依頼
Parallelsで様々なOSをうごかそう Part34 (155)
VMWare Fusion for Mac Part 28 (200)
[SDK]iPhoneアプリ開発初心者質問箱35[touch][iPad] (104)
iOSアプリ 個人開発者の雑談スレ18 (171)
Mac mini Part125 (1001)
Mac 購入相談スレッド Part27 (127)
--log9.info------------------
今回のワールドカップで確信したこと (500)
澤昌克を日本代表FWへ! (194)
スペイン代表の最新戦術「攻め籠もり」を分析するスレ (518)
今大会の日本人MVPは? (191)
小野伸二に合コン浮気発覚!倖田來未似美女 (382)
【NBL】つくばロボッツ【筑波】 (103)
WJBLスレ その38 (158)
バッシュ☆★☆バスケットシューズ23足目 (521)
中川和之はカネに目がくらんで高松を捨てたクズ (180)
【bjリーグ】東京サンレーヴス 3【アパッチクオリティ】 (554)
NBLナショナルバスケットボールリーグ2 (531)
【諸悪の】 デカバヲタ撲滅スレ Part 6 【根源】 (138)
☆NBA 2013-14 オフシーズンスレ 52th Edition☆ (1001)
【鹿】バンビシャス奈良【大志】 (638)
【bjリーグ】岩手ビッグブルズ5【福田パン絶品】 (634)
横浜にbjリーグのチームは必要か? (100)
--log55.com------------------
給水所に水の代わりに置いてあったら嫌なもの
リオ五輪・あの人とこの人は似ている
酷暑の2020東京五輪を返上せよ!!
上田桃子「稼げない競技をやる奴はアホ」
柔道日本代表ロンドンオリンピックへの道乗り
ジジイババアでもメダル取れる五輪競技は?
【祝】銅メダルの谷、引退示唆【引退】
タワラちゃんが現役続行を発表 ロンドンへ