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


関連記事

[SwiftUI]SwiftUIで動的にViewの更新をする方法

1 はじめに2 SwfitUIのViewについて3 値の更新について3.1 Stateの特徴3.2 ObservedObjectの特徴3.3 EnvironmentObjectの特徴4 さいごに5 お ...

[初心者向け]Xcodeの使い方(よく使うショートカットキーとエディタ)

1 はじめに1.1 前提条件2 ショートカットキー2.1 コメントアウト2.2 インデント2.3 ファイル内検索2.4 プロジェクト内検索2.5 クリーン2.6 ビルド2.7 ラン3 エディタ3.1 ...

swift

【Swift】switch文でタプルを使う

1 はじめに2 タプルとは3 タプルを使うswitch文について4 テストコード5 さいごに はじめに こんにちはsuzukiです。本日で投稿が2回目となります。 今後ともよろしくお願い致します。 最 ...

【Swift】iOS14 で変わるプライバシー主にIDFA周り

1 はじめに2 iOS14のプライバシーについて2.1 IDFAについて2.2 iOS14でどのような動きになるか2.3 今後の対策として3 その他のプライバシーについて4 さいごに5 おすすめ書籍 ...

swift

【Swift】Full Keyboard Accessが有効な際にボタンの動作が行われない。

1 はじめに2 フルキーボードアクセス3 今回の問題4 対応方法5 再現アプリ5.1 ViewController5.2 ChildView6 動かしてみた7 さいごに8 おすすめ書籍 はじめに こん ...

フォロー

blog-page_side_responsive

2020年12月
 12345
6789101112
13141516171819
20212223242526
2728293031  

アプリ情報

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