SlideShare uma empresa Scribd logo
1 de 13
iPhone Developer Advance Program




                              by Eakapong Kattiya
Monday, October 25, 2010
ความรู้พื้นฐานที่จําเป็น

                 - Objective-C for iPhone Programming

                 - Basic UI iPhone Programming

                 - Model View Controller

                 - XML / JSON




Monday, October 25, 2010
FaceBook
           เราจะสร้าง iphone application เพื่อทําการโพสข้อความ รูปภาพ
           ลงบน Wall ของเราด้วยการใช้ Facebook iPhone SDK โดยเริ่มจาก
           การ

             1. สมัคร Facebook Account
                www.facebook.com

             2. สร้าง Facebook Application
                http://www.facebook.com/developers/createapp.php

             3. Download facebook iphone sdk
                http://github.com/facebook/facebook-ios-sdk




Monday, October 25, 2010
Import FaceBook to project
           เริ่มจากการ download at http://github.com/facebook/facebook-
           iphone-sdk/ และ uncompress ให้เสร็จเรียบร้อย จากนั้นให้ link เข้า
           มาใช้ใน project ของเราดังนี้

             1. ในขณะที่เราเปิดโปรเจ็คของเราอยู่ ให้เปิดไฟล์
                ชื่อ FBConnect.xcodeproj ซึ่งอยู่ในโฟลเดอร์ชื่อ src ของไฟล์ที่
                เรา download มา
             2. ลาก group ที่ชื่อ FBConnect ที่อยู่ใน project ที่เรา download
                มาลงไปใส่ในโปรเจ็คของเรา
             3. click ขวาที่โปรเจ็คของเราแล้วเลือก Get Info, ใน tab Build ให้
                ไปกําหนดค่าของ User Header Search Paths เป็น path
                ตําแหน่ง directory ของไฟล์ FBConnect.xcodeproj ที่เราเปิด
                ในข้อ 1 เท่านี้ก็เรียบร้อย




Monday, October 25, 2010
How to post to Facebook’s wall

             1. สร้าง facebook session
             2. login เข้า facebook
             3. เปิดสิทธิการใช้งานหรือ grant permission เพื่อให้ได้สิทธิ
                ในการโพสลงไปใน timeline ได้
             4. โพสลงไปด้วย dialog ที่ api เตรียมไว้ให้




Monday, October 25, 2010
1. สร้าง Facebook Session


           #import "FBConnect/FBConnect.h"

           จากนั้นสร้าง session ด้วย factory method ของ FBSession
           โดยใช้ KEY ที่นี่ http://www.facebook.com/developers/
           apps.php หากไม่สร้าง session จะไม่สามารถทําอะไรกับ
           facebook ได้เลย ดังนี้

            if(![_session resume]){
             _session = [FBSession 
                               sessionForApplication: API_KEY secret:
           SECRET_KEY delegate:self];
            }




Monday, October 25, 2010
2. login เข้า facebook

         แปะปุ่มสําหรับ login เข้า facebook ลงไปบน view และเราจะใช้ปุ่มนี้
         เพื่อให้ผู้ใช้ login เข้าใช้งาน facebook

          FBLoginButton* button = [[[FBLoginButton alloc] init] autorelease];
          [view addSubview:button];

         หลังจาก login เสร็จแล้ว delegate method ที่นิยามไว้ใน
         FBDialogDelegate ตัวนี้จะทํางาน

          - (void)session:(FBSession*)session didLogin:(FBUID)uid {

          }




Monday, October 25, 2010
3. Grant permission

           หลังจาก login แล้ว เราจะ Grant permission เพื่อให้เรา
           สามารถโพสบางอย่างลงไปใน timeline ได้ ด้วยการแสดง
           dialog ให้ผู้ใช้ยืนยันสิทธิ์ดังนี้

            FBPermissionDialog* dialog = [[[FBPermissionDialog alloc]
           init] autorelease];

            dialog.delegate = self;
            dialog.permission = @"status_update";
            [dialog show];




