9 |
10 | @end
11 |
12 | // *********************************************************
13 | //
14 | // O365-iOS-EmailPeek, https://github.com/OfficeDev/O365-iOS-EmailPeek
15 | //
16 | // Copyright (c) Microsoft Corporation
17 | // All rights reserved.
18 | //
19 | // MIT License:
20 | // Permission is hereby granted, free of charge, to any person obtaining
21 | // a copy of this software and associated documentation files (the
22 | // "Software"), to deal in the Software without restriction, including
23 | // without limitation the rights to use, copy, modify, merge, publish,
24 | // distribute, sublicense, and/or sell copies of the Software, and to
25 | // permit persons to whom the Software is furnished to do so, subject to
26 | // the following conditions:
27 | //
28 | // The above copyright notice and this permission notice shall be
29 | // included in all copies or substantial portions of the Software.
30 | //
31 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
32 | // EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
33 | // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
34 | // NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
35 | // LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
36 | // OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
37 | // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
38 | //
39 | // *********************************************************
40 |
--------------------------------------------------------------------------------
/EmailPeek/UnreadFilter.m:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (c) Microsoft. All rights reserved. Licensed under the MIT license.
3 | * See full license at the bottom of this file.
4 | */
5 | #import "UnreadFilter.h"
6 |
7 | @implementation UnreadFilter
8 |
9 | #pragma mark - NSCoding
10 | - (instancetype)initWithCoder:(NSCoder *)aDecoder
11 | {
12 | return [super init];
13 | }
14 |
15 | - (void)encodeWithCoder:(NSCoder *)aCoder
16 | {
17 | }
18 |
19 |
20 | #pragma mark - MessageFilter
21 | - (NSString *)serverSideFilter
22 | {
23 | return @"IsRead eq false";
24 | }
25 |
26 | @end
27 |
28 | // *********************************************************
29 | //
30 | // O365-iOS-EmailPeek, https://github.com/OfficeDev/O365-iOS-EmailPeek
31 | //
32 | // Copyright (c) Microsoft Corporation
33 | // All rights reserved.
34 | //
35 | // MIT License:
36 | // Permission is hereby granted, free of charge, to any person obtaining
37 | // a copy of this software and associated documentation files (the
38 | // "Software"), to deal in the Software without restriction, including
39 | // without limitation the rights to use, copy, modify, merge, publish,
40 | // distribute, sublicense, and/or sell copies of the Software, and to
41 | // permit persons to whom the Software is furnished to do so, subject to
42 | // the following conditions:
43 | //
44 | // The above copyright notice and this permission notice shall be
45 | // included in all copies or substantial portions of the Software.
46 | //
47 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
48 | // EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
49 | // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
50 | // NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
51 | // LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
52 | // OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
53 | // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
54 | //
55 | // *********************************************************
56 |
--------------------------------------------------------------------------------
/EmailPeek/about.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | Email Peek - An iOS app built using Office 365
5 | Email Peek is a cool mail app built using the Office 365 APIs on the iOS platform. This app allows you to peek at just the email conversations you truly care about when you are away, such as when you are on vacation and also optionally send quick replies to messages without typing. This app uses many of the rich features of the Office 365 APIs such as server-side filtering, categories, etc.
6 | Give us feedback
7 | We hope you found this sample useful. We would love to hear from you, so drop us an email at
8 | docthis@microsoft.com with your comments or
9 | log an issue in our GitHub repository.
10 | For more details on what else you can do with the Office 365 services in your iOS app, start with the
11 | Getting started with iOS page on dev.office.com.
12 | Thanks, and happy coding!
13 | Your Office 365 Development team
14 |
28 |
29 |
30 |
31 |
--------------------------------------------------------------------------------
/EmailPeek/main.m:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (c) Microsoft. All rights reserved. Licensed under the MIT license. See full license at the bottom of this file.
3 | */
4 |
5 | #import
6 | #import "AppDelegate.h"
7 |
8 | int main(int argc, char * argv[]) {
9 | @autoreleasepool {
10 | return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class]));
11 | }
12 | }
13 |
14 | // *********************************************************
15 | //
16 | // O365-iOS-EmailPeek, https://github.com/OfficeDev/O365-iOS-EmailPeek
17 | //
18 | // Copyright (c) Microsoft Corporation
19 | // All rights reserved.
20 | //
21 | // MIT License:
22 | // Permission is hereby granted, free of charge, to any person obtaining
23 | // a copy of this software and associated documentation files (the
24 | // "Software"), to deal in the Software without restriction, including
25 | // without limitation the rights to use, copy, modify, merge, publish,
26 | // distribute, sublicense, and/or sell copies of the Software, and to
27 | // permit persons to whom the Software is furnished to do so, subject to
28 | // the following conditions:
29 | //
30 | // The above copyright notice and this permission notice shall be
31 | // included in all copies or substantial portions of the Software.
32 | //
33 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
34 | // EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
35 | // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
36 | // NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
37 | // LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
38 | // OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
39 | // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
40 | //
41 | // *********************************************************
42 |
--------------------------------------------------------------------------------
/EmailPeekTests/EmailPeekTests.m:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (c) Microsoft. All rights reserved. Licensed under the MIT license. See full license at the bottom of this file.
3 | */
4 |
5 | #import
6 | #import
7 |
8 | @interface EmailPeekTests : XCTestCase
9 |
10 | @end
11 |
12 | @implementation EmailPeekTests
13 |
14 | - (void)setUp {
15 | [super setUp];
16 | // Put setup code here. This method is called before the invocation of each test method in the class.
17 | }
18 |
19 | - (void)tearDown {
20 | // Put teardown code here. This method is called after the invocation of each test method in the class.
21 | [super tearDown];
22 | }
23 |
24 | - (void)testExample {
25 | // This is an example of a functional test case.
26 | XCTAssert(YES, @"Pass");
27 | }
28 |
29 | - (void)testPerformanceExample {
30 | // This is an example of a performance test case.
31 | [self measureBlock:^{
32 | // Put the code you want to measure the time of here.
33 | }];
34 | }
35 |
36 | @end
37 |
38 |
39 | // *********************************************************
40 | //
41 | // O365-iOS-EmailPeek, https://github.com/OfficeDev/O365-iOS-EmailPeek
42 | //
43 | // Copyright (c) Microsoft Corporation
44 | // All rights reserved.
45 | //
46 | // MIT License:
47 | // Permission is hereby granted, free of charge, to any person obtaining
48 | // a copy of this software and associated documentation files (the
49 | // "Software"), to deal in the Software without restriction, including
50 | // without limitation the rights to use, copy, modify, merge, publish,
51 | // distribute, sublicense, and/or sell copies of the Software, and to
52 | // permit persons to whom the Software is furnished to do so, subject to
53 | // the following conditions:
54 | //
55 | // The above copyright notice and this permission notice shall be
56 | // included in all copies or substantial portions of the Software.
57 | //
58 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
59 | // EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
60 | // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
61 | // NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
62 | // LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
63 | // OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
64 | // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
65 | //
66 | // *********************************************************
67 |
--------------------------------------------------------------------------------
/EmailPeekTests/Info.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | CFBundleDevelopmentRegion
6 | en
7 | CFBundleExecutable
8 | $(EXECUTABLE_NAME)
9 | CFBundleIdentifier
10 | com.microsoft.$(PRODUCT_NAME:rfc1034identifier)
11 | CFBundleInfoDictionaryVersion
12 | 6.0
13 | CFBundleName
14 | $(PRODUCT_NAME)
15 | CFBundlePackageType
16 | BNDL
17 | CFBundleShortVersionString
18 | 1.0
19 | CFBundleSignature
20 | ????
21 | CFBundleVersion
22 | 1
23 |
24 |
25 |
--------------------------------------------------------------------------------
/O365-iOS-EmailPeek.yml:
--------------------------------------------------------------------------------
1 | ### YamlMime:Sample
2 | sample:
3 | - name: Email Peek - An iOS app built using Office 365
4 | path: ''
5 | description: Email Peek is a cool mail app built using the Office 365 APIs on the iOS platform. This app uses many of the features of the Office 365 Mail API such as read/write, server-side filtering, and categories.
6 | readme: ''
7 | generateZip: FALSE
8 | isLive: TRUE
9 | technologies:
10 | - Office Add-in
11 | azureDeploy: ''
12 | author: davidchesnut
13 | platforms: []
14 | languages:
15 | - Objective-C
16 | extensions:
17 | products:
18 | - Office 365
19 | scenarios: []
20 |
--------------------------------------------------------------------------------
/Podfile:
--------------------------------------------------------------------------------
1 | source 'https://github.com/Cocoapods/Specs.git'
2 | platform :ios, '8.0'
3 |
4 | target 'EmailPeek' do
5 | pod 'ADALiOS', '~> 1.2.1'
6 | pod 'Office365/Outlook', '= 0.9.1'
7 | pod 'Office365/Discovery', '= 0.9.1'
8 | end
9 |
10 | target 'EmailPeekTests' do
11 |
12 | end
13 |
14 |
--------------------------------------------------------------------------------
/README-Localized/README-ja-jp.md:
--------------------------------------------------------------------------------
1 | #Email Peek - Office 365 を使用して構築された iOS アプリ #
2 | [](https://travis-ci.org/OfficeDev/O365-iOS-EmailPeek)
3 |
4 | Email Peek は、iOS プラットフォームで Office 365 API を使用して構築された優れたメール アプリです。このアプリを使用すると、休暇中などの不在時に、本当に重要なメールの会話のみをすばやく確認できます。Email Peek では、メッセージにすばやく返信するのも簡単で、入力する必要もありません。このアプリは、読み取り/書き込み、サーバー側のフィルタリング、カテゴリなど、Office 365 メール API の多くの機能を使用しています。
5 |
6 | [](https://youtu.be/WqEqxKD6Bfw "活用できるサンプルを確認するにはこちらをクリックしてください")
7 |
8 | **目次**
9 |
10 | * [環境をセットアップする](#set-up-your-environment)
11 | * [CocoaPods を使用して O365 iOS SDK をインポートする](#use-cocoapods-to-import-the-o365-ios-sdk)
12 | * [Microsoft Azure にアプリを登録する](#register-your-app-with-microsoft-azure)
13 | * [プロジェクトにクライアント ID とリダイレクト URI を取り込む](#get-the-client-id-and-redirect-uri-into-the-project)
14 | * [重要なコード ファイル](#code-of-interest)
15 | * [質問とコメント](#questions-and-comments)
16 | * [トラブルシューティング](#troubleshooting)
17 | * [その他の技術情報](#additional-resources)
18 |
19 |
20 |
21 | ## 環境のセットアップ ##
22 |
23 | Email Peek を実行するには、次のものが必要です。
24 |
25 |
26 | *Apple の[Xcode](https://developer.apple.com/)。
27 | *Office 365 アカウント。Office 365 アカウントは、[Office 365 開発者向けサイト](http://msdn.microsoft.com/library/office/fp179924.aspx)にサイン アップすると取得できます。これにより、Office 365 のデータを対象とするアプリの作成に使用できる API にアクセスできるようになります。
28 | *アプリケーションを登録する Microsoft Azure テナント。Azure Active Directory は、アプリケーションが認証と承認に使用する ID サービスを提供します。こちらから試用版サブスクリプションを取得できます。[Microsoft Azure](https://account.windowsazure.com/SignUp)
29 |
30 | **重要**:Azure サブスクリプションが Office 365 テナントにバインドされていることを確認する必要もあります。これを行うには、Active Directory チームのブログ投稿「[複数の Windows Azure Active Directory を作成して管理する](http://blogs.technet.com/b/ad/archive/2013/11/08/creating-and-managing-multiple-windows-azure-active-directories.aspx)」の「**新しいディレクトリを追加する**」セクションをご覧ください。また、詳細については、「[開発者向けサイトに Azure Active Directory へのアクセスをセットアップする](http://msdn.microsoft.com/office/office365/howto/setup-development-environment#bk_CreateAzureSubscription)」もご覧ください。
31 |
32 |
33 | *依存関係マネージャーとしての [CocoaPods](https://cocoapods.org/) のインストール。CocoaPods を使用すると、Office 365 と Azure Active Directory 認証ライブラリ (ADAL) の依存関係をプロジェクトに導入することができます。
34 |
35 | Office 365 アカウント、および Office 365 開発者サイトにバインドされた Azure AD アカウントを取得したら、次の手順を実行する必要があります。
36 |
37 | 1. Azure にアプリケーションを登録し、Office 365 Exchange Online の適切なアクセス許可を構成します。
38 | 2. CocoaPods をインストールし、これを使用して、プロジェクトに Office 365 と ADAL 認証の依存関係を取り込みます。
39 | 3. Azure アプリの登録固有の情報 (ClientID と RedirectUri) を、Email Peek アプリに入力します。
40 |
41 | ## CocoaPods を使用して O365 iOS SDK をインポートする
42 | 注:依存関係マネージャーとして **CocoaPods** を初めて使用する場合は、これをインストールしてからプロジェクトで Office 365 iOS SDK の依存関係を取り込む必要があります。
43 |
44 | Mac の**ターミナル** アプリから、次の 2 行のコードを入力します。
45 |
46 | sudo gem install cocoapods
47 | pod setup
48 |
49 | インストールとセットアップが成功すると、「**ターミナルのセットアップが完了しました**」というメッセージが表示されます。CocoaPods とその使用法の詳細については、「[CocoaPods](https://cocoapods.org/)」をご覧ください。
50 |
51 |
52 | **プロジェクトに iOS 版 Office 365 SDK の依存関係を取り込む**
53 | Email Peek アプリには、プロジェクトに Office 365 と ADAL コンポーネント (pods) を取り込む podfile が既に含まれています。podfile がある場所は、サンプルの root ("Podfile") です。次の例は、ファイルの内容を示しています。
54 |
55 | target ‘O365-iOS-EmailPeek’ do
56 | pod 'ADALiOS', '~> 1.2.1'
57 | pod 'Office365/Outlook', '= 0.9.1'
58 | pod 'Office365/Discovery', '= 0.9.1'
59 | end
60 |
61 |
62 | **Terminal** (プロジェクト フォルダーのルート) にあるプロジェクトのディレクトリに移動して、次のコマンドを実行する必要があります。
63 |
64 |
65 | pod install
66 |
67 | 注:「これらの依存関係がプロジェクトに追加されました。今すぐ Xcode (**O365-iOS-EmailPeek.xcworkspace**) でプロジェクトの代わりにワークスペースを開く必要があります」という確認のメッセージを受信する必要があります。Podfile で構文エラーが発生すると、インストール コマンドを実行する際にエラーが発生します。
68 |
69 | ## Microsoft Azure にアプリを登録する
70 | 1. Azure AD 資格情報を使用して、[Azure 管理ポータル](https://manage.windowsazure.com)にサインインします。
71 | 2. 左側のメニューで **[Active Directory]** を選んでから、Office 365 開発者向けサイトのディレクトリを選びます。
72 | 3. 上部のメニューで、**[アプリケーション]** を選びます。
73 | 4. 下部のメニューから、**[追加]** を選びます。
74 | 5. **[何を行いますか]** ページで、**[組織で開発中のアプリケーションを追加]** を選びます。
75 | 6. **[アプリケーションについてお聞かせください]** ページで、アプリケーション名には「**O365-iOS-EmailPeek**」を指定し、種類は**[NATIVE CLIENT APPLICATION]** を選びます。
76 | 7. ページの右下隅にある矢印アイコンを選びます。
77 | 8. [アプリケーション情報] ページで、リダイレクト URI を指定します。この例では http://localhost/emailpeek を指定します。続いて、ページの右下隅にあるチェック ボックスを選びます。この値は、「**プロジェクトに ClientID と RedirectUri を取り込む**」セクションで使用するため覚えておいてください。
78 | 9. アプリケーションが正常に追加されたら、アプリケーションの [クイック スタート] ページに移動します。上部のメニューにある [構成] を選びます。
79 | 10. **[他のアプリケーションへのアクセス許可]** の下で、**[Office 365 Exchange Online アプリケーションを追加する]** アクセス許可を追加し、**[ユーザーのメールの読み取りと書き込み]** と **[ユーザーとしてメールを送信]** の各アクセス許可を選びます。
80 | 13. **[構成]** ページで、**[クライアント ID]** に指定された値をコピーします。この値は、「**プロジェクトに ClientID と RedirectUri を取り込む**」セクションで使用するため覚えておいてください。
81 | 14. 下部のメニューで、**[保存]** を選びます。
82 |
83 |
84 | ## プロジェクトにクライアント ID とリダイレクト URI を取り込む
85 |
86 | 最後に、前のセクション「**Microsoft Azure にアプリを登録する**」で記録したクライアント ID とリダイレクト URI を追加する必要があります。
87 |
88 | **O365-iOS-EmailPeek** プロジェクトのディレクトリを参照し、ワークスペース (O365-EmailPeek-iOS.xcworkspace) を開きます。**AppDelegate.m** ファイルで、**ClientID** と **RedirectUri** の各値がファイルの一番上に追加されていることが分かります。このファイルに必要な値を指定します。
89 |
90 | // You will set your application's clientId and redirect URI.You get
91 | // these when you register your application in Azure AD.
92 | static NSString * const kClientId = @"ENTER_REDIRECT_URI_HERE";
93 | static NSString * const kRedirectURLString = @"ENTER_CLIENT_ID_HERE";
94 | static NSString * const kAuthorityURLString = @"https://login.microsoftonline.com/common";
95 |
96 |
97 |
98 | ## 重要なコード ファイル
99 |
100 |
101 | **モデル**
102 |
103 | これらのドメインのエンティティは、アプリケーションのデータを表すカスタム クラスです。これらのすべてのクラスは変更できません。これらは Office 365 SDK で提供される基本的なエンティティをラップします。
104 |
105 | **Office365 ヘルパー**
106 |
107 | ヘルパーは、API 呼び出しを行って Office 365 と実際に通信するクラスです。このアーキテクチャでは、Office365 SDK からアプリの残りの部分が切り離されます。
108 |
109 | **Office365 サーバー側フィルター**
110 |
111 | これらのクラスを使用すると、フェッチ中に正しい Office 365 サーバー側フィルターの句で適切な API 呼び出しを行うことができます。
112 |
113 | **ConversationManager と SettingsManager**
114 |
115 | これらのクラスでは、アプリの会話と設定を管理できます。
116 |
117 | **コントローラー**
118 |
119 | これらは、Email Peek でサポートされているさまざまなビューのコントローラーです。
120 |
121 | **ビュー**
122 |
123 | これにより、ConversationListViewController と ConversationViewController の 2 つの異なる場所で使用されるカスタム セルが実装されます。
124 |
125 |
126 | ## 質問とコメント
127 |
128 | Email Peek アプリ サンプルについて、Microsoft にフィードバックをお寄せください。フィードバックはこのリポジトリの「[問題](https://github.com/OfficeDev/O365-EmailPeek-iOS)」セクションで送信できます。
129 |
130 | Office 365 開発全般の質問につきましては、[スタック オーバーフロー](http://stackoverflow.com/questions/tagged/Office365+API)に投稿してください。質問には、[Office365] と [API] のタグを付けてください。
131 |
132 | ## トラブルシューティング
133 | Xcode 7.0 のアップデートにより、iOS 9 を実行するシミュレーターやデバイス用に App Transport Security を使用できるようになりました。「[App Transport Security のテクニカル ノート](https://developer.apple.com/library/prerelease/ios/technotes/App-Transport-Security-Technote/)」をご覧ください。
134 |
135 | このサンプルでは、plist 内の次のドメインのために一時的な例外を作成しました:
136 |
137 | - outlook.office365.com
138 |
139 | これらの例外が含まれていないと、Xcode で iOS 9 シミュレーターにデプロイされたときに、このアプリで Office 365 API へのすべての呼び出しが失敗します。
140 |
141 |
142 | ## その他の技術情報
143 |
144 | * [iOS 用 Office 365 Connect アプリ](https://github.com/OfficeDev/O365-iOS-Connect)
145 | * [iOS 用 Office 365 コード スニペット](https://github.com/OfficeDev/O365-iOS-Snippets)
146 | * [iOS 用 Office 365 プロファイル サンプル](https://github.com/OfficeDev/O365-iOS-Profile)
147 | * [Office 365 API ドキュメント](http://msdn.microsoft.com/office/office365/howto/platform-development-overview)
148 | * [Office 365 API のサンプル コードとビデオ](https://msdn.microsoft.com/office/office365/howto/starter-projects-and-code-samples)
149 | * [Office デベロッパー センター](http://dev.office.com/)
150 | * [Email Peek の Medium の記事](https://medium.com/office-app-development/why-read-email-when-you-can-peek-2af947d352dc)
151 |
152 | ## 著作権
153 |
154 | Copyright (c) 2015 Microsoft.All rights reserved.
155 |
156 |
--------------------------------------------------------------------------------
/README-Localized/README-pt-br.md:
--------------------------------------------------------------------------------
1 | #Email Peek – um aplicativo iOS criado usando o Office 365 #
2 | [](https://travis-ci.org/OfficeDev/O365-iOS-EmailPeek)
3 |
4 | O Email Peek é um aplicativo de email interessante, criado por meio de APIs do Office 365 na plataforma iOS. Esse aplicativo permite ver apenas as conversas de email realmente importantes quando você está ausente, como quando estiver de férias. O Email Peek também facilita o envio de respostas rápidas às mensagens sem a necessidade de digitar. Esse aplicativo usa muitos dos recursos da API de Email do Office 365, como ler/gravar, filtragem do lado do servidor e categorias.
5 |
6 | [](https://youtu.be/WqEqxKD6Bfw "Clique no exemplo para vê-lo em ação")
7 |
8 | **Sumário**
9 |
10 | * [Set up your environment](#set-up-your-environment)
11 | * [Use CocoaPods to import the O365 iOS SDK](#use-cocoapods-to-import-the-o365-ios-sdk)
12 | * [Registrar seu aplicativo no Microsoft Azure](#register-your-app-with-microsoft-azure)
13 | * [Obter a ID de Cliente e URI de Redirecionamento no projeto](#get-the-client-id-and-redirect-uri-into-the-project)
14 | * [Arquivos de código importantes](#code-of-interest)
15 | * [Perguntas e comentários](#questions-and-comments)
16 | * [Solução de problemas](#troubleshooting)
17 | * [Recursos adicionais](#additional-resources)
18 |
19 |
20 |
21 | ## Configurar seu ambiente ##
22 |
23 | Para executar o Email Peek, você precisa do seguinte:
24 |
25 |
26 | * [Xcode](https://developer.apple.com/) da Apple.
27 | * Uma conta do Office 365. Você pode obter uma conta do Office 365 ao se inscrever em um [Site do Desenvolvedor do Office 365](http://msdn.microsoft.com/library/office/fp179924.aspx). Isso dará acesso a APIs que você pode usar para criar aplicativos que visam dados do Office 365.
28 | * Um locatário do Microsoft Azure para registrar seu aplicativo. O Azure Active Directory fornece serviços de identidade que os aplicativos usam para autenticação e autorização. Uma assinatura de avaliação pode ser adquirida aqui: [Microsoft Azure](https://account.windowsazure.com/SignUp).
29 |
30 | **Importante**: você também deve assegurar que a assinatura do Azure esteja vinculada ao locatário do Office 365. Para fazer isso, confira a seção ** Adicionar um novo diretório** na postagem do blog da equipe do Active Directory, [Criando e Gerenciando Vários Microsoft Azure Active Directories](http://blogs.technet.com/b/ad/archive/2013/11/08/creating-and-managing-multiple-windows-azure-active-directories.aspx). Para saber mais, você também pode ler o artigo [Configurar o acesso ao Azure Active Directory para seu Site do Desenvolvedor](http://msdn.microsoft.com/office/office365/howto/setup-development-environment#bk_CreateAzureSubscription).
31 |
32 |
33 | * Instalação do [CocoaPods](https://cocoapods.org/) como gerente de dependência. O CocoaPods permitirá que você receba as dependências do Office 365 e da ADAL (Azure Active Directory Authentication Library) no projeto.
34 |
35 | Depois que você tiver uma conta do Office 365 e uma conta do Azure AD associada ao seu Site do Desenvolvedor do Office 365, será preciso executar as seguintes etapas:
36 |
37 | 1. Registrar seu aplicativo no Azure e configurar as permissões apropriadas do Office 365 Exchange Online.
38 | 2. Instalar e usar o CocoaPods para obter dependências de autenticação do Office 365 e da ADAL no projeto.
39 | 3. Inserir as especificações de registro do aplicativo do Azure (ClientID e RedirectUri) para o aplicativo Email Peek.
40 |
41 | ## Usar o CocoaPods para importar o O365 iOS SDK
42 | Observação: Se, como gerente de dependência, você nunca tiver usado o **CocoaPods** anteriormente, terá que instalá-lo antes de obter dependências do Office 365 iOS SDK em seu projeto.
43 |
44 | Insira as próximas duas linhas de código a partir do aplicativo do **Terminal** em seu Mac.
45 |
46 | sudo gem install cocoapods
47 | pod setup
48 |
49 | Se a instalação e a configuração forem bem-sucedidas, você deverá ver a mensagem **Configuração concluída no Terminal**. Para saber mais sobre o CocoaPods e seu uso, confira [CocoaPods](https://cocoapods.org/).
50 |
51 |
52 | **Obter as dependências do Office 365 iOS SDK em seu projeto**
53 | O aplicativo Email Peek já contém um podfile que receberá os componentes (pods) do Office 365 e da ADAL no projeto. Ele está localizado na raiz do exemplo ("Podfile"). O exemplo mostra o conteúdo do arquivo.
54 |
55 | target ‘O365-iOS-EmailPeek’ do
56 | pod 'ADALiOS', '~> 1.2.1'
57 | pod 'Office365/Outlook', '= 0.9.1'
58 | pod 'Office365/Discovery', '= 0.9.1'
59 | end
60 |
61 |
62 | Você só precisará navegar até o diretório do projeto no **Terminal** (raiz da pasta do projeto) e executar o comando a seguir.
63 |
64 |
65 | pod install
66 |
67 | Observação: Você receberá a confirmação de que essas dependências foram adicionadas ao projeto e que, de agora em diante, deverá abrir o espaço de trabalho em vez do projeto no Xcode (**O365-iOS-EmailPeek.xcworkspace**). Se houver um erro de sintaxe no Podfile, você encontrará um erro ao executar o comando de instalação.
68 |
69 | ## Registrar seu aplicativo no Microsoft Azure
70 | 1. Acesse o [Portal de Gerenciamento do Azure](https://manage.windowsazure.com) usando suas credenciais do Azure AD.
71 | 2. Escolha **Active Directory** no menu à esquerda e escolha o diretório para o Site do Desenvolvedor do Office 365.
72 | 3. No menu superior, escolha **Aplicativos**.
73 | 4. Escolha **Adicionar** no menu inferior.
74 | 5. Na página **O que você deseja fazer?**, escolha **Adicionar um aplicativo que minha organização esteja desenvolvendo**.
75 | 6. Na página **Conte-nos sobre seu aplicativo**, especifique **O365-iOS-EmailPeek** para o nome do aplicativo e escolha **APLICATIVO CLIENTE NATIVO** como o tipo.
76 | 7. Escolha o ícone de seta no canto inferior direito da página.
77 | 8. Na página de informações do Aplicativo, especifique um URI de Redirecionamento. Para este exemplo, você pode especificar http://localhost/emailpeek e, em seguida, marcar a caixa de seleção no canto inferior direito da página. Lembre-se desse valor para a seção **Obter ClientID e RedirectUri no projeto**.
78 | 9. Após adicionar o aplicativo com êxito, você será direcionado para a página Início Rápido do aplicativo. Escolha Configurar no menu superior.
79 | 10. Em **permissões para outros aplicativos**, adicione a permissão a seguir: **Adicionar o aplicativo do Office 365 Exchange Online** e escolha as permissões **Ler e gravar emails de usuários** e **Enviar email como um usuário**.
80 | 13. Copie o valor especificado da **ID do cliente** na página **Configurar**. Lembre-se desse valor para a seção **Obter ClientID e RedirectUri no projeto**.
81 | 14. Selecione **Salvar** no menu inferior.
82 |
83 |
84 | ## Obter a ID de Cliente e o URI de Redirecionamento no projeto
85 |
86 | Por fim, você precisará adicionar a ID de Cliente e o URI de Redirecionamento gravados na seção anterior **Registrar seu aplicativo no Microsoft Azure**.
87 |
88 | Navegue pelo diretório do projeto **O365-iOS-EmailPeek** e abra o espaço de trabalho (O365-EmailPeek-iOS.xcworkspace). No arquivo **AppDelegate.m** você verá que os valores **ClientID** e **RedirectUri** podem ser adicionados à parte superior do arquivo. Forneça os valores necessários neste arquivo.
89 |
90 | // Você definirá a ID do Cliente e o URI de Redirecionamento do aplicativo. Você obtém
91 | // isso ao registrar seu aplicativo no Azure AD.
92 | static NSString * const kClientId = @"ENTER_REDIRECT_URI_HERE";
93 | static NSString * const kRedirectURLString = @"ENTER_CLIENT_ID_HERE";
94 | static NSString * const kAuthorityURLString = @"https://login.microsoftonline.com/common";
95 |
96 |
97 |
98 | ## Arquivos de código importantes
99 |
100 |
101 | **Modelos**
102 |
103 | Essas entidades de domínio são classes personalizadas que representam os dados do aplicativo. Todas essas classes são imutáveis. Elas encapsulam as entidades básicas fornecidas pelo SDK do Office 365.
104 |
105 | **Auxiliares do Office365**
106 |
107 | Os auxiliares são as classes que realmente se comunicam com o Office 365 ao fazer chamadas à API. Essa arquitetura desvincula o restante do aplicativo do SDK do Office 365.
108 |
109 | **Filtros no Servidor do Office365**
110 |
111 | Essas classes ajudam a fazer a chamada à API apropriada com as cláusulas corretas do filtro do servidor do Office 365 durante a busca.
112 |
113 | **ConversationManager e SettingsManager**
114 |
115 | Essas classes ajudam a gerenciar as conversas e as configurações no aplicativo.
116 |
117 | **Controladores**
118 |
119 | Esses são os controladores para os diversos modos de exibição compatíveis com o Email Peek.
120 |
121 | **Modos de exibição**
122 |
123 | Isso implementa uma célula personalizada que é usada em dois lugares diferentes, no ConversationListViewController e no ConversationViewController.
124 |
125 |
126 | ## Perguntas e comentários
127 |
128 | Adoraríamos receber seus comentários sobre o exemplo do aplicativo Email Peek. Você pode enviar seus comentários para nós na seção [Problemas](https://github.com/OfficeDev/O365-EmailPeek-iOS) deste repositório.
129 |
130 | Perguntas sobre o desenvolvimento do Office 365 em geral devem ser publicadas no [Stack Overflow](http://stackoverflow.com/questions/tagged/Office365+API). Marque suas perguntas com [Office365] e [API].
131 |
132 | ## Solução de problemas
133 | Com a atualização do Xcode 7.0, a Segurança de Transporte do Aplicativo está habilitada para simuladores e dispositivos que estão executando o iOS 9. Confira [App Transport Security Technote](https://developer.apple.com/library/prerelease/ios/technotes/App-Transport-Security-Technote/).
134 |
135 | Para este exemplo, criamos uma exceção temporária para o seguinte domínio na plist:
136 |
137 | - outlook.office365.com
138 |
139 | Se essas exceções não estiverem incluídas, todas as chamadas na API do Office 365 falharão neste aplicativo se ele for implantado em um simulador de iOS 9 no Xcode.
140 |
141 |
142 | ## Recursos adicionais
143 |
144 | * [Aplicativo Connect do Office 365 para iOS](https://github.com/OfficeDev/O365-iOS-Connect)
145 | * [Trechos de Código do Office 365 para iOS](https://github.com/OfficeDev/O365-iOS-Snippets)
146 | * [Perfil de Exemplo do Office 365 para iOS](https://github.com/OfficeDev/O365-iOS-Profile)
147 | * [Documentação APIs do Office 365](http://msdn.microsoft.com/office/office365/howto/platform-development-overview)
148 | * [Vídeos e exemplos de código da API do Office 365](https://msdn.microsoft.com/office/office365/howto/starter-projects-and-code-samples)
149 | * [Centro de Desenvolvimento do Office](http://dev.office.com/)
150 | * [Artigo da Medium sobre o Email Peek](https://medium.com/office-app-development/why-read-email-when-you-can-peek-2af947d352dc)
151 |
152 | ## Copyright
153 |
154 | Copyright © 2015 Microsoft. Todos os direitos reservados.
155 |
156 |
--------------------------------------------------------------------------------
/README-Localized/README-ru-ru.md:
--------------------------------------------------------------------------------
1 | #Email Peek — приложение для iOS, созданное с помощью Office 365 #
2 | [](https://travis-ci.org/OfficeDev/O365-iOS-EmailPeek)
3 |
4 | Email Peek — это полезное почтовое приложение, созданное с помощью API Office 365 на платформе iOS. Это приложение позволяет просматривать только действительно важные беседы, когда вас нет на месте, например во время отпуска. Кроме того, с Email Peek вы без труда сможете отправлять короткие ответы на сообщения, не печатая. Это приложение использует многие функции API Почты Office 365, такие как чтение и запись, фильтрация на стороне сервера и категории.
5 |
6 | [](https://youtu.be/WqEqxKD6Bfw "Щелкните, чтобы просмотреть пример в действии")
7 |
8 | **Содержание**
9 |
10 | * [Настройка среды](#set-up-your-environment)
11 | * [Импорт пакета SDK Office 365 для iOS с помощью диспетчера зависимостей CocoaPods](#use-cocoapods-to-import-the-o365-ios-sdk)
12 | * [Регистрация приложения в Microsoft Azure](#register-your-app-with-microsoft-azure)
13 | * [Добавление идентификатора клиента и URI перенаправления в проект](#get-the-client-id-and-redirect-uri-into-the-project)
14 | * [Важные файлы кода](#code-of-interest)
15 | * [Вопросы и комментарии](#questions-and-comments)
16 | * [Устранение неполадок](#troubleshooting)
17 | * [Дополнительные ресурсы](#additional-resources)
18 |
19 |
20 |
21 | ## Настройка среды ##
22 |
23 | Чтобы запустить Email Peek, необходимо следующее:
24 |
25 |
26 | * Среда разработки [Xcode](https://developer.apple.com/) от Apple.
27 | * Учетная запись Office 365. Учетную запись Office 365 можно получить, подписавшись на [Сайт разработчика Office 365](http://msdn.microsoft.com/library/office/fp179924.aspx). Так вы получите доступ к API, с помощью которых можно создавать приложения, ориентированные на данные в Office 365.
28 | * Клиент Microsoft Azure для регистрации приложения. В Azure Active Directory доступны службы идентификации, которые приложения используют для проверки подлинности и авторизации. Пробную подписку можно получить здесь: [Microsoft Azure](https://account.windowsazure.com/SignUp).
29 |
30 | **Важно**! Убедитесь, что ваша подписка на Azure привязана к клиенту Office 365. Для этого просмотрите раздел, посвященный **добавлению нового каталога**, в записи блога команды Active Directory о [создании нескольких каталогов Windows Azure Active Directory и управлении ими](http://blogs.technet.com/b/ad/archive/2013/11/08/creating-and-managing-multiple-windows-azure-active-directories.aspx). Дополнительные сведения можно найти в разделе о [настройке доступа к Azure Active Directory для Сайта разработчика](http://msdn.microsoft.com/office/office365/howto/setup-development-environment#bk_CreateAzureSubscription).
31 |
32 |
33 | * Диспетчер зависимостей [CocoaPods](https://cocoapods.org/). Диспетчер зависимостей CocoaPods позволяет добавить в проект зависимости Office 365 и ADAL.
34 |
35 | После того как вы создали учетную запись Office 365 и связали учетную запись Azure AD с Сайтом разработчика Office 365, сделайте следующее:
36 |
37 | 1. Зарегистрируйте приложение в Azure и настройте необходимые разрешения Office 365 Exchange Online.
38 | 2. Установите диспетчер зависимостей CocoaPods и добавьте в проект зависимости Office 365 и проверки подлинности ADAL.
39 | 3. Введите сведения о регистрации приложения в Azure (ClientID и RedirectUri) в приложение Email Peel.
40 |
41 | ## Импорт пакета SDK Office 365 для iOS с помощью диспетчера зависимостей CocoaPods
42 | Примечание. Если до этого вы никогда не пользовались диспетчером зависимостей **CocoaPods**, его необходимо установить перед добавлением зависимостей пакета SDK Office 365 для iOS в проект.
43 |
44 | Введите приведенные ниже две строки кода из приложения **Терминал** на Mac.
45 |
46 | sudo gem install cocoapods
47 | pod setup
48 |
49 | После установки и настройки отобразится сообщение **Setup completed in Terminal**. Дополнительные сведения о диспетчере зависимостей CocoaPods и его использовании см. на сайте [CocoaPods](https://cocoapods.org/).
50 |
51 |
52 | **Добавление зависимостей пакета SDK Office 365 для iOS в проект**
53 | Приложение Email Peek уже содержит компонент podfile, который добавит компоненты Office 365 и ADAL (pod) в проект. Он расположен в корневой папке приложения ("Podfile"). В примере показано содержимое файла.
54 |
55 | target ‘O365-iOS-EmailPeek’ do
56 | pod 'ADALiOS', '~> 1.2.1'
57 | pod 'Office365/Outlook', '= 0.9.1'
58 | pod 'Office365/Discovery', '= 0.9.1'
59 | end
60 |
61 |
62 | Необходимо просто перейти в каталог проекта в программе **Терминал** (корневую папку проекта) и выполнить следующую команду.
63 |
64 |
65 | pod install
66 |
67 | Примечание. Вы должны получить подтверждение, что эти зависимости добавлены в проект и теперь необходимо открывать рабочую область, а не проект в Xcode (**O365-iOS-EmailPeek.xcworkspace**). Если в компоненте Podfile есть синтаксическая ошибка, при выполнении команды install возникнет ошибка.
68 |
69 | ## Регистрация приложения в Microsoft Azure
70 | 1. Войдите на [портал управления Azure](https://manage.windowsazure.com), используя учетные данные Azure AD.
71 | 2. Выберите элемент **Active Directory** в меню слева, а затем выберите каталог для сайта разработчика Office 365.
72 | 3. В верхнем меню выберите элемент **Приложения**.
73 | 4. В нижней меню выберите команду **Добавить**.
74 | 5. На странице **Что вы хотите сделать?** выберите команду **Добавить приложение, разрабатываемое моей организацией**.
75 | 6. На странице **Расскажите о своем приложении** укажите имя приложения **O365-iOS-EmailPeek** и выберите тип **СОБСТВЕННОЕ КЛИЕНТСКОЕ ПРИЛОЖЕНИЕ**.
76 | 7. Щелкните значок стрелки в правом нижнем углу страницы.
77 | 8. На странице сведений о приложении укажите URI перенаправления (для этого приложения вы можете указать http://localhost/emailpeek), а затем установите флажок в правом нижнем углу страницы. Запомните это значение для раздела **Добавление идентификатора клиента и URI перенаправления в проект**.
78 | 9. После добавления приложения откроется страница "Быстрый запуск". Выберите пункт "Настройка" в верхнем меню.
79 | 10. В разделе **разрешений для других приложений** добавьте следующее разрешение: **Добавление приложения Office 365 Exchange Online** и выберите разрешения на **чтение и создание писем от имени пользователя** и **отправку почты от имени пользователя**.
80 | 13. Скопируйте значение **идентификатора клиента** на странице **Настройка**. Запомните это значение для раздела **Добавление идентификатора клиента и URI перенаправления в проект**.
81 | 14 Выберите команду **Сохранить** в нижнем меню.
82 |
83 |
84 | ## Добавление идентификатора клиента и URI перенаправления в проект
85 |
86 | Наконец, необходимо добавить идентификатор клиента и URI перенаправления, записанные в предыдущем разделе **Регистрация приложения в Microsoft Azure**.
87 |
88 | Перейдите в каталог проекта **O365-iOS-EmailPeek** и откройте рабочую область (O365-EmailPeek-iOS.xcworkspace). Значения **ClientID** и **RedirectUri** можно добавить в верхней части файла **AppDelegate.m**. Укажите необходимые значения в этом файле.
89 |
90 | // Вы добавите идентификатор клиента и URI перенаправления. Вы получаете
91 | // их при регистрации приложения в Azure AD.
92 | static NSString * const kClientId = @"ENTER_REDIRECT_URI_HERE";
93 | static NSString * const kRedirectURLString = @"ENTER_CLIENT_ID_HERE";
94 | static NSString * const kAuthorityURLString = @"https://login.microsoftonline.com/common";
95 |
96 |
97 |
98 | ## Важные файлы кода
99 |
100 |
101 | **Модели**
102 |
103 | Эти объекты — это специальные классы, которые представляют данные приложения. Все эти классы являются неизменными. Они являются оболочкой для основных объектов, предусмотренных пакетом SDK Office 365.
104 |
105 | **Вспомогательные приложения Office 365**
106 |
107 | Вспомогательные приложения — это классы, которые взаимодействуют с Office 365, осуществляя вызовы API. Эта архитектура отделяет остальную часть приложения от пакета SDK Office 365.
108 |
109 | **Серверные фильтры Office 365**
110 |
111 | Эти классы помогают осуществить необходимый вызов API с правильными серверными предложениями фильтра Office 365 во время доступа.
112 |
113 | **ConversationManager и SettingsManager**
114 |
115 | Эти классы помогают управлять беседами и параметрами в приложении.
116 |
117 | **Контроллеры**
118 |
119 | Это контроллеры различных представлений, которые поддерживаются в Email Peek.
120 |
121 | **Представления**
122 |
123 | Добавляет специальную ячейку, используемую в контроллерах ConversationListViewController и ConversationViewController.
124 |
125 |
126 | ## Вопросы и комментарии
127 |
128 | Мы будем рады получить ваш отзыв о приложении Email Peek. Вы можете отправить отзыв в разделе [Issues](https://github.com/OfficeDev/O365-EmailPeek-iOS) этого репозитория.
129 |
130 | Общие вопросы о разработке решений для Office 365 следует публиковать на сайте [Stack Overflow](http://stackoverflow.com/questions/tagged/Office365+API). Не забывайте помечать свои вопросы тегами {Office365] и [API].
131 |
132 | ## Устранение неполадок
133 | Для симуляторов и устройств под управлением iOS 9 с обновлением Xcode 7.0 поддерживается технология App Transport Security. См. [технический комментарий к App Transport Security](https://developer.apple.com/library/prerelease/ios/technotes/App-Transport-Security-Technote/).
134 |
135 | Для этого приложения мы создали временное исключение для следующего домена в plist:
136 |
137 | — outlook.office365.com
138 |
139 | Если эти исключения не включены, при развертывании на симуляторе с iOS 9 в Xcode вызов API Office 365 в этом приложении будет невозможен.
140 |
141 |
142 | ## Дополнительные ресурсы
143 |
144 | * [Приложение Office 365 Connect для iOS](https://github.com/OfficeDev/O365-iOS-Connect)
145 | * [Фрагменты кода Office 365 для iOS](https://github.com/OfficeDev/O365-iOS-Snippets)
146 | * [Пример Office 365 Profile для iOS](https://github.com/OfficeDev/O365-iOS-Profile)
147 | * [Документация по API Office 365](http://msdn.microsoft.com/office/office365/howto/platform-development-overview)
148 | * [Примеры кода API Office 365 и видео](https://msdn.microsoft.com/office/office365/howto/starter-projects-and-code-samples)
149 | * [Центр разработки для Office](http://dev.office.com/)
150 | * [Статья о Email Peek на сайте Medium](https://medium.com/office-app-development/why-read-email-when-you-can-peek-2af947d352dc)
151 |
152 | ## Авторские права
153 |
154 | (c) Корпорация Майкрософт (Microsoft Corporation), 2015. Все права защищены.
155 |
156 |
--------------------------------------------------------------------------------
/README-Localized/README-zh-tw.md:
--------------------------------------------------------------------------------
1 | #電子郵件預覽 - 使用 Office 365 # 建置的 iOS 應用程式
2 | [](https://travis-ci.org/OfficeDev/O365-iOS-EmailPeek)
3 |
4 | 電子郵件預覽是在 iOS 平台上,使用 Office 365 API 建置的一個很棒的郵件應用程式。這個應用程式可讓您預覽您不在時 (例如度假) 真正關心的電子郵件交談。電子郵件預覽也能讓您輕鬆且快速地回覆郵件,而不需輸入。這個應用程式使用 Office 365 郵件 API 的許多功能,例如讀取/寫入、伺服器端篩選及類別。
5 |
6 | [](https://youtu.be/WqEqxKD6Bfw "Click to see the sample in action")
7 |
8 | **目錄**
9 |
10 | * [設定您的環境](#set-up-your-environment)
11 | * [使用 CocoaPods 以匯入 O365 iOS SDK](#use-cocoapods-to-import-the-o365-ios-sdk)
12 | * [使用 Microsoft Azure 註冊您的應用程式](#register-your-app-with-microsoft-azure)
13 | * [取得用戶端識別碼,並將 Uri 重新導向至專案](#get-the-client-id-and-redirect-uri-into-the-project)
14 | * [重要程式碼檔案](#code-of-interest)
15 | * [問題和意見](#questions-and-comments)
16 | * [疑難排解](#troubleshooting")
17 | * [其他資源](#additional-resources)
18 |
19 |
20 |
21 | ## 設定您的環境 ##
22 |
23 | 若要執行電子郵件預覽,您需要下列項目︰
24 |
25 |
26 | * 來自 Apple 的 [Xcode](https://developer.apple.com/)。
27 | * Office 365 帳戶。您可以註冊 [Office 365 開發人員網站 ](http://msdn.microsoft.com/library/office/fp179924.aspx)來取得 Office 365 帳戶。這會讓您存取 API,可用來建立目標為 Office 365 資料的應用程式。
28 | * 用來註冊您的應用程式的 Microsoft Azure 租用戶。Azure Active Directory 會提供識別服務,以便應用程式用於驗證和授權。可以在這裡取得試用版訂閱︰[Microsoft Azure](https://account.windowsazure.com/SignUp)。
29 |
30 | **重要**:您還需要確定您的 Azure 訂用帳戶已繫結至您的 Office 365 租用戶。若要這麼做,請參閱 Active Directory 小組的部落格文章[建立和管理多個 Windows Azure Active Directory](http://blogs.technet.com/b/ad/archive/2013/11/08/creating-and-managing-multiple-windows-azure-active-directories.aspx) 的**新增目錄**一節。您也可以閱讀[為您的開發人員網站設定 Azure Active Directory 存取](http://msdn.microsoft.com/office/office365/howto/setup-development-environment#bk_CreateAzureSubscription)的詳細資訊。
31 |
32 |
33 | *以相依性管理員身分安裝 [CocoaPods](https://cocoapods.org/)。CocoaPods 可讓您將 Office 365 和 Azure Active Directory Authentication Library (ADAL) 相依性提取至專案中。
34 |
35 | 一旦您有 Office 365 帳戶和已繫結至您的 Office 365 開發人員網站的 Azure AD 帳戶,您必須執行下列步驟︰
36 |
37 | 1. 使用 Azure 註冊您的應用程式,並設定適當的 Office 365 Exchange Online 權限。
38 | 2. 安裝並使用 CocoaPods,將 Office 365 和 ADAL 驗證相依性置入您的專案中。
39 | 3. 在電子郵件預覽應用程式中輸入 Azure 應用程式註冊細節 (ClientID 和 RedirectUri)。
40 |
41 | ## 使用 CocoaPods 以匯入 O365 iOS SDK
42 | 附註:如果您從未以依存關係管理員身分使用 **CocoaPods**,您必須先安裝它,才能將 Office 365 iOS SDK 相依性置於您的專案。
43 |
44 | 在 Mac 上,從 **Terminal** 應用程式輸入接下來的兩行程式碼。
45 |
46 | sudo gem install cocoapods
47 | pod setup
48 |
49 | 如果安裝和設定都成功,您應該會看到**終端機安裝完成**訊息。如需有關 CocoaPods 和其用法的詳細資訊,請參閱 [CocoaPods](https://cocoapods.org/)。
50 |
51 |
52 | **在您的專案中取得 Office 365 SDK for iOS 相依性**
53 | 電子郵件預覽應用程式已經包含可將 Office 365 和 ADAL 元件 (pods) 放入專案的 podfile。它位於範例根目錄 ("Podfile") 中。此範例會顯示檔案的內容。
54 |
55 | target ‘O365-iOS-EmailPeek’ do
56 | pod 'ADALiOS', '~> 1.2.1'
57 | pod 'Office365/Outlook', '= 0.9.1'
58 | pod 'Office365/Discovery', '= 0.9.1'
59 | end
60 |
61 |
62 | 您只需要瀏覽到 **Terminal** (專案資料夾的根目錄) 中的專案目錄,然後執行下列命令。
63 |
64 |
65 | pod install
66 |
67 | 附註:您應該會收到這些相依性已加入至專案的確認,且從現在起,您必須在 Xcode 上開啟工作區而非專案 (**O365-iOS-EmailPeek.xcworkspace**)。如果在 Podfile 中有語法錯誤,就會在執行安裝命令時發生錯誤。
68 |
69 | ## 向 Microsoft Azure 註冊您的應用程式
70 | 1. 使用 Azure AD 認證登入 [Azure 管理入口網站](https://manage.windowsazure.com)。
71 | 2. 選取左邊功能表上的 [Active Directory]****,然後選取您的 Office 365 開發人員網站的目錄。
72 | 3. 在上方功能表中,選取 [應用程式]****。
73 | 4. 從下方功能表選取 [新增]****。
74 | 5. 在 [您想要做什麼]**** 頁面上,選取 [新增我的組織正在開發的應用程式]****。
75 | 6. 在 [告訴我們您的應用程式]**** 頁面上,為應用程式名稱指定 **O365-iOS-EmailPeek**,並為類型選取 [原生用戶端應用程式]****。
76 | 7. 選取頁面右下角的箭號圖示。
77 | 8. 在 [應用程式的資訊] 頁面上,指定重新導向 URI,在這個範例中,您可以指定 http://localhost/emailpeek,然後選取頁面右下角的核取方塊。為**將 ClientID 和 RedirectUri 置於專案**一節記憶此值。
78 | 9. 一旦成功新增應用程式,您就會進入應用程式的 [快速入門] 頁面。選取頂端功能表中的 [設定]。
79 | 10. 在 [其他應用程式的權限]**** 下新增下列權限︰[新增 Office 365 Exchange Online 應用程式]****,再依序選取 [讀取和寫入使用者郵件]**** 和 [以使用者身分傳送郵件]**** 權限。
80 | 13. 在 [設定]**** 頁面上複製為 [用戶端識別碼]**** 指定的值。為**將 ClientID 和 RedirectUri 置於專案**一節記憶此值。
81 | 14. 選取底部功能表中的 [儲存]****。
82 |
83 |
84 | ## 取得用戶端識別碼,並將 Uri 重新導向至專案
85 |
86 | 最後,您需要新增上一節**向 Microsoft Azure 註冊您的應用程式**所記錄的用戶端識別碼 和重新導向的 Uri。
87 |
88 | 瀏覽 **O365-iOS-EmailPeek** 專案目錄並開啟工作區 (O365-EmailPeek-iOS.xcworkspace)。在 **AppDelegate.m** 檔案中,您會看到檔案頂端新增 **ClientID** 和 **RedirectUri** 值。在此檔案中提供必要的值。
89 |
90 | // 您會設定應用程式的 clientId 和重新導向 URI。您會在
91 | // Azure AD 中登錄應用程式時取得。
92 | static NSString * const kClientId = @"ENTER_REDIRECT_URI_HERE";
93 | static NSString * const kRedirectURLString = @"ENTER_CLIENT_ID_HERE";
94 | static NSString * const kAuthorityURLString = @"https://login.microsoftonline.com/common";
95 |
96 |
97 |
98 | # # 重要的程式碼檔案
99 |
100 |
101 | **模型**
102 |
103 | 這些網域實體是代表應用程式資料的自訂類別。所有這些類別都是不變的。他們會包裝 Office 365 SDK 所提供的基本實體。
104 |
105 | **Office365 協助程式**
106 |
107 | 協助程式是藉由 API 呼叫,與 Office 365 實際通訊的類別。這種架構會從 Office365 SDK 中解構其餘應用程式。
108 |
109 | **Office365 伺服器端篩選**
110 |
111 | 這些類別可在擷取期間,以正確的 Office 365 伺服器端篩選子句來協助進行適當的 API 呼叫。
112 |
113 | **ConversationManager 和 SettingsManager**
114 |
115 | 這些類別可幫助管理應用程式中的對話和設定。
116 |
117 | ** 控制器 **
118 |
119 | 這些是適用於電子郵件預覽支援的不同檢視的控制器。
120 |
121 | **檢視**
122 |
123 | 這會實作兩個不同位置 (ConversationListViewController 和 ConversationViewController) 中使用的自訂儲存格。
124 |
125 |
126 | ## 問題與意見
127 |
128 | 我們樂於在電子郵件預覽應用程式範例中取得您的意見反應。您可以在此儲存機制的[問題](https://github.com/OfficeDev/O365-EmailPeek-iOS)區段中,將意見反應傳給我們。
129 |
130 | Office 365 的一般開發問題必須張貼至[堆疊溢位](http://stackoverflow.com/questions/tagged/Office365+API)。請確定使用 [Office365] 和 [API] 標記您的問題。
131 |
132 | ## 疑難排解
133 | 利用 Xcode 7.0 更新,會針對執行 iOS 9 的模擬器和裝置啟用應用程式傳輸安全性。請參閱 [應用程式傳輸安全性技術說明](https://developer.apple.com/library/prerelease/ios/technotes/App-Transport-Security-Technote/)。
134 |
135 | 在這個範例中,我們已經為 plist 中的下列網域建立暫存例外狀況:
136 |
137 | - outlook.office365.com
138 |
139 | 如果不包含這些例外狀況,在 Xcode 中部署到 iOS 9 模擬器時,所有 Office 365 API 的呼叫都會在此應用程式中進行。
140 |
141 |
142 | ## 其他資源
143 |
144 | * [iOS 的 Office 365 Connect 應用程式](https://github.com/OfficeDev/O365-iOS-Connect)
145 | * [iOS 的 Office 365 程式碼片段](https://github.com/OfficeDev/O365-iOS-Snippets)
146 | * [iOS 的 Office 365 設定檔範例](https://github.com/OfficeDev/O365-iOS-Profile)
147 | * [Office 365 API 文件](http://msdn.microsoft.com/office/office365/howto/platform-development-overview)
148 | * [Office 365 API 程式碼範例和視訊](https://msdn.microsoft.com/office/office365/howto/starter-projects-and-code-samples)
149 | * [Office 開發中心](http://dev.office.com/)
150 | * [電子郵件預覽上的媒體文件](https://medium.com/office-app-development/why-read-email-when-you-can-peek-2af947d352dc)
151 |
152 | ## 著作權
153 |
154 | Copyright (c) 2015 Microsoft.著作權所有,並保留一切權利。
155 |
--------------------------------------------------------------------------------
/readme-images/emailpeek_video.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OfficeDev/O365-iOS-EmailPeek/d822aacd3b48bf84862ead6f7284e72b68530b42/readme-images/emailpeek_video.png
--------------------------------------------------------------------------------