1. 程式人生 > >iOS應用程式簡訊分享和郵件分享

iOS應用程式簡訊分享和郵件分享

前言

本篇文章講述在iOS開發中的簡訊分享以及郵件分享

簡訊分享

方式一:
如果利用該方式傳送簡訊, 當簡訊傳送完畢或者取消之後不會返回應用程式

        NSURL *url = [NSURL URLWithString:@"sms://10010"];
        [[UIApplication sharedApplication] openURL:url];

方式二:

        // 判斷當前裝置能否傳送簡訊
        if (![MFMessageComposeViewController canSendText]) {
            NSLog
(@"當前裝置不能傳送簡訊"); return ; } MFMessageComposeViewController *vc = [[MFMessageComposeViewController alloc] init]; // 設定簡訊內容 vc.body = @"你好呀。"; // 設定收件人列表 vc.recipients = @[@"10010"]; // 設定代理 vc.messageComposeDelegate = self; // 顯示控制器
[self presentViewController:vc animated:YES completion:nil];

代理方法

#pragma mark - MFMessageComposeViewController
- (void)messageComposeViewController:(MFMessageComposeViewController *)controller didFinishWithResult:(MessageComposeResult)result
{
    NSLog(@"didFinishWithResult");
    [self
dismissViewControllerAnimated:YES completion:^{ }]; if (MessageComposeResultCancelled == result) { NSLog(@"取消傳送"); }else if (MessageComposeResultSent == result) { NSLog(@"傳送成功"); }else { NSLog(@"傳送失敗"); } }

郵件分享

方式一:
如果採用該方式,當郵件傳送成功或者失敗或者取消之後不會回到原來的應用程式

NSURL *url = [NSURL URLWithString:@"mailto://[email protected]"];
        [[UIApplication sharedApplication] openURL:url];

方式二:

// 不能發郵件
        if (![MFMailComposeViewController canSendMail]) return;

        // 當郵件傳送成功或者失敗或者取消之後會回到原始程式
        MFMailComposeViewController *vc = [[MFMailComposeViewController alloc] init];

        // 設定郵件主題
        [vc setSubject:@"會議"];
        // 設定郵件內容
        [vc setMessageBody:@"今天下午開會吧" isHTML:NO];
        // 設定收件人列表
        [vc setToRecipients:@[@"[email protected]"]];
        // 設定抄送人列表
        [vc setCcRecipients:@[@"[email protected]"]];
        // 設定密送人列表
        [vc setBccRecipients:@[@"[email protected]"]];

        // 新增附件(一張圖片)
        UIImage *image = [UIImage imageNamed:@"lufy.jpeg"];
        NSData *data = UIImageJPEGRepresentation(image, 0.5);
        [vc addAttachmentData:data mimeType:@"image/jepg" fileName:@"lufy.jpeg"];

        // 設定代理
        vc.mailComposeDelegate = self;
        // 顯示控制器
        [self presentViewController:vc animated:YES completion:nil];

代理方法

#pragma mark - MFMailComposeViewControllerDelegate
- (void)mailComposeController:(MFMailComposeViewController *)controller didFinishWithResult:(MFMailComposeResult)result error:(NSError *)error
{
    // 關閉郵件介面
    [controller dismissViewControllerAnimated:YES completion:nil];

    if (result == MFMailComposeResultCancelled) {
        NSLog(@"取消傳送");
    } else if (result == MFMailComposeResultSent) {
        NSLog(@"已經發出");
    } else {
        NSLog(@"傳送失敗");
    }
}

總結

希望能夠幫助到一些同學關於簡訊分享和郵件分享。

相關推薦

iOS應用程式簡訊分享郵件分享

前言 本篇文章講述在iOS開發中的簡訊分享以及郵件分享 簡訊分享 方式一: 如果利用該方式傳送簡訊, 當簡訊傳送完畢或者取消之後不會返回應用程式 NSURL *url =

如何備份恢復iOS應用程式的資料設定

