ドゥアイネットのプログラマー、湯川が開発日記を綴ります。

CALENDAR
S M T W T F S
    123
45678910
11121314151617
18192021222324
252627282930 
<< November 2018 >>
ARCHIVES
CATEGORIES
HTTPS接続を義務づけ

先日、「iOSアプリにHTTPS接続を義務づけへ--2017年1月から」という記事が出ていました。

 

来年からストア公開するアプリは、webアクセスするときにhttpではなくhttpsでないといけないようです。
httpでXMLやwebページにアクセスしているアプリは改修する必要があります。

 

昨年は6月ごろの64bit対応が必須よりも影響は小さいですが、

変更情報をしっかり見ておかないと、いざ申請というときにつまずくことになるので気をつけないといけないです。

| iPhone・iPad | 16:48 | comments(0) | - |
iPhoneアプリの審査期間
iPhoneアプリの審査期間といえば5日〜10日くらいかかるイメージがいままでありました。
でも最近は早くなっているそうです。
審査期間平均を教えてくれるサービスでも2dayとなっています(2016/05/12)。



さらに以下の記事もありました、この記事によると24時間以内らしいです。
http://goo.gl/PU4tyG

いままでは、iOS版は早めに納品という流れが多かったですが
このペースで審査してもらえると余裕がでてきそうですね。
 
| iPhone・iPad | 15:14 | comments(0) | - |
iOSでのアニメーション
以下のように書くとdelegate定義しないで完了処理もセットできて便利です。
 
    [UIView animateWithDuration:0.5
                     animations:^{
                      //高さを変更
                       self.frame = CGRectMake(self.frame.origin.x,
                                               self.frame.origin.y,
                                               self.frame.size.width,
                                               _maxHeight);
                     }
                     completion:^(BOOL finished){
                       //終了イベントをここに書く
                       
                     }];
 
この例では「delay」を指定していませんが、「delay」指定できるメソッドもあります。

終了delegateとかも設定しないでいいので使いやすいです。
| iPhone・iPad | 20:35 | comments(0) | - |
xibを使った時のトラブル対応
Xcodeで画面レイアウトをxibを使ってつくるときがあります。
便利ですがときどきはまります。
毎回同じことでわからなくなって検索しているので、忘れないように書いときます。

1. viewDidLoadでIBOutletがnilになっている
 viewDidLoadでIBOutletにしたコントロールに値をセットしても反映されません。
 デバッグ実行してみると対象がnilになっていることがあります。
 このときは「Clean」してから実行したらきちんとIBOutletにセットされるようになります。

2. viewDidLoadなどでIBOutletの位置やサイズを変更してもxibと同じ状態に戻る
 IBOutletがnilじゃなくなって、位置やサイズをセットしてもxibで配置した状態に戻ってしまいます。
 ログをみても座標やサイズはきちんとセットされているのに。。
 このときは、File's OwnerやViewのUse Auto Layoutのチェックをはずしましょう。
 ※Use Auto Layoutを使っている場合は上記のようなトラブルにはならないと思います。
 Auto Layoutを使いこなせばいいんですけどね。。
| iPhone・iPad | 16:55 | comments(0) | - |
ios9端末へのAdHocインストール
確認用のAdHocを作成してネット経由でインストールできるように準備して
iOS9の端末にインストールしようとしたところインストールできませんでした。

iOS8端末にはこれまで通りインストールできます。
OSバージョンアップのたびになにかあります。。

調べたところplist内容を修正すればうまくいくとのことでした。
以下の内容にあわせて記述します。

display-image」と「full-size-image」にインストール中に表示するアイコン画像を指定します。
 
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>items</key>
    <array>
        <dict>
            <key>assets</key>
            <array>
                <dict>
                    <key>kind</key>
                    <string>software-package</string>
                    <key>url</key>
                    <string>https://www.xxxxxxxxxx/test.ipa</string>
                </dict>
                <dict>
                    <key>kind</key>
                    <string>display-image</string>
                    <key>url</key>
                    <string>https://www.xxxxxxxxxx/icon-57.png</string>
                </dict>
                <dict>
                    <key>kind</key>
                    <string>full-size-image</string>
                    <key>url</key>
                    <string>https://www.xxxxxxxxxx/icon-512.png</string>
                </dict>
            </array>
            <key>metadata</key>
            <dict>
                <key>bundle-identifier</key>
                <string>jp.co.xxxxxxxxxxx</string>
                <key>bundle-version</key>
                <string>1.0.0</string>
                <key>kind</key>
                <string>software</string>
                <key>title</key>
                <string>test</string>
            </dict>
        </dict>
    </array>
