問題タブ [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.
swift - 私の迅速なプロジェクトで、quickblox フレームワークを目的の c ヘッダー ファイルと統合するにはどうすればよいですか?
Swift 3.0を使用して、チャット機能用のQuickblox FrameworkをXcode 8.2の自分のアプリに統合しています。
ただし、Quickblox Frameworkのヘッダー ファイルをブリッジ ヘッダー ファイルにインポートする際に、エラーが発生します。
Swift 3.0でこの種のQuickblox Frameworkの統合を行った人はいますか?
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 から次のように呼び出します。
デバッグ用にコンパイルして実行すると、これは正常に機能します。ただし、アーカイブしてリリース用にコンパイルしようとすると、次のメッセージが表示されます。
ビルドをアーカイブしたときにのみこれが発生する理由や、修正するために何をすべきかわかりません。
編集:他の場所で見た同様の問題への回答に基づいて、アーカイブのビルド構成をリリースからデバッグに変更し、今はアーカイブします。ただし、これは良いことではないようです。これを行うと、アーカイブにデバッグ シンボルが含まれますか?
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」ファイルが見つからないというエラーが表示されます
objective-c - Objc で定義された enum > Swift で宣言 > Objc で使用される
状況があります。誰かがこれに対する解決策を持っていれば幸いです
- 私はobjC
enum
と言います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 としてマークしても機能しませんでした。
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が発生します。
ここでの問題は何ですか?