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

端末のモデル名やサイズを簡単に取得できるライブラリ「Device」

1 はじめに2 準備3 試してみる3.1 端末モデル名3.2 画面サイズ3.3 端末の種類4 さいごに はじめに こんにちは、nukkyです。 今回は端末のサイズやモデル名などを 簡単に取得できるライ ...

【Swift】SwiftUIの理解のためDSL記法とFunctionBuilderを調べてみた

1 はじめに2 DSL(ドメイン固有言語)について3 関数ビルダ3.1 定義方法3.2 使用方法3.3 SwiftUIの関数ビルダ4 カスタム属性5 さいごに6 おすすめ書籍 はじめに Xcode11 ...

swift

[Swift]UIViewからUIImageを作成しローカルに保存

1 はじめに1.1 前提条件2 実装2.1 UIViewからUIImageへ2.2 UIImageをローカルに保存2.3 おまけ:画像のリサイズ3 さいごに4 おすすめ書籍 はじめに こんにちは、nu ...

swift

月と日を選択するpickerを作る

1 はじめに1.1 前提条件2 サンプル2.1 ピッカーのイメージ2.2 ピッカーのxibファイル2.3 実装したカスタムクラス2.4 呼び出し元のコード3 簡単な解説3.1 MonthAndDayP ...

[Swift]アプリのフォアグラウンドに特定の処理を行う。

1 はじめに2 今回の目標3 画面構成4 通知の設定4.1 通知の送信4.2 通知の受信と削除-BaseController5 それぞれの画面の設定5.1 初期画面(FirstViewControll ...

フォロー

blog-page_side_responsive

2020年12月
 12345
6789101112
13141516171819
20212223242526
2728293031  

アプリ情報

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