Monday, October 25, 2010
3. Grant permission (ต่อ)

           จะมี dialog ขึ้นมาให้ผู้ใช้ยืนยันว่าอนุญาติให้ application ที่
           กําลังใช้งานอยู่มีสิทธิ์โพสบางอย่างลงไปใน timeline ของตัว
           เองได้หรือไม่

           โดยที่ dialog ที่แสดงขึ้นมาจะมี event อยู่ 2 แบบคือ ตกลง กับ
           ยกเลิก ซึ่งแต่ละ event จะมีการ call delegate 2 ตัวนี้

            - (void)dialogDidSucceed:(FBDialog*)dialog {

            }
               และ
            - (void)dialogDidCancel:(FBDialog*)dialog {

            }




Monday, October 25, 2010
4. Post to wall

           เมื่อเราได้ permission สําหรับการโพสบางอย่างลงไปใน
           timeline แล้ว เราสามารถทดลองโพสด้วยการใช้
           FBStreamDialog ได้เลยทันที ดังนี้

            FBStreamDialog *streamDialog = [[[FBStreamDialog alloc]
           init] autorelease];
            streamDialog.delegate = self;
            streamDialog.userMessagePrompt = @"Dialog Prompt";
            streamDialog.attachment = attachment;
            [streamDialog show];




Monday, October 25, 2010
4. Post to wall

            property ชื่อ attachment ของ FBStreamDialog จะเป็นการกําหนด content ที่เราจโพสลงไปบน wall ด้วย JSON
            format ตามลิงค์ http://wiki.developers.facebook.com/index.php/Attachment_(Streams)
            ซึ่งหากเรากําหนด attatchment เป็นดังนี้


              NSString *attachment = @"{"name":"Facebook iPhone SDK","
              ""href":"http://developers.facebook.com/connect.php?tab=iphone","
              ""caption":"Caption","
              ""description":"Description","
              ""media":[{"type":"image","
              ""src":"http://www.dhammapost.com/netdesign/basic/icon.png","
              ""href":"http://developers.facebook.com/connect.php?tab=iphone/"}],"
              ""properties":{"another link":{"text":"Facebook home page","
              ""href":"http://www.facebook.com"}}}";




Monday, October 25, 2010
4. Post to wall

           เราจะได้ dialog หน้าตาแบบนี้หลังจากที่เราสั่งให้ dialog show
           ขึ้นมาให้เรากรอกค่าอะไรบางอย่างลงไป




Monday, October 25, 2010
5. Show Timeline




Monday, October 25, 2010

Mais conteúdo relacionado

Semelhante a iOS Advance Development - Social Media

Iphone developer advance twitter
Iphone developer advance   twitterIphone developer advance   twitter
Iphone developer advance twitterEakapong Kattiya
 
คู่มือการใช้งานโปรแกรมพัฒนา Application สำหรับระบบปฏิบัติการ i os
คู่มือการใช้งานโปรแกรมพัฒนา Application สำหรับระบบปฏิบัติการ i osคู่มือการใช้งานโปรแกรมพัฒนา Application สำหรับระบบปฏิบัติการ i os
คู่มือการใช้งานโปรแกรมพัฒนา Application สำหรับระบบปฏิบัติการ i osNisachol Poljorhor
 
การเขียนโปรแกรมโดยใช้ Netbeans
การเขียนโปรแกรมโดยใช้ Netbeansการเขียนโปรแกรมโดยใช้ Netbeans
การเขียนโปรแกรมโดยใช้ NetbeansWasin Kunnaphan
 
บทที่ 5
บทที่ 5บทที่ 5
บทที่ 5teeraratWI
 
การเขียนโปรแกรมด้วย Net beans
การเขียนโปรแกรมด้วย Net beansการเขียนโปรแกรมด้วย Net beans
การเขียนโปรแกรมด้วย Net beansApisit Song
 
บทที่ 5
บทที่ 5บทที่ 5
บทที่ 5teerarat55
 

Semelhante a iOS Advance Development - Social Media (20)

