13/10/21 19:32:56.27 QyCZ5kKR0
今までTargetsのCodeSingingIdentityのReleaseはiOS Distributionでうまく
archiveが作れていたんですが急にiOS developerじゃないとarchiveできなくなりました
この設定でもarchiveできれば問題ないですか?
33:名称未設定
13/10/21 20:24:23.85 QyCZ5kKR0
すいません、色々古いProject開いて試したあと
もとのprojectで再度archiveやったら特に変更してないのに
ReleaseがiOS Distributionでも通りました・・・
なぜ・・・
とりあえず事故解決です
34:名称未設定
13/10/22 08:19:34.36 53wruM+i0
>>32
なんか、xocde5で、distributionからdevelopperに勝手に変更されていたなあ。
35:名称未設定
13/10/22 11:18:21.60 E2uTboB30
すみません、画面遷移について質問なのですが、
AビューからBビューに移った後、
Aビューを自動的に消すにはどうすればいいのでしょうか。
modalで出すと、Bビューが出てもAビューは残っているので、
dismissでBビューを消すと、Aビューが出て来ます(当たり前ですが)。
AからBにうつったあと、
Bビューの中でAビューを消すという作業をすればいいかなと思って、
いろいろ試しているのですが、うまく消せません。
この考え方ではうまくいかないのでしょうか。
36:名称未設定
13/10/22 11:24:43.15 8JareLtQ0
Appleの公式ドキュメントは呼んで理解したかなー?
URLリンク(developer.apple.com)
それをもってして、意図的にAを抹消したいというのなら
[self removeFromParentViewController]; など手段はある
37:名称未設定
13/10/22 11:28:32.32 tG1cH8K/0
Bビューを消したあと何を表示するんだ
38:名称未設定
13/10/22 11:55:06.07 XUjNGcL0P
>>35
BからAに戻るときにAを別のビューに変えておきたいだけじゃないの?
AのviewWillAppearで戻ったときの処理を書けばいいだけだし、
Aを別画面Cとかに変えておきたいならそれは「戻る」画面遷移にするべきじゃない。
39:名称未設定
13/10/22 21:26:40.73 vkr1hfPm0
コード処理の質問なんですが、
以下の通知を受け取ってアラートを表示させると、
20回ぐらい連続でアラートが出てしまいます・・・。
URLリンク(stackoverflow.com)
↓通知の設定
CFNotificationCenterAddObserver(CFNotificationCenterGetDarwinNotifyCenter(), //center
NULL, // observer
onNotifyCallback, // callback
CFSTR("com.apple.system.config.network_change"), // event name
NULL, // object
CFNotificationSuspensionBehaviorDeliverImmediately);
つづく
40:名称未設定
13/10/22 21:28:32.55 vkr1hfPm0
↓通知の処理
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:名称未設定
13/10/22 22:00:16.34 mNzTpgDu0
>>39,40
なんかよくわからんが、ネットワークが変わった事を知りたいなら、ReachabilityっていうAppleのサンプルがあるよ
そのUndocumentedなのかよくわからんのじゃなくちゃんとしたやつ
ReachabilityってXcodeでのDocumentationで探せばサンプルプロジェクトが出てくるよ
42:名称未設定
13/10/22 22:25:33.26 mNzTpgDu0
>>41,39,40
ああ、SCNetworkReachabilityはWiFiの接続先が変わっても通知してくれないのか
43:名称未設定
13/10/22 22:47:04.27 mNzTpgDu0
>>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:名称未設定
13/10/22 23:11:04.61 vkr1hfPm0
>>41-42
回答ありがとうございます。
Reachabilityもさっき見たんですが、
Github にあるNotificationメソッド付きのものも、
「WiFiの接続先が変わっても通知してくれない」のでしょうか?
Githubのサンプル動かしている途中です。
なんかWiFi掴まなくなったので、いったん自分のアプリをアンイストールしました。
>>43
それです! そういうふうにしたかったんです。
NSUserDefaultsでいけそうですね。
ちょっと試してみます。
どうもありがとうございました。
45:名称未設定
13/10/22 23:36:55.79 vkr1hfPm0
>>43
いけました!
本当にありがとうございます。
確かに無接続状態(3G)が入りますが、
やりたいことはUIAlertViewの表示ではないので、
なんとかなるかもしれません。
46:名称未設定
13/10/23 00:54:15.18 0G54pLQt0
CALayerに画像を貼って表示させているのですが、ふわっと表示させるにはどうしたらいいんでしょうか?
47:名称未設定
13/10/23 01:20:01.97 /Z2vdw7X0
>>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:名称未設定
13/10/23 09:49:07.05 YDng0AC7P
横画面で起動したときのviewControllerのself.view.frame.sizeが縦画面の数値のままなのですが、こういうものなんでしょうか?
49:名称未設定
13/10/23 10:24:37.26 QFy7L04Z0
>>48
self.view.frame は self.view.superview.bounds内 でのポジションを表すから、self.view.superview.bounds がデバイスの向きに合わせてないのでそうなる
self.view.bounds からデバイスの向きに合うようになるので特に問題は無かろう
50:名称未設定
13/10/23 10:51:11.97 YDng0AC7P
>>49
ありがとうございます。
self.view.boundsで横画面数字を取得できました。もうひとついいでしょうか?
self.view.boundsですがviewWillAppearで取得すると{320, 568}で、viewDidAppearで取得すると{568, 320}となっています。
viewWillAppear時点では横画面のsizeは取得できないのでしょうか?
51:名称未設定
13/10/23 11:33:12.93 QFy7L04Z0
>>50
なるほど
Initial View Controller (Storyboard で言うところの)の起動直後はそうみたいだね。初回の viewWillAppear から viewDidAppear の間で全面的にかいてーんしているね
起動直後の Initial View Controller ではデバイスの向きに合ったのを取得できるのは、viewDidAppear 以後でしかないみたいだねえ
画面推移して戻って来てとかの viewWillAppear での self.view.bounds は通常営業。Initial View Controller をダミーとして扱うか例外としてなんかするかかな
52:名称未設定
13/10/23 12:22:08.15 L0sUgKBY0
>>47
ありがとうございます!
UIViewの方も調べてみます