web-dev-qa-db-ja.com

Swift iOS XCodeプロジェクトにプロジェクト参照を追加してデバッグする

私はiPhoneとiPadの両方の製品の開発を開始しており、2つはコア機能にカスタムフレームワークを使用します。すべての一般的なAPIを含むiOSフレームワークプロジェクトを作成しました。 iPhoneアプリのデバッグ中にフレームワークをデバッグできるようにしたいと思います。 iPhoneプロジェクトとフレームワークプロジェクトの両方をワークスペースに追加し、フレームワークをiPhoneプロジェクトにリンクしました。プロジェクトをクリーンアップまたはビルドしようとすると、このエラーが発生します。

MyFrameworkは、DEFINES_MODULEを有効にするフレームワークターゲットで使用する有効なPRODUCT_NAMEではありません(名前は有効なC99拡張識別子ではありません)。これはXCode 6にあります

誰もがこれが何を意味するかについて何か考えを持っていますか?

ありがとうございました。

35
Tony Dail

フレームワークの名前が無効であることを意味します。
予約されていない文字が含まれています。

-フレームワーク名では使用できません

例:

MyFrameroks-iOS-誤り
MyFrameroksiOS-正解

フレームワークの名前を変更してみてください。プロジェクトのビルド設定でproduct nameを検索して変更します enter image description here

54

@Kostiantynコヴァルの答えに追加するだけです。製品名フィールドのデフォルト値は$(TARGET_NAME)であり、暗黙的にターゲット名から値を取得します。これを$(TARGET_NAME:c99extidentifier)に変更することで、デフォルト値と同様に、ターゲット名との同期を維持するc99互換の文字列を提供できます。 Appleは、たとえばProduct Module Nameプロパティ($(PRODUCT_NAME:c99extidentifier)として表示される場所)で使用しています)

実際には、これは、空白などの互換性のない文字を、この場合はアンダースコアなどの互換性のある文字に変更することです。

14
insys