Iphone developer advance twitter
Iphone developer advance   twitterIphone developer advance   twitter
Iphone developer advance twitter
 
คู่มือการใช้งานโปรแกรมพัฒนา Application สำหรับระบบปฏิบัติการ i os
คู่มือการใช้งานโปรแกรมพัฒนา Application สำหรับระบบปฏิบัติการ i osคู่มือการใช้งานโปรแกรมพัฒนา Application สำหรับระบบปฏิบัติการ i os
คู่มือการใช้งานโปรแกรมพัฒนา Application สำหรับระบบปฏิบัติการ i os
 
Mozilla seabird_report
Mozilla seabird_reportMozilla seabird_report
Mozilla seabird_report
 
Mozillaseabird_report
Mozillaseabird_reportMozillaseabird_report
Mozillaseabird_report
 
การเขียนโปรแกรมโดยใช้ Netbeans
การเขียนโปรแกรมโดยใช้ Netbeansการเขียนโปรแกรมโดยใช้ Netbeans
การเขียนโปรแกรมโดยใช้ Netbeans
 
บทที่ 5
บทที่ 5บทที่ 5
บทที่ 5
 
บทที่ 5
บทที่ 5บทที่ 5
บทที่ 5
 
บทที่ 5
บทที่ 5บทที่ 5
บทที่ 5
 
บทที่ 5
บทที่ 5บทที่ 5
บทที่ 5
 
03 บทที่ 3-วิธีดำเนินงานโครงงาน
03 บทที่ 3-วิธีดำเนินงานโครงงาน03 บทที่ 3-วิธีดำเนินงานโครงงาน
03 บทที่ 3-วิธีดำเนินงานโครงงาน
 
Gisบี
GisบีGisบี
Gisบี
 
บทที่ 5
บทที่ 5บทที่ 5
บทที่ 5
 
การเขียนโปรแกรมด้วย Net beans
การเขียนโปรแกรมด้วย Net beansการเขียนโปรแกรมด้วย Net beans
การเขียนโปรแกรมด้วย Net beans
 
6 6
6 66 6
6 6
 
3
33
3
 
3
33
3
 
บทที่ 5
บทที่ 5บทที่ 5
บทที่ 5
 
บทที่ 5
บทที่ 5บทที่ 5
บทที่ 5
 
บทที่ 5
บทที่ 5บทที่ 5
บทที่ 5
 
MediaWiki extension
MediaWiki extensionMediaWiki extension
MediaWiki extension
 

Mais de Eakapong Kattiya

(31 July 2013) iOS Basic Development Day 2 Human interface design
(31 July 2013) iOS Basic Development Day 2 Human interface design (31 July 2013) iOS Basic Development Day 2 Human interface design
(31 July 2013) iOS Basic Development Day 2 Human interface design Eakapong Kattiya
 
Android basic 4 Navigation Drawer
Android basic 4 Navigation DrawerAndroid basic 4 Navigation Drawer
Android basic 4 Navigation DrawerEakapong Kattiya
 
Android Basic Development Day 1 Introduction & ADT
Android Basic Development Day 1 Introduction & ADTAndroid Basic Development Day 1 Introduction & ADT
Android Basic Development Day 1 Introduction & ADTEakapong Kattiya
 
iOS Basic Development Day 2 - Objective-C 2.0 & iOS Framework
iOS Basic Development Day 2 - Objective-C 2.0 & iOS Framework iOS Basic Development Day 2 - Objective-C 2.0 & iOS Framework
iOS Basic Development Day 2 - Objective-C 2.0 & iOS Framework Eakapong Kattiya
 
(1 July 2013) iOS Basic Development Day 5 - Submit to App Store
(1 July 2013) iOS Basic Development Day 5 - Submit to App Store(1 July 2013) iOS Basic Development Day 5 - Submit to App Store
(1 July 2013) iOS Basic Development Day 5 - Submit to App StoreEakapong Kattiya
 
Iphone developer advance location based
Iphone developer advance location basedIphone developer advance location based
Iphone developer advance location basedEakapong Kattiya
 

