0
Thumbsup

いい質問だ

0

Thumbsdown

うーん

Titanium SDK3.1.2.GAでiOS8へのビルド(公開)について

zam
zam 60

投稿日:2014-12-10 23:06:40

お世話になっております。
現在、TitaniumSDK3.1.2.GAでiOSアプリを開発しております。
一部の機能が想定通りに動作しないため、最新のSDK(3.4.1GA)にあげることができません。

アプリ公開時にはiOS7まで確認していたため、アプリをリリースすることができました。
その後、iOS8が配信され、配信済みのアプリを確認したところ、iOS7と同様の動きをしていたため、問題なしとしていました。

近々アプリのバージョンアップのため、iOS8の端末へビルドして動作を確認していたところ、いくつか想定外の動きが見受けられました。
特に問題となったのは、位置情報の利用許可のダイアログが表示されない点です。
以下のサイトのサンプルを試したところ、TitaniumSDK3.1.2ではダイアログが表示されず、TitaniumSDK3.4.1ではダイアログが表示されました。
https://gist.github.com/benbahrenburg/c4c992c8c61d197510ea

TitaniumSDK3.1.2がiOS8のサポート対象外のため、想定通りに動作しないのは当然だと思います。
そこで、iOS8でiOS7と同様の動作をさせることができないでしょうか?
ビルド時のRunConfigurationsのselect SDK Version では、
7.0、7.1、8.1が選択できますが、7.0を選択してビルドしても、自動的に8.1が選択されてしまうのか、思ったように動きません。

2015/02/01までにはTitaniumSDKも最新に対応しなければとのことなので、短い期間でのことになりますが……

ご存知の方いらっしゃいましたらご教授願います。



回答

yagi_
yagi_
2540
Tcad_icon Tcmd_icon Tce_icon

Thumbsup

いい回答

1

Thumbsdown

うーん



中身の実装を見ていないので不確実ですが、tiapp.xmlに

<ti:app>
    <ios>
        <plist>
            <dict>
                <key>NSLocationAlwaysUsageDescription</key>
                <string>
                    位置情報を利用する理由をこちらに記述する
                </string>
            </dict>
        </plist>
    </ios>
</ti:app>

このように記述するとiOS 8に対応したInfo.plistになります。上の例では「NSLocationAlwaysUsageDescription」を指定しましたが、これはiOS 8の位置情報を常に許可する設定の場合で、「 NSLocationWhenInUseUsageDescription」を指定することもできます。

これで一度試してみてはどうでしょうか。手元に同じ環境がなかったので試していないのですが…


いつもありがとうございます! 設定してみたのですが、やはり位置情報ダイアログは出ませんでした。。。 おとなしくTitaniumSDKのバージョンをあげようと思います。 またよろしくお願いします。 --- zam

ログインすると回答することができます。