</dict>
</plist>

これでインストールできました、が、今度は実行できません。。
「デベロッパーを信頼していないので実行できません」といったメッセージが表示されます。

これを解決するには
設定 > 一般 > プロファイルでデベロッパーをタップして「信頼」します。

これでようやくAdHocインストール&実行できました。


 
| iPhone・iPad | 18:24 | comments(0) | - |
cocoapodsでのエラー
cocoapodsを使っているのですが、Xcode7をインストールしてからエラーになるようになってしまいました。

便利ツールなのでなんとか使いたいと思いしらべたところ以下の情報がありました。

Xcodeのコマンドラインツールの指定を6.4にしてやればいいようです。



最後のコンボボックスの「Command Line Tools」のところです。
これを設定することで問題なくpod installできるようになりました!!
 
| iPhone・iPad | 19:21 | comments(0) | - |
iOS8以降でアプリの設定画面にとばす
カメラを使用するアプリなどは、ユーザーからのカメラを使用する許可が必要になります。
初めてアプリを起動してカメラ機能を使うときに
「カメラを使うことを許可しますか」というメッセージが表示されるので、
慎重な人は「許可しない」を選んでしまうことがあるかもしれません。



一度「許可しない」を選んでしまうと「設定」から対象アプリを選択して「カメラ」をONにしてやらないといけません。
なかなか面倒でわかりにくいです。
iOS8からは、コードで、このアプリごとの設定にとばすことができるようになりました。
実装も簡単で以下の2行です。

NSURL *url = [NSURL URLWithString:UIApplicationOpenSettingsURLString];
[[UIApplication sharedApplication] openURL:url];

カメラの許可がされているかの判断は以下のコードで可能です。

#import <AVFoundation/AVFoundation.h>
---------------------------------------------

NSString *mediaType = AVMediaTypeVideo;
AVAuthorizationStatus authStatus = [AVCaptureDevice authorizationStatusForMediaType:mediaType];

//機能制限 or 拒否
if((authStatus == AVAuthorizationStatusRestricted) ||
   (authStatus == AVAuthorizationStatusDenied)){
  
}
| iPhone・iPad | 10:01 | comments(0) | - |
MagicalRecord
いまさらかもしれないですが「MagicalRecord」を使ってみました。
感想としてはかなり便利です。これからはこれを使っていこうと思います。

これまでは「FMDB」を使ってsqliteにデータを保存たりしていたのですが、
そのときはsqliteにSQLを流してテーブルをつくって、データを保持するためのクラスをつくって。。。
と色々準備が必要だったのですが「MagicalRecord」を使えば色々手間が省けます。

楽になったところ
・「Data Model」を使って作成するとクラスを自動生成できる。
・データ追加、更新、削除メソッドが簡単で、SQLも書かなくていい。
・クラスに変更があっても「Data Model」から再度生成するだけでいい。

以下のページを参考にさせていただきました。ありがとうございます。

MagicalRecordでCoreDataをお手軽に使う
 
| iPhone・iPad | 17:25 | comments(0) | - |
Facebook developers
昨年からFacebook投稿をモバイルアプリに組み込む際に、
Facebook developersへの登録だけでなく、どのように使うのかを提出しての審査が必要になっていました。
昨年のその時期(たしか5月くらい)以前のものについては審査なしで使えていましたが
2015年04月30日から過去に登録したものについても審査が必要になり、
審査を通過していないものからは投稿できなくなっています!

ちょっと前にリリースして放置しているアプリは
Facebook投稿機能が使えなくなっているかもしれないので気をつけましょう。

申請の参考になりそうなページ
 
| iPhone・iPad | 13:54 | comments(0) | - |
iPadが「リンゴループ」に。。 でも復旧!
私が使用しているiPadが起動しなくなり、「リンゴループ」といわれる状態になってしまいました。

起動のリンゴマークが表示され、中央にクルクルが表示され、さあ起動というタイミングで
また起動のリンゴマークに戻ってしまいます。。

バッテリーが切れているような感じだったので
PCに接続して充電したりしたのですが現象は変わりません。。

いろいろ調べてこちらの記事を見つけました

http://terama4.hatenablog.com/entry/2014/08/29/112136

充電ができていないので「Anker」で充電したらうまくいったという内容でした。
よく考えてみるとPC接続からと、iPhone用の充電アダプタでしか試していませんでした。
そこで、iPad用のを使ってみると、、

無事に起動するようになりました!
やはり付属の部品できちんと充電したほうが良いみたいですね。
| iPhone・iPad | 09:06 | comments(0) | - |
| 1/6PAGES | >>