2014-06-25 8 views
10

Kennt jemand eine gute Möglichkeit, eine iOS 8-Freigabeerweiterung ohne die MainInterface.storyboard zu schreiben, die mit der Vorlage geliefert wird?Schreiben einer iOS 8-Freigabeerweiterung ohne Storyboard

Wenn ich die Datei lösche oder die NSExtensionMainStoryboard von Info.plist entferne, funktioniert die Erweiterung nicht mehr (es passiert nichts, wenn du auf die Schaltfläche im Freigabefenster tippst). Wir haben versucht, NSExtensionMainStoryboard durch NSExtensionPrincipalClass zu ersetzen, was auch nicht funktionierte.

Irgendwelche Ideen?

Antwort

34

Ich habe es herausgefunden!

Stellt sich heraus, es ist eine seltsame Modul, was die Benennung in Swift geht, so können Sie es beheben, indem Sie einen @objc Namen der Klasse und fügte hinzu:

@objc(PrincipalClassName) 

class PrincipalClassName: UIViewController { 
... 

und dann den NSExtensionPrincipalClass Schlüssel zu PrincipalClassName.

+0

und in den Ziel-c? – Nil

+0

Hey! Danke, kannst du die Quelle angeben wo du das gefunden hast? –

3

kann keinen Kommentar hinzufügen, aber es ist kein mehr NSPrincipalClass vielmehr ist es NSExtensionPrincipalClass

7

die Antworten aus diesen Antworten gefunden Answer 1 und Answer 2 kombiniert.

Für Objective-C finden Sie die folgenden in der info.plist der App-Erweiterung setzen müssen: NSExtensionPrincipalClass und stellen Sie sicher, dass es unter NSExtension Dict ist

So voll Antwort so sein sollte, in meinem Fall ActionViewController ist die App-Erweiterung Viewcontroller

enter image description here

+0

Danke! Es funktioniert: D –

Verwandte Themen