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
Warum möchten Sie keine Plugins verwenden? – Naeim
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. –