問題タブ [objc-bridging-header]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
0 に答える
145 参照

swift - 私の迅速なプロジェクトで、quickblox フレームワークを目的の c ヘッダー ファイルと統合するにはどうすればよいですか?

Swift 3.0を使用して、チャット機能用のQuickblox FrameworkをXcode 8.2の自分のアプリに統合しています。

ただし、Quickblox Frameworkのヘッダー ファイルをブリッジ ヘッダー ファイルにインポートする際に、エラーが発生します。

Swift 3.0でこの種のQuickblox Frameworkの統合を行った人はいますか?

0 投票する
1 に答える
1486 参照

objective-c - Swift での Objective-C 列挙型の使用

Xcode 8.2 (ビルド ターゲット 8.0) の Swift 2.3 コードで Objective-C メソッドを呼び出しています。パラメータとして NS_ENUM を受け入れます。

この列挙型とメソッドを含む .h ファイルは、bridging-header.h ファイルにあります。これは objc メソッドのシグネチャです。

次に、Swift 2.3 から次のように呼び出します。

デバッグ用にコンパイルして実行すると、これは正常に機能します。ただし、アーカイブしてリリース用にコンパイルしようとすると、次のメッセージが表示されます。

ビルドをアーカイブしたときにのみこれが発生する理由や、修正するために何をすべきかわかりません。


編集:他の場所で見た同様の問題への回答に基づいて、アーカイブのビルド構成をリリースからデバッグに変更し、今はアーカイブします。ただし、これは良いことではないようです。これを行うと、アーカイブにデバッグ シンボルが含まれますか?

0 投票する
1 に答える
94 参照

ios - 迅速にリンクされたobjcクラスを迅速にインポートする

私が現在取り組んでいるプロジェクトには、Objective-C と Swift の両方がブリッジング ヘッダーにリンクされており、すべて正常に動作します。しかし、Obj-c にあるこの特定の viewController.h がすでに迅速にインポートされている場合があります。別の Swift コントローラーでこの viewController.h にアクセスしようとすると、'<#project-name#>-swift.h' file not found と表示されます

この objC ファイルに迅速にアクセスする方法を教えてください :(

編集:詳細!!

「<#project-name#>-swift.h」をインポートしてSwiftモデルを実装したviewController.hファイルがあります

しかし、SecondViewController.swift からこの viewController.h にアクセスしようとすると、これ#import "viewController.h"をプロジェクトのブリッジ ヘッダーに追加する必要があります。そうすると、 「<#project-name#>-swift.h」ファイルが見つからないというエラーが表示されます

0 投票する
1 に答える
349 参照

objective-c - Objc で定義された enum > Swift で宣言 > Objc で使用される

状況があります。誰かがこれに対する解決策を持っていれば幸いです

  • 私はobjCenumと言いますAbc
  • これを迅速なクラスで宣言します。たとえば、次のMySwiftClass.swiftようにします。var abc : Abc!
  • mySwiftClass別の ObjC クラス (myObjC.m ファイル)に MySwiftClass ( ) のインスタンスを作成しました。
  • myObjC.m で、enum Abc as にアクセスしようとしていますmySwiftClass.abc

これによりエラーがスローされます - 「プロパティ 'abc' が MySwiftClass 型のオブジェクトに見つかりません *」。「ProjectName-Swift.h」ファイルには基本的にenumはプロパティとして追加されません。

私が信じているのは、Swift クラスで ObjC 列挙型を宣言しているときに、それが迅速な列挙型に変換されているため、ObjC ファイルでアクセスできないということです。

注: Swift クラスを @objc としてマークしても機能しませんでした。

0 投票する
1 に答える
347 参照

objective-c - Swift Protocol を使用して、プロトコル準拠の Objective-C クラスをプロパティに割り当てることはできません

Objective-C クラスに Swift ファイルで記述されたプロトコルを採用させようとしています。Swift と Objective-C をある程度相互運用しています。(Swift から Objective-C クラスを構築できます)。

私は持っている:

次に、Objective-C ファイル:

そして実装:

しかし、Swift (主にアプリ デリゲートでこれを行う) にデリゲート プロパティを指定し、Objective-C オブジェクトをそれに割り当てようとすると、次のようになります。

次のように失敗します。

タイプ「ObjClass1」の値をタイプ「FooProtocol?」に割り当てることはできません。

強制しようとしましたas! FooProtocolが、これによりSIGABRTが発生します。

ここでの問題は何ですか?