2015-12-02 21 views
7

ben satırını kullanarak benim Swift app harici bir URL açıyorum uygun görünüm denetleyici tabanlı çözümleri kullanın: Ben CocoaPods aracılığıyla projeme Realm eklendi kadar bu iyi çalışıyorduSwift - 'sharedApplication kullanılamıyor.' yerine

UIApplication.sharedApplication().openURL(url) 

. Bu noktada, aşağıda hataları derleme bana ikisini vermeye başladı:

'sharedApplication()' kullanılamaz: Kullanım görünümü kontrolörü uygun olduğunda yerine çözümleri tabanlı.

'openURL'

Bu hatalar API Uygulama Uzantıları için kullanılamaz olduğunu belirtmek müsait değil, ancak benim kod normal bir uygulama değil bir uzantısı bulunmaktadır. Derleyici'de bir Uygulama Uzantısı içinde olduğunu düşünerek Realm sonucunu neden ekleyelim?

+0

Realm benzeri bölmeleri yüklemek için bir paket yöneticisi kullandınız mı? Realm'i kaldırırsanız projeniz de derleniyor mu? Ayrıca lütfen Xcode'un hangi sürümünü kullandığınızı belirtin – ProblemSlover

+0

Ben Cocoapod'ları kullanıyorum ve Xcode 7 –

+0

UIApplication.sharedApplication() Realm ile ilgisi yok, değil mi? Uzatma kullanıyor gibi görünüyorsun? [UIApplication sharedApplication] uzantılar için mevcut değil. – Wingzero

cevap

3

Bir uygulama uzantısından sharedApplication kullanamazsınız.

Ama elma belgelerine bildiren unutmayın: widget'inin kendi içeren uygulamasını açmak için yöntem: completionHandler:

ÖNEMLİ

Elma herhangi Bugün widget'ı OpenUrl kullanmasını sağlar.

2

Bu

ExtensionOverview.

v0.39 önce CocoaPods bir sürümünü kullanan bir projeye Realm eklerken oluşabilir bir konudur. Bunu düzeltmek için, kullanan CocoaPods en son sürümüne güncelleme:

sudo gem install cocoapods 

Bu sorun uygulamanın hedeflere uygulanan Diyar yapılandırma ayarlarının bölümleri ile sonuçlanır CocoaPods issue #3906, kaynaklanmaktadır. Realm'in etkinleştirdiği ayarlardan biri de "Yalnızca uygulama uzantısı API'sine izin ver" şeklindedir. Bu nedenle, bu belirli hatayı görmeniz gerekir.

İlgili konular