Unlimited Plugins, WordPress themes, videos & courses! Unlimited asset downloads! From $16.50/m
Advertisement
  1. Code
  2. iOS SDK

SDK iOS: Melihat dan Membuka Dokumen

by
Read Time:6 minsLanguages:

Indonesian (Bahasa Indonesia) translation by Diangr (you can also view the original English article)

Sandboxing di iOS membuat platform jauh lebih aman dan ini pada akhirnya menguntungkan setiap pengguna platform. Namun, karena aturan ketat yang melekat pada sandboxing, berbagi data antar aplikasi tidaklah sepele. Kelas yang sering diabaikan yang membantu berbagi dokumen antar aplikasi adalah kelas UIDocumentInteractionController. Dalam tip cepat ini, saya akan menunjukkan kepada anda bagaimana anda dapat menggunakan kelas ini untuk melihat dokumen serta membuka dokumen di aplikasi lain yang diinstal pada perangkat.


Berinteraksi dengan Dokumen

Saya harus mengakui bahwa saya sedikit terkejut mengetahui bahwa UIDocumentInteractionController telah bersama kami sejak iOS 3.2. Kelas UIDocumentInteractionController fleksibel dalam penggunaannya dan lebih kuat daripada yang disadari kebanyakan orang. Tidak hanya memungkinkan pengembang untuk membuka dokumen di aplikasi lain yang diinstal pada perangkat, itu juga mendukung pratinjau, pencetakan, mengirim email, dan menyalin dokumen.

Menggunakan kelas UIDocumentInteractionController sangatlah mudah. Langkah pertama adalah menginisialisasi instance kelas dengan menerapkan metode kelas satu-satunya, interactionControllerWithURL:, dan meneruskan URL (NSURL) dokumen yang ingin anda kerjakan. Setelah mengatur properti delegasi pengontrol interaksi dokumen, anda menerapkan metode delegasi yang sesuai.

Perlu diingat bahwa UIDocumentInteractionController bukanlah subkelas dari UIViewController. Dengan kata lain, meskipun melihat pratinjau dokumen dimediasi oleh UIDocumentInteractionController, anda harus memberi tahu pengendali interaksi dokumen yang melihat pengontrol untuk digunakan untuk melihat pratinjau dokumen. Apa artinya ini akan menjadi jelas ketika kita membangun aplikasi sampel. Dalam contoh aplikasi, saya akan menunjukkan cara (1) melihat dokumen dan (2) membuka dokumen di aplikasi lain yang mendukung jenis file dokumen.


Langkah 1: Menyiapkan Proyek

Seperti yang saya sebutkan beberapa waktu lalu, aplikasi contoh kami akan memungkinkan pengguna untuk melihat dokumen dan membukanya dalam aplikasi lain yang diinstal pada perangkat. Yang terakhir ini sering sangat berguna jika anda ingin memberikan pengguna anda lebih banyak fleksibilitas dalam hal apa yang dapat mereka lakukan dengan data yang disimpan dalam aplikasi anda. Contoh yang umum adalah membuka foto dalam aplikasi pengeditan foto, seperti iPhoto.

Buat proyek baru di Xcode dengan memilih Templat Single View Application dari daftar templat (gambar 1). Beri nama Dokumen aplikasi anda, masukkan pengenal perusahaan, atur iPhone untuk keluarga perangkat, dan centang Gunakan Penghitungan Referensi Otomatis. Sisa dari kotak centang dapat dibiarkan tidak diperiksa untuk proyek ini (gambar 2). Beri tahu Xcode tempat anda ingin menyimpan proyek dan tekan tombol Create.

Previewing and Opening Documents with UIDocumentInteractionController: Choosing a Project Template - Figure 1Previewing and Opening Documents with UIDocumentInteractionController: Choosing a Project Template - Figure 1Previewing and Opening Documents with UIDocumentInteractionController: Choosing a Project Template - Figure 1
Gambar 1
Previewing and Opening Documents with UIDocumentInteractionController: Configuring the New Project - Figure 2Previewing and Opening Documents with UIDocumentInteractionController: Configuring the New Project - Figure 2Previewing and Opening Documents with UIDocumentInteractionController: Configuring the New Project - Figure 2
Gambar 2

Langkah 2: Membuat Antarmuka Pengguna

