2015-12-02 4 views
7

私はラインを使用して、私のスウィフトアプリで外部URLを開封しております、適切なビューコントローラベースのソリューションを使用してください:私はCocoaPodsを経由して、私のプロジェクトにレルムを追加するまで、これがうまく働いていたSwift - '共有アプリケーションは利用できません。'代わりに

UIApplication.sharedApplication().openURL(url) 

。その時点で、それは私の下の2つのコンパイルエラーが与え始め:

「sharedApplicationを()」使用できません:使用ビューコントローラベースのソリューション 適切な場合には代わりに。

「のOpenURLは」

これらのエラーは、APIは、アプリケーションの拡張に利用できないことを示して使用できませんが、私のコードは、通常のアプリケーションではなく、拡張機能です。なぜRealmを追加すると、コンパイラはApp Extensionにあると思うのでしょうか?

+0

パッケージマネージャを使用して、ポッドのような領域をインストールしましたか?レルムをアンインストールするとプロジェクトもコンパイルされますか?また、使用するXcodeのバージョンを指定してください – ProblemSlover

+0

私はCocoapodsとXcodeを使用しています。 –

+0

UIApplication.sharedApplication()はRealmとはまったく関係ありません。拡張機能を使用しているようですか? [UIApplication sharedApplication]は拡張機能では使用できません。 – Wingzero

答えて

3

アプリ拡張のsharedApplicationは使用できません。

しかし、Appleのドキュメントを述べていることに注意してください:completionHandler::ウィジェット自身含む アプリを開くための方法

重要

Appleはいかなる今日ウィジェットは のOpenURLを使用することができます。

ExtensionOverview.

2

これは、従来v0.39へCocoaPodsのバージョンを使用しているプロジェクトにレルムを追加するときに発生する可能性が問題です。それを修正するには、使用してCocoaPodsの最新バージョンへのアップデート:

sudo gem install cocoapods 

この問題は、アプリケーションのターゲットに適用されているレルムの構成設定の部分で、その結果、CocoaPods issue #3906によるものです。 Realmが有効にする設定の1つは、「アプリ拡張APIのみを許可する」です。このため、この特定のエラーが表示されることになります。