iOS

【Swift】ITMS-90726で警告された際の対応

投稿日:

はじめに

こんにちはsuzukiです。最近アプリを審査に提出したところ警告が出たのでそちらの対応についてまとめていこうと思います。

警告について

先日ストアに申請を行った際に下記のような警告メールが届きました。

Dear Developer, We identified one or more issues with a recent delivery for your app, “XXXXXXX” 1.0.0 (1). Your delivery was successful, but you may wish to correct the following issues in your next delivery: ITMS-90726: Disallowed frameworks – Your app submission contains usages of the restricted framework libswiftXCTest.dylib. Remove these, rebuild and resubmit. After you’ve corrected the issues, you can upload a new binary to App Store Connect. Best regards, The App Store Team

libswiftXCTest.dylibというライブラリが不許可だから次の提出から削除してくれという内容です。
今まで指摘されていなかった内容なので、ITMSの基準が増えたのかもしれません。
libswiftXCTest.dylibは特に意識をしていなかったのですが、RXTestというライブラリで使っており、Carthageで追加しておりました。

RXTestについて

RXTestはテスト用のライブラリのためそもそもリリースビルドには不要です。どこかの設定が間違っていることが考えられるため。Carthageの設定まわりを見直します。

Carthageの設定の確認

①TargetのGeneralタブのCarthage/BuildフォルダにあるframeworkをタブのLinked Frameworks and Librariesの内容を確認。

②Build PhaseタブのRun Scriptの「/usr/local/bin/carthage copy-frameworks」に記述した
frameworkへのパスを確認

私の場合、②の箇所にRxTestの設定がなぜか記述してありました。そちらの内容を修正して、審査に提出したところ、指摘がなくなりました。

おまけ

上記で色々対応したのですが、別の問題があり、CarthageからCocoaPodsにライブラリの管理を移行しました。
Xcode12.2でビルドを行おうとしたところ、ビルドに失敗し、事象としてはリンクと同じような内容で、半日ほど対応を行っていたのですが、解決できませんでした。

現在Carthageの恩恵をあまり感じていなくFirebaseのアップデートと他のプロジェクトもCocoaPodsで管理していたので移行しました。
Carthage関連のゴミが色々な場所に残っていたので下記をまとめました。

Carthage削除

まず下記のファイルを削除しました。Firebase関連も併せて削除しております。
・Cartfile
・Cartfile.resolved
・Carthage/*
・Firebase/*

次にXcodeを開いて下記をグループごと削除しました。
・Frameworks/*
・Firebase/*

上記の他に設定の項目にいくつかゴミが残ります。ターゲットごとに異なるのできちんと削除しましょう。
・GeneralタブのCarthage/BuildフォルダにあるframeworkをタブのLinked Frameworks and Libraries
・Build PhaseタブのRun Script
・Build SettingsタブのFrameWork Search Paths
FRAMEWORK_SEARCH_PATHS =
$(PROJECT_DIR)/Carthage/Build/iOS
$(PROJECT_DIR)/Firebase/Analytics
・Build SettingsタブのUser Header Search Paths
USER_HEADER_SEARCH_PATHS =
$(SRCROOT)/Firebase

さいごに

ITMSの対応がやっと終わったところでXcode12対応を行い、遠回りした気がします。ライブラリの管理は問題なくアップデートできればなんでもいいのですが、それぞれで問題が起きて苦労してます。プロジェクト毎の違いはなるべく無くして簡単に管理できるようにして行きたいです。

おすすめ書籍

[改訂新版]Swift実践入門 ── 直感的な文法と安全性を兼ね備えた言語 WEB+DB PRESS plus 詳解 Swift 第4版 [改訂新版]Swiftポケットリファレンス (POCKET REFERENCE)

blog-page_footer_336




blog-page_footer_336




-iOS
-

執筆者:

免責事項

このブログは、記事上部に記載のある投稿日時点の一般的な情報を提供するものであり、投資等の勧誘・法的・税務上の助言を提供するものではありません。仮想通貨の投資・損益計算は複雑であり、個々の取引状況や法律の変更によって異なる可能性があります。ブログに記載された情報は参考程度のものであり、特定の状況に基づいた行動の決定には専門家の助言を求めることをお勧めします。当ブログの情報に基づいた行動に関連して生じた損失やリスクについて、筆者は責任を負いかねます。最新の法律や税務情報を確認し、必要に応じて専門家に相談することをお勧めします。


comment

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA


関連記事

swift

SwiftでのDateクラスの煩わしさから解放されるSwiftDateを使ってみた

1 はじめに2 準備3 使ってみよう3.1 現在の取得3.2 パラメータの取得3.3 パラメータの操作3.4 文字列変換3.5 Dateの比較3.6 判定メソッド4 さいごに はじめに こんにちは、n ...

swift

[Swift]通信状況を取得できるReachability.swiftを使ってみた

1 はじめに2 準備3 実装3.1 通信状況を確認する3.2 通信可能になった時に通知する4 さいごに はじめに こんにちは、nukkyです。 今回は端末の通信状況を取得できるReachability ...

UserNotificationsの使い方について

1 はじめに2 UserNotificationsフレームワーク3 基本実装3.1 デリゲートの設定3.2 ユーザー許可3.3 デバイストークン取得後3.4 バックグラウンドで通知受信3.5 フォアグ ...

[Swift]Alamofireを使ってファイルをDLしてみる

1 はじめに1.1 前提条件2 今回やること3 準備4 実装4.1 DLしたファイルへのアクセス5 さいごに はじめに こんにちは、nukkyです。 みなさんSwiftでの通信ライブラリは何を使ってま ...

[Swift]忘れられがちなSFSafariViewControllerについて

1 はじめに1.1 前提条件2 SFSafariViewControllerとは2.1 SFSafariViewControllerの特徴2.2 iOS11からのCookie同期について3 SFSaf ...

フォロー

blog-page_side_responsive

2020年12月
 12345
6789101112
13141516171819
20212223242526
2728293031  

アプリ情報

私たちは無料アプリもリリースしています、ぜひご覧ください。 下記のアイコンから無料でダウンロードできます。