Antarmuka pengguna aplikasi kami akan berisi dua tombol, satu untuk melihat dokumen PDF dan satu lagi untuk membuka dokumen PDF di aplikasi lain. Sebelum kita membuat antarmuka pengguna, buat aksi untuk setiap tombol dalam file implementasi pengontrol tampilan seperti yang ditunjukkan di bawah ini.

Pilih MTViewController.xib dan seret dua instance UIButton dari Objek Library di sebelah kanan dalam tampilan pengontrol tampilan (gambar 3). Pilih objek Pemilik File di sebelah kiri, buka Inspektur Koneksi, dan hubungkan tindakan yang kami buat beberapa saat yang lalu dengan tombol (gambar 4). Itu saja yang perlu kita lakukan di Interface Builder.

Previewing and Opening Documents with UIDocumentInteractionController: Creating the User Interface - Figure 3Previewing and Opening Documents with UIDocumentInteractionController: Creating the User Interface - Figure 3Previewing and Opening Documents with UIDocumentInteractionController: Creating the User Interface - Figure 3
Gambar 3
Previewing and Opening Documents with UIDocumentInteractionController: Connecting the Actions with the Buttons - Figure 4Previewing and Opening Documents with UIDocumentInteractionController: Connecting the Actions with the Buttons - Figure 4Previewing and Opening Documents with UIDocumentInteractionController: Connecting the Actions with the Buttons - Figure 4
Gambar 4

Langkah 3: Pratinjau Dokumen

Dokumen yang akan kami kerjakan adalah dokumen PDF. Anda dapat menggunakan dokumen PDF apa pun, tetapi saya telah menyertakan contoh dokumen PDF dengan file sumber dari tip cepat ini. Ini adalah Panduan Pemrograman iOS Apple, yang juga dapat anda temukan secara online. Seret dokumen ke dalam proyek anda dan pastikan untuk memeriksa kotak centang berlabel Salin item ke folder grup tujuan (jika diperlukan) ketika anda diminta (gambar 5). Juga pastikan bahwa dokumen tersebut ditambahkan ke target Dokumen (gambar 5).

Previewing and Opening Documents with UIDocumentInteractionController: Adding the Sample PDF Document to the Project - Figure 5Previewing and Opening Documents with UIDocumentInteractionController: Adding the Sample PDF Document to the Project - Figure 5Previewing and Opening Documents with UIDocumentInteractionController: Adding the Sample PDF Document to the Project - Figure 5
Gambar 5

Bila menggunakan kelas UIDocumentInteractionController, penting untuk menjaga dua hal dalam pikiran, (1) anda perlu memegang referensi ke controller interaksi dokumen dan (2) protokol UIDocumentInteractionControllerDelegate perlu dilaksanakan. Mulai dengan memperbarui file header pengontrol tampilan seperti yang ditunjukkan di bawah ini untuk menginformasikan compiler bahwa kelas MTViewController sesuai dengan protokol UIDocumentInteractionControllerDelegate.

Dalam file implementasi pengontrol tampilan, tambahkan properti pribadi jenis UIDocumentInteractionController dan beri nama documentInteractionController. Properti ini akan menyimpan referensi ke pengendali interaksi dokumen yang akan kita gunakan.

Sekarang mari kita lihat implementasi dari previewDocument: action. Kami mulai dengan mendapatkan URL (NSURL) dokumen. Karena dokumen adalah bagian dari bundel aplikasi, memperoleh URL dokumen sangat mudah berkat metode kenyamanan kelas NSBundle (lihat di bawah).

Jika URL yang valid dikembalikan kepada kami, kami menginisialisasi instance kelas  UIDocumentInteractionController dan meneruskan URL dokumen. Kami menyimpan referensi ke pengontrol interaksi dokumen dalam properti documentInteractionController yang kami buat satu menit yang lalu. Pengontrol tampilan kami akan berfungsi sebagai delegasi pengontrol interaksi dokumen. Menyajikan pratinjau dokumen PDF semudah menelepon presentPreviewAnimated: pada pengontrol interaksi dokumen.

