alcatrazのアンインストールするにはどうすればいいのだろうか?
答えは、
rm -rf ~/Library/Application\ Support/Developer/Shared/Xcode/Plug-ins/Alcatraz.xcpluginでおk
ただキャッシュデータが残っている可能性もあるので、
rm -rf ~/Library/Application\ Support/Alcatrazも実行しました。
常にテンパってます。
alcatrazのアンインストールするにはどうすればいいのだろうか?
答えは、
rm -rf ~/Library/Application\ Support/Developer/Shared/Xcode/Plug-ins/Alcatraz.xcpluginでおk
rm -rf ~/Library/Application\ Support/Alcatrazも実行しました。
前回、selectして結果を表示する方法を書きましたが、合計件数の取得方法を書いてなかったので、その方法について。
/*-------------- Hoge BOOL isDeleted NSDate *createDate --------------*/ RLMResults *rLMResults = [[Hoge objectsWhere:@"isDeleted = NO"] sortedResultsUsingProperty:@"createDate" ascending:NO]; NSLog(@"%lu",(unsinged ling)[rLMResults count]);
WKWebViewでJavaScriptで単純に下のように組んでもなぜかalertがでない。
alert("hoge");原因を探してみると、Realmでselect文を発行するには、
/*--------------
Hoge
BOOL isDeleted
NSDate *createDate
--------------*/
RLMResults *rLMResults = [[Hoge objectsWhere:@"isDeleted = NO"] sortedResultsUsingProperty:@"createDate" ascending:NO];
for(NSInteger i=0;i<[rLMResults count];i++){
Hoge *hoge = [rLMResults objectAtIndex:i];
NSLog(@"%@",hoge);
}のようにすればおkCLGeocoderを使って逆ジオコーディングをして緯度経度を取得するときがあるのですが、そのときの、緯度経度が見つからなかった場合は、下のように組む。
CLGeocoder *geocoder = [[CLGeocoder alloc] init];
NSString *address;
[geocoder geocodeAddressString:address
completionHandler:^(NSArray *placemarks,NSError *error){
if(error){
NSInteger code = [error code];
NSString *domain = [error domain];
if(code == 8 && [domain isEqualToString:@"kCLErrorDomain"]){
NSLog(@"Address is not found.");
}
}
}
];NSLogの部分をi18n対応すれば、各言語に対応することになる。Facebookの検索バーのようにフォーカスがあたるとキャンセルボタンを表示させ、フォーカスアウトするとキャンセルボタンを非表示にしたい場合は、どうすればいいのだろうか?
How do you hide/show UISearchBar's scope bar with animation?
によると、以下のようにプログラムを組んでみた。
- (BOOL)searchBarShouldBeginEditing:(UISearchBar *)searchBar {
[searchBar setShowsCancelButton:YES animated:YES];
return YES;
}
- (BOOL)searchBarShouldEndEditing:(UISearchBar *)searchBar {
[searchBar setShowsCancelButton:NO animated:YES];
return YES;
}
- (void)searchBarCancelButtonClicked:(UISearchBar *)searchBar {
[searchBar setShowsCancelButton:NO animated:YES];
}
で、これでうまくいった。アプリがインストールされていれば、アプリを起動して、ない場合は、appstoreに飛ばすという処理を組んでいたのだが、iOS9でうまくいかない。
何故かと思って調べてみると、
[iOS9] カスタムURLスキームで起動に失敗する(呼び出し元)
を発見して、どうやら、iOS9では、アプリを起動するときにalertViewが立ち上がるようになっているわけだが、この判断をする前に、appstoreに遷移してしまうので、結果的に、強制的にappstoreになってしまうという仕様。
で、回避策としてUniversal Linksというのを実装すればいいみたいなのですが、これは、まだ実装したことがないので、試した後、またエントリーを書きたいと思う。
DLしたRealm Browserでアプリ内で作ったDBのデータを閲覧しようかなーっと思ったら見れないんだけど。。。
どうやら、セキュリティーの都合で見れないんだけど。
これ、セキュリティーのありなしにかかわらず見れるようにしてほしんですけど。。。
昨日、insertトランザクションについて書いたので、今度は、updateトランザクションについて。
RLMResults *rLMResults; Hoge *hoge = [RLMResults objectAtIndex:0]; RLMRealm *realm = [RLMRealm defaultRealm]; [realm beginWriteTransaction]; hoge.foo = @"update realm data"; [realm commitWriteTransaction];これでupdateできたんですが、以前、try-catchの悩みが解消されず。
writesセクションを読みながらinsertトランザクションを書いてみた。
Hoge *hoge = [[Hoge alloc] init]; hoge.foo = @"hello realm"; RLMRealm *realm = [RLMRealm defaultRealm]; [realm beginWriteTransaction]; [realm addObject:hoge]; [realm commitWriteTransaction];これ、確かに、デバッグしたら、データが入っていたんだけど、トランザクションがこけた時の処理って、どうすればいいんだろー。
ない。
ずばり、現行バージョンのRealmでは、autoincrementがない。
iOS9環境下でadmobを表示する場合には、
iOS 9 Considerations
で確認すると、Info.plistの
<key>NSAppTransportSecurity</key>
<dict>
<key>NSAllowsArbitraryLoads</key>
<true/>
</dict>を設定し、projectのCLLocationCoordinate2D型の変数を作るには、どうすればいいのだろうか?
How to convert latitude longitude into CLLocationCoordinate2D
を確認すると、
CLLocationCoordinate2DMake(CLLocationDegrees latitude, CLLocationDegrees longitude)を使えばいいみたい。
デバッグ目的でUITableViewCellのdetailTextLabelの背景色を変更したくて、下記のようにしても変わらなかったwww
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{
UITableViewCell *cell;
cell.detailTextLabel.backgroundColor = [UIColor redColor];
return cell;
}Changing UITableViewCell textLabel background color to clear- (void)tableView:(UITableView *)tableView willDisplayCell:(UITableViewCell *)cell forRowAtIndexPath:(NSIndexPath *)indexPath {
[[cell textLabel] setBackgroundColor:[UIColor clearColor]];
[[cell detailTextLabel] setBackgroundColor:[UIColor clearColor]];
}
でいけるとあったので、上のメソッドを使ったら確かに変更された。昨日のエントリーでMKAnnotationViewのタップ判定をする方法を書きました。
そこで、実際にタップできたのですが、今度は、タップした際にハイライトを元に戻す方法が見つからず調査しました。
- (void)deselectAnnotation:(id上のメソッドをコールしたらハイライトを消すことができました。)annotation animated:(BOOL)animated
MKMapViewのaddAnnotationメソッドで追加したMKPointAnnotationをタップしたときの判定はどうすればいいのだろうか?
MKMapView MKPointAnnotation tap event
によると、MKMapViewDelegateの
- (void)mapView:(MKMapView *)mapView didSelectAnnotationView:(MKAnnotationView *)viewで取得することができそうだ。
- (MKAnnotationView *)mapView:(MKMapView *)mapView viewForAnnotation:(idで追加しなかったMKPointAnnotationでも取得することができた。)annotation
気のせい?
同じ住所で、mapアプリでは結果を返してくれるんだけど、geocodeAddressStringメソッドだと何も返してくれなかったりする。
使い方間違っているのかな?
読了
iOS9となった今でも使えるテクニックが結構あったので、役に立ちそうなトピックに付箋をしたらいつの間にか付箋だらけ。1 Xcodeのレシピ
via:目次
2 基本レシピ
3 UlKitのレシピ
4 テーブルのレシピ
5 画像のレシピ
6 マルチメディアのレシピ
7 ハードウェアのレシピ
8 ネットワークのレシピ
9 データベースのレシピ
10 外部ライブラリのレシピ
11 外部連携のレシピ
先日、cocoapodsの警告がでてしまうことを書きましたが、どうやら、昨日試した、gemのアップデートで警告をとることができました。
なので、OS X El CapitanでXcode7を使っている方は、gemのアップデートをお勧めします。