2016-07-12 25 views
1

Ich baue mein erstes Spiel in Unity und ich habe es fast abgeschlossen. Ich möchte einen Screenshot meines Spiels über verschiedene soziale Plattformen wie Facebook, Twitter, E-Mail usw. teilen. Aber ich kann das nicht machen. Ich möchte keine Plugins verwenden.Einheit Spiel Screenshot teilen in mehreren sozialen Plattform in IOS

Ich möchte ähnliche

enter image description here

Jede Hilfe wäre hilfreich zu tun.

+1

Warum möchten Sie keine Plugins verwenden? – Naeim

+0

Ich bin mir über Plugins bis jetzt nicht sicher. @ Naeim kannst du mir irgendwelche Plugins vorschlagen, die meine Anforderungen erfüllen können. Und wenn möglich teilen Sie mir einige Ressourcen auf Unity-Sharing. –

Antwort

1

Da Sie im Kommentar erwähnt sie eine Plugin-Option entscheiden können, ist dies das Plugin Ich verwende: https://github.com/ChrisMaire/unity-native-sharing

Eine kleine Randnotiz, wenn Sie das Asset aus the.unitypackage-Datei zu importieren, müssen Sie Ersetzen Sie die Post-Import-Datei in Assets/Plugins/iOS/mit der neuesten Version von Master. Das letzte Commit behebt einen Absturz auf dem iPad, ist aber noch nicht im .unitypackage enthalten.

+0

Ich habe schon versucht, aber es gibt den Fehler ** EntryPointNotFoundException: showSocialSharing **. Gibt es eine andere Dokumentation oder ein Tutorial zum Teilen unter iOS? Bitte helfen Sie mir –

+0

Darüber hinaus vergessen Sie nicht, die Freigabe-Berechtigung zu Ihrem Plist hinzuzufügen: https://stackoverflow.com/questions/6029916/how-to-enable-file-sharing-for-my-app – ADB

0

Es ist ziemlich einfach. Fügen Sie in Ihrem C# -Code den DllImport für Ihren systemeigenen Code hinzu, und erstellen Sie eine einfache Funktion, die den Bildpfad und die Textnachricht berücksichtigt.

dann in Ihre Assets/Plugins/iOS/fügen Sie eine Klasse, ex: "ShareHandler.mm"

In dieser Klasse haben eine Funktion, die Sie aufrufen können, die in einem Pfad und Text nimmt. Konvertieren Pfad zu Bild wie folgt aus:

NSString *imagePath = [NSString stringWithUTF8String:path]; 
UIImage *image = [UIImage imageWithContentsOfFile:imagePath]; 

erstellen NSArray der Artikel, die Sie buchen wollen, hier:

NSArray *postItems = @[image, message]; 

Dann fügen Sie diese:

UIActivityViewController *activityVc = [[UIActivityViewController alloc]initWithActivityItems:postItems applicationActivities:nil]; 

if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad && [activityVc respondsToSelector:@selector(popoverPresentationController)]) { 

    UIPopoverController *popup = [[UIPopoverController alloc] initWithContentViewController:activityVc]; 

    [popup presentPopoverFromRect: 
     CGRectMake(self.view.frame.size.width/2, self.view.frame.size.height/4, 0, 0) 
     inView:[UIApplication sharedApplication].keyWindow.rootViewController.view 
     permittedArrowDirections:UIPopoverArrowDirectionAny animated:YES]; 
} else { 
    [[UIApplication sharedApplication].keyWindow.rootViewController presentViewController:activityVc animated:YES completion:nil]; 
} 

Danach rufen Sie diese Funktion aus dem externen "C" Teil der Klasse:

extern "C"{ 
void shareImageWithTextOnIOS(const char * path, const char * message){ 
    ImageShareForiOS *vc = [[ImageShareForiOS alloc] init]; 
    [vc shareMethod:path Message:message]; 
} 

Das hat gut für mich funktioniert. Hoffe das hilft.

Lesen Sie die Unity iOS-Plugin-Dokumentation zum Erstellen von Unity iOS-Plugins. Ziemlich nützlich ist es! https://docs.unity3d.com/Manual/PluginsForIOS.html