質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
iOS 9

iOS 9は、アップル社のモバイルOSであるiOSシリーズのバージョン。特徴として検索機能の強化、Siriの機能改良、iPad向けマルチタスクなどがあります。マルチウィンドウ機能をサポートし、iPad向けマルチタスクもサポートされています。

Swift 2

Swift 2は、Apple社が独自に開発を行っている言語「Swift」のアップグレード版です。iOSやOS X、さらにLinuxにも対応可能です。また、throws-catchベースのエラーハンドリングが追加されています。

Q&A

2回答

6486閲覧

iOSアプリの審査でIPv6対応を促されるがデバッグしても問題が見つからない

kozo002

総合スコア10

iOS 9

iOS 9は、アップル社のモバイルOSであるiOSシリーズのバージョン。特徴として検索機能の強化、Siriの機能改良、iPad向けマルチタスクなどがあります。マルチウィンドウ機能をサポートし、iPad向けマルチタスクもサポートされています。

Swift 2

Swift 2は、Apple社が独自に開発を行っている言語「Swift」のアップグレード版です。iOSやOS X、さらにLinuxにも対応可能です。また、throws-catchベースのエラーハンドリングが追加されています。

3グッド

1クリップ

投稿2016/06/25 05:22

編集2016/07/05 03:42

###前提・実現したいこと
iOS8以上を対象としたアプリを開発し、Appleのレビューに提出しました。
言語はSwiftです。

ネットワークライブラリは以下を使用しています。

  • Alamofire 3.4.1
  • ReachabilitySwift 2.3.3

###発生している問題・エラーメッセージ

Appleからはhttpsリクエストが発生する箇所でクラッシュしたと言われ何度もバイナリが却下されました。
レビューした条件は iOS9.3.2 で動くiPad, iPhoneでIPv6通信の環境らしいです。

Performance - 2.1 Your app crashes on iPad and iPhone running iOS 9.3.2 when we: - Logged in to your app with the provided credentials This occurred when your app was used: - Offline - On Wi-Fi We have attached detailed crash logs to help troubleshoot this issue. Next Steps Please revise your app and test it on a device to ensure that it runs as expected. Apps are reviewed on an IPv6 network. Please ensure that your app supports IPv6 networks, as IPv6 compatibility is required. For information about supporting IPv6 Networks, refer to Supporting iPv6 DNS64/NAT64 Networks. For a networking overview, please see About Networking. Resources For information on how to symbolicate and read a crash log, please see Tech Note TN2151 Understanding and Analyzing iPhone OS Application Crash Reports. If you have difficulty reproducing this issue, please try testing the workflow described in Testing Workflow with Xcode's Archive feature. If you have code-level questions after utilizing the above resources, you may wish to consult with Apple Developer Technical Support. When the DTS engineer follows up with you, please be ready to provide: - complete details of your rejection issue(s) - screenshots - steps to reproduce the issue(s) - symbolicated crash logs - if your issue results in a crash log

###試したこと

Alamofireのバージョンが低かったので最新にアップデートしたのですが却下されました。
また、以下の公式のIPv6環境をデバッグする方法も試しましたがクラッシュすること無く動作しました。
https://developer.apple.com/library/mac/documentation/NetworkingInternetWeb/Conceptual/NetworkingOverview/UnderstandingandPreparingfortheIPv6Transition/UnderstandingandPreparingfortheIPv6Transition.html#//apple_ref/doc/uid/TP40010220-CH213-SW1

クラッシュが再現しないので打つ手が全く思いつきません。
どなたかアドバイスいただけないでしょうか。

よろしくお願いいたします。

追記

2016/06/25 15:02
なにやらサーバー側の対応が必要かも知れない情報が見つかりました。
http://stackoverflow.com/questions/37637818/ipv6-app-store-rejection
本件のAPIサーバーのDNSでもRoute53を使用していて、VPC内のELBを使用しています。
EC2-Classic上のELBのみIPv6に対応しているという情報もあるので、
iOSからのIPv6のリクエストに対し、IPv4しか返却できないのでレビューを通らない可能性があります。

2016/07/05 12:38
Appleのレビュー担当の方と日本語で電話で話をしました。
クラッシュはiPhone6SとiPadAir2で、WiFi、セルラー両方の環境で、しかもIPv4、IPv6両者で起きたそうです。
クラッシュが再現しないのであれば、サーバーがGeoフェンシングしていないかということを指摘されました。
取り急ぎiPhone6Sの検証機を購入してクラッシュが再現するか確認しようと思います。

tanat, sekitaka_1214, Koshin👍を押しています

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

IPv6で接続時のDNS名前解決の設定を見直してみてください。
特定環境下によってはDNS名前解決でエラーが起きることがあり、
人によってはアクセスできない状態になります。

DNS名前解決時の返却をAAAAレコードが存在しない、
といった内容に修正してやれば解決します。

投稿2016/07/01 00:58

退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

kozo002

2016/07/01 02:26

ご回答ありがとうございます。 > DNS名前解決時の返却をAAAAレコードが存在しない、といった内容に修正 すみませんお恥ずかしいのですが、具体的に何をすればよいのかわかりません。。 nslookupコマンドでAAAAレコードを引いてみると以下の様な結果が出ますが、これではまずいということなのでしょうか? ``` $ nslookup > set type=AAAA > example.com Server: (伏せておきます) Address: (伏せておきます)#53 Non-authoritative answer: *** Can't find example.com: No answer Authoritative answers can be found from: example.com origin = ns-968.awsdns-57.net mail addr = awsdns-hostmaster.amazon.com serial = 1 refresh = 7200 retry = 900 expire = 1209600 minimum = 86400 ``` DNSはAWSのRoute53を使っています。
退会済みユーザー

退会済みユーザー

2016/07/07 06:42

返答遅くなりました。 私の場合、ネットワークに関して専門ではなく、あくまで原因について担当に言及した、という形のため、それらの返却の有無が正しいかは少し判断しかねます。 力になれず、申し訳ないです。 ※ためしに別のネットワークで審査を仮に出し、うまくいくようであれば返却値を比較してみてはいかがでしょうか。 ※また環境によって正常・異常はかわるので、今回いただいた結果どおりではないかもしれません。
guest

0

再現しないCrashでのリジェクトは何度か経験があります。審査でも再現しない可能性があるので、リジェクトコメントに「再現しません、再度審査してください」のようなメッセージで返信すると、審査通ることがありますよ。

ご参考までー

投稿2016/06/25 09:40

sekitaka_1214

総合スコア509

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

kozo002

2016/06/25 09:49

ありがとうございます。なるほど。そうゆうケースも有るんですね。 そもそも6月に入ってから一度はレビューに通っている(その時はAlamofireのバージョンは低かった)のでたまにいい加減な時があるんですかね。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問