iMazing(http://www.imazing.cc/)具有強大的應用資料提取工具,可以幫助您從任何一臺iOS裝置備份、恢復或傳輸應用資料和以及其裝置應用的設定。您還可以管理iOS應用程式,當您匯入裝置上不存在的應用程式的資料和設定時,iMazing將自動下載(從App Store)並

Android微信分享郵件分享

微信分享&郵件分享 前些天公司領導想做微信分享和郵件分享,之前就簡單的看過整合的文件,以為很簡單,自己真正整合的時候才發現有坑啊~總結看整合分享的步驟~本人使用的是shareSdk 在ShareSdk官網下載整合文件 在官網上下載整合demo 檢視

iOS呼叫系統傳送簡訊郵件分享

  //傳送郵件 -(void)sendMail:(NSString*)subject content:(NSString*)content{ MFMailComposeViewController*controller = [[[MFMailComposeViewCon

iOS 【檢視更改您的應用程式的狀態可用性】

檢視和更改您的應用程式的狀態和可用性 當您的應用程式在商店中可用時,其狀態為“準備出售”,如綠色狀態指示器所示  。任何其他狀態意味著您的應用程式不在商店中。您可能故意將該應用從銷售中刪除,例如,如果您正在等待發布應用以對應營銷活動。本章介紹如何控制應用程式何時可用,以

IIS7應用程式池整合經典的區別 IIS7應用程式池整合經典的區別

IIS7應用程式池整合和經典的區別   IIS7應用程式池整合和經典的區別    IIS7應用程式池有整合和經典兩種模式,根據微軟官方的介紹, 整合模式,如果託管應用程式在採用整合模式的應用程式池中執行,伺服器將使用 II

iOS應用程式如何呼叫以太坊智慧合約

以太坊智慧合約有各種各樣的用例,但到目前為止,從你的iOS應用程式中呼叫它們非常困難。不過如果使用以太坊iOS開發套件和EtherKit,這種情況會改善很多,你可以立即開始使用。在本教程結束時,你將能夠呼叫其ABI(應用程式二進位制介面)中定義的任何公共合約函式。 對於這個專案,我們將使

筆記-iOS應用程式的啟動過程

程式的啟動 使用Xcode開啟一個專案,很容易會發現一個檔案main.m檔案,此處就是應用的入口。 程式啟動時,先執行main函式,main函式是iOS程式的入口點 內部會呼叫UIApplicationMain函式 UIApplicationMain裡會建立一個UIApplication物

蘋果安裝app的另一種方式(通過itms-services協議,不通過AppStore,直接安裝IOS應用程式

最近有一專案的要求是不通過蘋果商店,二是通過掃描二維碼進行下載app,當然了安卓手機是非常容易做到的,這裡主要講述蘋果的。以及兩個應用合併為一個的知識點。其實很多分發平臺就是這樣做的。比如:fir.im等等吧。那麼接下來我們開始我們的部落格內容。 其實分發平臺很多是獲取你上傳的app,會生成

Swift 語言開發 iOS 應用程式的利弊

目前全球共有超過 7 億臺 iPhone 處於活躍狀態,這造就了 iOS 作為全球第二大移動裝置平臺的狀態。雖然安卓系統的全球市場佔有率超過 iOS 系統,但在諸如美國、法國和英國的區域性市場中 iOS 系統仍然佔據主導地位。因此許多公司專注於 iOS 平臺進行軟體開發,因為

32位與64位 CPU、編譯器、作業系統、應用程式、armX86關係

一:arm和X86的區別 arm:對應精簡指令集 X86:對應複雜指令集 arm上的和X86上編譯過的的東西是不能相互使用的,因為指令集不一樣嘛。指令集可以通俗的理解為,溝通語言。arm和X86之間東西不能直接用,類似於一個美國人和一箇中國人各自只說自己的語言,那麼這兩個人是沒法溝通的。

iOS開發必收藏】詳解iOS應用程式內使用IAP/StoreKit付費、沙盒(SandBox)測試、建立測試賬號流程!【2012-12-11日更新獲取"產品付費數量等於0的問題"】

//——2012-12-11日更新   獲取"產品付費數量等於0這個問題"的原因 看到很多童鞋問到,為什麼每次都返回數量等於0?? 其實有童鞋已經找到原因了,原因是你在 ItunesConnect 裡的 “Contracts,

將 75000 行原生 iOS 應用程式移植到 Flutter 後,結果太驚訝!

【CSDN編者按】很少有文章,介紹如何將大型應用,移植到Flutter。而本文的作者——一位來自

iOS應用程式上傳AppStore(新版本上傳)

本篇部落格記錄的是將iOS應用上傳AppStore,具體是把新的版本上傳,與新專案上傳差不多,只不過更新版本的上傳要稍微簡單些,這裡不會介紹證書的配置哦。 1.進入蘋果開發者中心-->進入iTunes Connect-->點選進入我的app-->點選你之前

【原創】第一個iOS應用程式

萬事開頭難。鬥霜傲雪二十年,堂堂劍氣尚寒。——《詩詞三百首》 第一章 視窗與應用程式 在iOS應用程式中視窗(Window)是檢視(View)的載體,每一個應用程式都至少有一個Window,一般而言也只有一個Window,在某些特定應用中會出現多個Window,本文暫不考慮多視窗的情況。Wind

基於Swift的iOS應用程式開發:通過UITextFieldDelegate快速理解Delegate事件代理

// // 關於文字輸入框的事件代理,摘錄蘋果開發者中心的官方解釋如下: //*******************************************************************************************// //* To understand wh

容器中 Java 應用程式的記憶體 CPU 如何分配?看這一篇就夠了!

出品丨Docker公司(ID:docker-cn)編譯丨小東每週一、三、五,與您不見不散! 隨著2018年的結束,我們將回顧排名前五的最受讀者歡迎的文章。今天分享的第一篇文章,將幫助那些在容器中執行 Java 虛擬機器(JVM)時遇到記憶體和 CPU 大小調整/使用困難的人,本文將解釋如何在 D

您的首個iOS應用程式-配置檢視

    一、 簡述 Xcode 提供了物件庫,您可以將庫中的物件新增到串聯圖檔案。其中的一些物件屬於檢視中的使用者介面元素, 例如按鈕和文字欄。其他物件為高階物件,例如檢視控制器和手勢識別器。     二、新增使用者元素    

您的首個iOS應用程式-實施檢視

          一、為使用者姓名新增屬性 您需要為儲存使用者姓名的字串新增屬性宣告,這樣您的程式碼就總能引用該字串。 因為此屬性必須是公共的,即對客戶端和子類為可見,所以須將此宣告新增到檢視控制器的標頭檔案, 即&

iOS應用程式內購/內付費(一)

很久之前就想出一篇IOS內付費的教程,但是一查網上的教程實在太多了,有的寫得真的蠻不錯的,就心想算了,於是就儲存在草稿箱了。至於為什麼寫完它呢!真是說來話長,最近公司有個專案經理跑來問我有關蘋果內付費相關的細節,跟他聊了半天,從專案對接蘋果官方支付介面聊到了如何檢視App收