Jika anda membangun dan menjalankan aplikasi sekarang, Anda akan melihat bahwa tidak ada yang terjadi ketika tombol berlabel Preview disadap. Ada satu metode delegasi yang perlu kami terapkan lebih dulu. Beberapa menit yang lalu, saya memberi tahu anda bahwa penting untuk menyadari bahwa kelas UIDocumentInteractionController adalah subkelas dari NSObject, bukan UIViewController. Meskipun akan berhati-hati menampilkan dokumen, kita perlu memberi tahu pengendali interaksi dokumen yang melihat pengontrol untuk digunakan untuk melihat pratinjau dokumen. Salah satu metode delegasi dari protokol UIDocumentInteractionControllerDelegate meminta delegasi untuk pengontrol tampilan yang dapat digunakan untuk melihat dokumen. Metode delegasi tersebut diberi nama documentInteractionControllerViewControllerForPreview:. Karena kami ingin menampilkan pratinjau di pengontrol tampilan utama kami, kami dapat kembali self seperti yang ditunjukkan dalam penerapan di bawah ini. Apa artinya ini adalah bahwa pengendali interaksi dokumen akan menggunakan pengontrol tampilan kami untuk melihat dokumen PDF. Ini akan menyajikan tampilan modal di mana ia menyajikan dokumen.

Tentu saja, anda dapat memodifikasi implementasi documentInteractionControllerViewControllerForPreview: agar sesuai dengan kebutuhan anda. Dengan metode delegasi diimplementasikan, sekarang saatnya untuk membangun dan menjalankan aplikasi kami untuk pertama kalinya dan mencobanya (gambar 6). Perhatikan bahwa anda bahkan dapat membagikan dokumen contoh melalui email, mencetaknya, atau menyalinnya ke clipboard. Selain itu, dimungkinkan untuk membuka dokumen di aplikasi lain yang mendukung jenis file dokumen. Ketuk tombol di kanan atas untuk melihat apa yang saya maksud (gambar 7).

Previewing and Opening Documents with UIDocumentInteractionController: Previewing a Document - Figure 6
Gambar 6
Previewing and Opening Documents with UIDocumentInteractionController: Sharing a Document - Figure 7
Gambar 7

Langkah 4: Membuka Dokumen

Namun, dalam banyak situasi, lebih tepat untuk memungkinkan pengguna membuka dokumen di aplikasi lain tanpa terlebih dahulu menampilkan pratinjau dokumen. Untuk memungkinkan hal ini dalam contoh aplikasi kami, kami perlu menerapkan openDocument: action. Seperti pada previewDocument: action, kita mendapatkan URL contoh dokumen PDF dalam bundel aplikasi dan menggunakannya untuk menginisialisasi instance kelas UIDocumentInteractionController. Setelah menetapkan delegasi pengontrol interaksi dokumen, kami menyajikan menu dengan memanggil presentOpenInMenuFromRect:inView: pada pengontrol interaksi dokumen. CGRect yang kami lewati sebagai argumen pertama adalah bingkai tombol seperti yang anda lihat di cuplikan kode di bawah ini.

Untuk menguji openDocument: action, penting bahwa anda menjalankan contoh aplikasi pada perangkat fisik. Alasannya sederhana. Sistem operasi memeriksa aplikasi mana pada perangkat yang mendukung jenis file (UTI) yang ingin kita buka. Jika tidak dapat menemukan aplikasi apa pun yang mendukung jenis file yang terkait, maka itu tidak akan menampilkan menu Open In dan itulah yang akan terjadi di Simulator iOS.

Untuk menguji fitur ini, pastikan bahwa anda memiliki aplikasi yang diinstal pada perangkat fisik anda yang menerima dokumen PDF, seperti Dropbox atau aplikasi Kindle Amazon.

Previewing and Opening Documents with UIDocumentInteractionController: Opening a Document - Figure 8
Gambar 8

Kesimpulan

Seperti yang anda lihat, sangat mudah untuk melihat dan membuka dokumen menggunakan kelas UIDocumentInteractionController. Saya sarankan anda menjelajahi referensi kelasnya serta protokol UIDocumentInteractionControllerDelegate. Ada banyak metode delegasi yang mungkin berguna terutama ketika bekerja dengan dokumen yang lebih besar atau alur kerja yang kompleks.

Advertisement
Did you find this post useful?
Advertisement
Looking for something to help kick start your next project?
Envato Market has a range of items for sale to help get you started.