Mais de Eakapong Kattiya (8)

(31 July 2013) iOS Basic Development Day 2 Human interface design
(31 July 2013) iOS Basic Development Day 2 Human interface design (31 July 2013) iOS Basic Development Day 2 Human interface design
(31 July 2013) iOS Basic Development Day 2 Human interface design
 
Android basic 4 Navigation Drawer
Android basic 4 Navigation DrawerAndroid basic 4 Navigation Drawer
Android basic 4 Navigation Drawer
 
Android basic 2 UI Design
Android basic 2 UI DesignAndroid basic 2 UI Design
Android basic 2 UI Design
 
Android basic 3 Dialogs
Android basic 3 DialogsAndroid basic 3 Dialogs
Android basic 3 Dialogs
 
Android Basic Development Day 1 Introduction & ADT
Android Basic Development Day 1 Introduction & ADTAndroid Basic Development Day 1 Introduction & ADT
Android Basic Development Day 1 Introduction & ADT
 
iOS Basic Development Day 2 - Objective-C 2.0 & iOS Framework
iOS Basic Development Day 2 - Objective-C 2.0 & iOS Framework iOS Basic Development Day 2 - Objective-C 2.0 & iOS Framework
iOS Basic Development Day 2 - Objective-C 2.0 & iOS Framework
 
(1 July 2013) iOS Basic Development Day 5 - Submit to App Store
(1 July 2013) iOS Basic Development Day 5 - Submit to App Store(1 July 2013) iOS Basic Development Day 5 - Submit to App Store
(1 July 2013) iOS Basic Development Day 5 - Submit to App Store
 
Iphone developer advance location based
Iphone developer advance location basedIphone developer advance location based
Iphone developer advance location based
 

