FC2ブログ

頭と尻尾はくれてやる!

パソコンおやじのiPhoneアプリ・サイト作成・運営日記


Objective-CのプロジェクトからSwiftを使おうとしたらFile Not Found

Objective-CのプロジェクトからSwiftを使う場合には、
#import "プロジェクト名-Swift.h"
を記述すべし、と多くの解説ページには書かれているのだが、なぜかこれがうまくいかない。

File Not Foundエラー

↑File Not Foundのエラーでビルドさえできない状態になる。


いろいろと調べた結果、、、
この原因はプロジェクトの名前が”181106ImageTest”となっており数字で始まっていたため。
プロジェクト名を数字で始めるのは具合が悪い場合があるのか、Product Bundle Identifierなどでは最初の数字が”-“(ハイフン)で置き換えられていたりする。

参考サイト(※)には
「#import "ProductModuleName-Swift.h"」を記述する
とあるので、XcodeのBuild SettingsでProduct Module Nameを調べると、、、

XcodeのBuild Settingのスクショ

↑”_81106ImageTest”となっている。ここはハイフンではなくアンダーバーなのか🤔

ということで
#import "_81106ImageTest-Swift.h"
とすれば File Not Foundエラーは消えた。

管理しやすいからという理由で冒頭に日付を持つプロジェクト名を付けているんだけど、この方法はお勧めしません。



※参考サイト
Objective-CコードからSwiftのクラス/プロトコルを使う方法(フレームワーク開発編) - Qiita




Xcode 10.1
macOS Mojave 10.14.1
Swift 4.2.1

Swiftのバージョン確認方法はターミナルから swift -version でOK。
Apple Swift version 4.2.1 (swiftlang-1000.11.42 clang-1000.11.45.1)
Target: x86_64-apple-darwin18.2.0

<< Objective-CでCGAffineTransformからSCNMatrix4へ変換する  TopPage  iPhone 7 Plusのバッテリー交換を配送でAppleに依頼した >>

コメント


管理者にだけ表示を許可する
 

トラックバック

トラックバックURL
http://ringsbell.blog117.fc2.com/tb.php/1252-38bddf5a




Copyright ©頭と尻尾はくれてやる!. Powered by FC2 Blog. Template by eriraha.

FC2Ad