我正在开发一个应用程序。我要发布到应用商店。但是客户需要与朋友分享这个应用程序。我有一个按钮来分享我的应用程序。如何分享应用程序?我阅读了他们提到的一些文档,使用[[UIApplication SharedApplication] openURL:@" url"]
. 我没有我的应用网址。因为我没有提交应用程序。可以分享我的应用吗?
2 回答
如果您想在提交/批准之前知道您的应用程序的 URL 是什么,Apple 提供了一个您可以使用的速记 URL,其形式为:
http://itunes.com/apps/appname
例如:
http://itunes.com/apps/AngryBirds
如果您想要带有应用程序 ID 的特定 URL,您可以提交不带“共享”链接的 v1.0.0,然后立即提交包含链接的 1.0.1 更新。
Url 可以通过 app id 生成。这是最好的方法,因为如果应用名称更改,url 可能会更改。但是应用程序ID不会改变。
您可以在 itunesConnect.apple.com 或通过 itunes 获取您的应用程序 ID。// https://itunes.apple.com/app/id_hereisyourappID 让我们看看如何进行分享。
我将向您展示 4 种方法来分享您的链接。通过 Facebook、Twitter、邮件和短信。
对于 Facebook 和 Twitter。添加帐户和社交框架。并在您的标头导入中。
#import <Social/Social.h>
#import <Accounts/Accounts.h>
当您要共享链接时,请使用以下代码
SLComposeViewController *mySLComposerSheet = [[SLComposeViewController alloc] init];
mySLComposerSheet = [SLComposeViewController composeViewControllerForServiceType:SLServiceTypeFacebook];//for twitter use SLServiceTypeTwitter
[mySLComposerSheet addURL:[NSURL URLWithString:@"https://itunes.apple.com/app/id123456789"]];
[self presentViewController:mySLComposerSheet animated:YES completion:nil];
让我们使用邮件添加 MessageUI 框架并导入
#import <MessageUI/MessageUI.h>
还有代表MFMailComposeViewControllerDelegate
在你的代码中
MFMailComposeViewController* mailComposer = [[MFMailComposeViewController alloc] init];
[mailComposer setMailComposeDelegate:self];
[mailComposer setModalPresentationStyle:UIModalPresentationFormSheet];
[mailComposer setMessageBody:@"https://itunes.apple.com/app/id123456789" isHTML:NO];
[self presentViewController:mailComposer animated:YES completion:nil];
并添加委托方法
- (void)mailComposeController:(MFMailComposeViewController*)controller didFinishWithResult:(MFMailComposeResult)result error:(NSError*)error
{
[controller dismissViewControllerAnimated:YES completion:nil];
}
您可以为邮件正文创建 html 内容。
让我们通过短信分享
添加委托MFMessageComposeViewControllerDelegate
MFMessageComposeViewController *controller = [[MFMessageComposeViewController alloc] init];
if([MFMessageComposeViewController canSendText])
{
controller.body = @"https://itunes.apple.com/app/id123456789";
controller.messageComposeDelegate = self;
[self presentViewController:controller animated:YES completion:nil];
}
并添加委托方法。
-(void)messageComposeViewController:(MFMessageComposeViewController *)controller didFinishWithResult:(MessageComposeResult)result
{
[controller dismissViewControllerAnimated:YES completion:nil];
}
我希望这有帮助。