iOS Advance Development - Social Media

  • 1. iPhone Developer Advance Program by Eakapong Kattiya Monday, October 25, 2010
  • 2. ความรู้พื้นฐานที่จําเป็น - Objective-C for iPhone Programming - Basic UI iPhone Programming - Model View Controller - XML / JSON Monday, October 25, 2010
  • 3. FaceBook เราจะสร้าง iphone application เพื่อทําการโพสข้อความ รูปภาพ ลงบน Wall ของเราด้วยการใช้ Facebook iPhone SDK โดยเริ่มจาก การ 1. สมัคร Facebook Account www.facebook.com 2. สร้าง Facebook Application http://www.facebook.com/developers/createapp.php 3. Download facebook iphone sdk http://github.com/facebook/facebook-ios-sdk Monday, October 25, 2010
  • 4. Import FaceBook to project เริ่มจากการ download at http://github.com/facebook/facebook- iphone-sdk/ และ uncompress ให้เสร็จเรียบร้อย จากนั้นให้ link เข้า มาใช้ใน project ของเราดังนี้ 1. ในขณะที่เราเปิดโปรเจ็คของเราอยู่ ให้เปิดไฟล์ ชื่อ FBConnect.xcodeproj ซึ่งอยู่ในโฟลเดอร์ชื่อ src ของไฟล์ที่ เรา download มา 2. ลาก group ที่ชื่อ FBConnect ที่อยู่ใน project ที่เรา download มาลงไปใส่ในโปรเจ็คของเรา 3. click ขวาที่โปรเจ็คของเราแล้วเลือก Get Info, ใน tab Build ให้ ไปกําหนดค่าของ User Header Search Paths เป็น path ตําแหน่ง directory ของไฟล์ FBConnect.xcodeproj ที่เราเปิด ในข้อ 1 เท่านี้ก็เรียบร้อย Monday, October 25, 2010
  • 5. How to post to Facebook’s wall 1. สร้าง facebook session 2. login เข้า facebook 3. เปิดสิทธิการใช้งานหรือ grant permission เพื่อให้ได้สิทธิ ในการโพสลงไปใน timeline ได้ 4. โพสลงไปด้วย dialog ที่ api เตรียมไว้ให้ Monday, October 25, 2010
  • 6. 1. สร้าง Facebook Session #import "FBConnect/FBConnect.h" จากนั้นสร้าง session ด้วย factory method ของ FBSession โดยใช้ KEY ที่นี่ http://www.facebook.com/developers/ apps.php หากไม่สร้าง session จะไม่สามารถทําอะไรกับ facebook ได้เลย ดังนี้ if(![_session resume]){ _session = [FBSession                      sessionForApplication: API_KEY secret: SECRET_KEY delegate:self]; } Monday, October 25, 2010
  • 7. 2. login เข้า facebook แปะปุ่มสําหรับ login เข้า facebook ลงไปบน view และเราจะใช้ปุ่มนี้ เพื่อให้ผู้ใช้ login เข้าใช้งาน facebook FBLoginButton* button = [[[FBLoginButton alloc] init] autorelease]; [view addSubview:button]; หลังจาก login เสร็จแล้ว delegate method ที่นิยามไว้ใน FBDialogDelegate ตัวนี้จะทํางาน - (void)session:(FBSession*)session didLogin:(FBUID)uid { } Monday, October 25, 2010
  • 8. 3. Grant permission หลังจาก login แล้ว เราจะ Grant permission เพื่อให้เรา สามารถโพสบางอย่างลงไปใน timeline ได้ ด้วยการแสดง dialog ให้ผู้ใช้ยืนยันสิทธิ์ดังนี้ FBPermissionDialog* dialog = [[[FBPermissionDialog alloc] init] autorelease]; dialog.delegate = self; dialog.permission = @"status_update"; [dialog show]; Monday, October 25, 2010
  • 9. 3. Grant permission (ต่อ) จะมี dialog ขึ้นมาให้ผู้ใช้ยืนยันว่าอนุญาติให้ application ที่ กําลังใช้งานอยู่มีสิทธิ์โพสบางอย่างลงไปใน timeline ของตัว เองได้หรือไม่ โดยที่ dialog ที่แสดงขึ้นมาจะมี event อยู่ 2 แบบคือ ตกลง กับ ยกเลิก ซึ่งแต่ละ event จะมีการ call delegate 2 ตัวนี้ - (void)dialogDidSucceed:(FBDialog*)dialog { } และ - (void)dialogDidCancel:(FBDialog*)dialog { } Monday, October 25, 2010
  • 10. 4. Post to wall เมื่อเราได้ permission สําหรับการโพสบางอย่างลงไปใน timeline แล้ว เราสามารถทดลองโพสด้วยการใช้ FBStreamDialog ได้เลยทันที ดังนี้ FBStreamDialog *streamDialog = [[[FBStreamDialog alloc] init] autorelease]; streamDialog.delegate = self; streamDialog.userMessagePrompt = @"Dialog Prompt"; streamDialog.attachment = attachment; [streamDialog show]; Monday, October 25, 2010
  • 11. 4. Post to wall property ชื่อ attachment ของ FBStreamDialog จะเป็นการกําหนด content ที่เราจโพสลงไปบน wall ด้วย JSON format ตามลิงค์ http://wiki.developers.facebook.com/index.php/Attachment_(Streams) ซึ่งหากเรากําหนด attatchment เป็นดังนี้ NSString *attachment = @"{"name":"Facebook iPhone SDK"," ""href":"http://developers.facebook.com/connect.php?tab=iphone"," ""caption":"Caption"," ""description":"Description"," ""media":[{"type":"image"," ""src":"http://www.dhammapost.com/netdesign/basic/icon.png"," ""href":"http://developers.facebook.com/connect.php?tab=iphone/"}]," ""properties":{"another link":{"text":"Facebook home page"," ""href":"http://www.facebook.com"}}}"; Monday, October 25, 2010
  • 12. 4. Post to wall เราจะได้ dialog หน้าตาแบบนี้หลังจากที่เราสั่งให้ dialog show ขึ้นมาให้เรากรอกค่าอะไรบางอย่างลงไป Monday, October 25, 2010
  • 13. 5. Show Timeline Monday, October 25, 2010