無気力生活 (ノ ´ω`)ノ ~゜

脱力系エンジニア。てきとーに生きてます。

理不尽リジェクトの憂鬱

最近職場で使っているMacbook Pro(2017)のトラックパッドがよく反応しなくなる今日この頃です_(:3」∠)_
まとめてキーボードまで反応しなくなるため、発生したら泣く泣く再起動掛けてます。つらみ。

最近はApple様の理不尽リジェクトにビンタされることが多くなりました。
今回のリジェクト理由はこれ。なおUnity5.4で制作したものです。 https://stackoverflow.com/questions/49153684/ios-app-rejected-app-uses-or-references-non-public-apis

Your app uses or references the following non-public APIs:

食らったやつではAvatarKit.framework(_sharedInstance)という内容だったんですが、その他の文面はまるっきり一緒でした。 その辺絡んでそうなアップデート掛けてないし、追加したライブラリもアセットも無いんですがね… 一応、書かれている通り諸々ツールを使って調べるわけですよ。

# 共有ライブラリを調べる
otool -L {app}_dir/{app}.app | grep -e AvatarKit -e _sharedInstance

# obj-cの構成見てみる
otool -ov {app}_dir/{app}.app | grep -e AvatarKit -e _sharedInstance

みつからない。

nm  {app}_dir/{app}.app | grep -e AvatarKit -e _sharedInstance

見つからない

strings {app}_dir/{app}.app | grep -e AvatarKit -e _sharedInstance

見つからない(´・ω・`)Apple様はどこ見て判断したんや…
悩んでたところ、同僚から「アンスコついてないsharedInstanceならstringsでヒットする」と報告もらったわけです。 これは誤認パターンなのでは?という疑念が。

いそいそとXcodeインストールしてる私を尻目に、別の同僚がXcodeProjectからどこのコードが"sharedInstance"なる名前を使っているか調べてくれ、指摘されていたAPIでないことがはっきりしたので、返信へ。

「そんなAPI使ってないし、指定されたツール使っても見つからない。怪しそうなのはAvatarKitじゃない」的な解答をして結果待ちです_(:3」∠)_

調べてみると、同様の事例は結構存在しているみたいですね。
http://sonson.jp/blog/2010/09/23/private-api/
とか

ここまで理不尽なリジェクト食らうと、大変しんどみあります。PWAの進化を期待したいところ。 qiita.com

2018/04/21追記

ダメでした(´・ω・`) 対応せーやとのこと。

しかし、やはり使ってないところで文句言われるの納得行かないので、 向こうの提示したツールでの実行結果や、アプリケーションのアーカイブ自体を投げつけて、 「これで検証したけど出てこない。どう判断したかやり方をおしえてくれ」的な文言で返信しました。

さて、これでどう出てくるやら… これでもダメだった場合、XcodeProjectとして吐き出した後に一括置換する方法で検討しています。 まー仕方ないですね。