SlideShare a Scribd company logo
2011/01/23
 murapong




             1
•                                iPhone

•   Blog:http://d.hatena.ne.jp/murapong/

•   Twitter:http://twitter.com/murapong




                                           2
•
•
                   Tilt


•   http://itunes.apple.com/jp/app/
    id384874687?mt=8




                                      3
•
•   GetMoney!




•   cocos2d


•   http://itunes.apple.com/jp/app/
    id396386382?mt=8


                                      4
•
•   2011



•   OpenCV


•   http://itunes.apple.com/jp/app/
    id396386382?mt=8

•          http://www.youtube.com/
    watch?v=E_5ZGqjE284

                                      5
•   iPhone



•


             6
7
AdMob
• Google

• iPhone      iPad
  Android
      Web




                     8
AdMob


•   AdMobDelegateProtocol.h AdMobView.h libAdMob.a



•   AudioToolbox CoreGraphics MediaPlayer MessageUI
    QuartzCore

•   TouchJSON

•   AdMobDelegate




                                                      9
SampleViewController.h
#import <UIKit/UIKit.h>
#import "AdMobDelegateProtocol.h"

@class AdMobView;

@interface SampleViewController : UIViewController
<AdMobDelegate> {
  AdMobView *adMobAd;
}

@end




                                                     10
SampleViewController.m
#import "SampleViewController.h"
#import "AdMobView.h"

@implementation SampleViewController



#pragma mark -
#pragma mark AdMobDelegate methods
- (NSString *)publisherIdForAd:(AdMobView *)adView {
   return @"hoge";
}

- (UIViewController *)currentViewControllerForAd:(AdMobView *)adView {
   return self;
}

- (void)didReceiveAd:(AdMobView *)adView {
   CGRect frame = self.view.frame;
   adMobAd.frame = CGRectMake(0, frame.size.height - 48, frame.size.width, 48);
   [self.view addSubview:adMobAd];
}
@end
                                                                                  11
AdMob




•
•   AdMob




            12
SampleViewController.m
#import "SampleViewController.h"
#import "AdMobView.h"

@implementation SampleViewController


#pragma mark -
#pragma mark AdMobDelegate methods
- (NSString *)publisherIdForAd:(AdMobView *)adView {
   return @"hoge";
}

- (UIViewController *)currentViewControllerForAd:(AdMobView *)adView {
   return self;
}

- (NSArray *)testDevices {
   return [NSArray arrayWithObjects: ADMOB_SIMULATOR_ID, [UIDevice
currentDevice].uniqueIdentifier, nil];
}

- (void)didReceiveAd:(AdMobView *)adView {
   CGRect frame = self.view.frame;
   adMobAd.frame = CGRectMake(0, frame.size.height - 48, frame.size.width, 48);
   [self.view addSubview:adMobAd];
}
@end
                                                                                  13
AdMob


•   AdMob




              14
- (void)didFailToReceiveAd:(AdMobView *)adView {
   CGRect frame = self.view.frame;
   rect = CGRectMake(0, frame.size.height - 48, frame.size.width, 48);
   UIImageView *myAd = [[UIImageView alloc] initWithImage:[UIImage
imageNamed:@"my-ad.png"]];
   myAd.frame = rect;
   [self.view addSubview:myAd];
   [myAd release];
}




                                                                         15
16
API                              Reject


•

•   UIGetScreenImage()    API

•
•                API           API

•         Waiting For Review         8   Reject(2010/12/1   )

    •


                                                                 17
UIGetScreenImage()
CGImageRef screenImageRef = UIGetScreenImage();
UIImage *screenImage = [UIImage
imageWithCGImage:screenImageRef];
CGImageRelease(screenImageRef);




                             Reject



                                                  18
iOS4.0    AV Foundation




  •
          100

  • http://developer.apple.com/library/ios/
      #qa/qa2010/qa1702.html



                                              19
20
•

•          ex.
    iPad

•          Reject




                    21
Info.plist   Required device capabilities



                                            22
•                       Apple


•   http://developer.apple.com/library/ios/
    #documentation/iPhone/Conceptual/
    iPhoneOSProgrammingGuide/
    BuildTimeConfiguration/
    BuildTimeConfiguration.html#//apple_ref/
    doc/uid/TP40007072-CH7-SW9




                                              23
24
iPhone

•   iOS Developer Program

•
•   iOS Provisioning Portal

•
•
•   App ID

•   Provisioning Profile




                              25
• Google Chrome
  • Safari Firefox
•

• http://d.hatena.ne.jp/murapong/
  20101108/1289218790

                                    26
Apple                 Google Chrome



• iTunes Connect   Sales and Trends
                 Google Chrome




•       Safari   Firefox



                                      27
28

More Related Content

Similar to iDW資料(110123)

Lesson 1. Create project Sunshine
Lesson 1. Create project SunshineLesson 1. Create project Sunshine
Lesson 1. Create project Sunshine
Chanhyeong LEE
 
Bootiful Development with Spring Boot and Angular - RWX 2018
Bootiful Development with Spring Boot and Angular - RWX 2018Bootiful Development with Spring Boot and Angular - RWX 2018
Bootiful Development with Spring Boot and Angular - RWX 2018
Matt Raible
 
Being Epic: Best Practices for Android Development
Being Epic: Best Practices for Android DevelopmentBeing Epic: Best Practices for Android Development
Being Epic: Best Practices for Android Development
Reto Meier
 
Map view
Map viewMap view
Map view
YAMANE Toshiaki
 
Leaving Interface Builder Behind
Leaving Interface Builder BehindLeaving Interface Builder Behind
Leaving Interface Builder Behind
John Wilker
 
Domo Arigato Mr. Roboto - Open Source Bridge 2009
Domo Arigato Mr. Roboto - Open Source Bridge 2009Domo Arigato Mr. Roboto - Open Source Bridge 2009
Domo Arigato Mr. Roboto - Open Source Bridge 2009
sullis
 
MNT2014: Mobile Hibrido com Phonegap
MNT2014: Mobile Hibrido com PhonegapMNT2014: Mobile Hibrido com Phonegap
MNT2014: Mobile Hibrido com Phonegap
Loiane Groner
 
Mini-Training: AngularJS
Mini-Training: AngularJSMini-Training: AngularJS
Mini-Training: AngularJS
Betclic Everest Group Tech Team
 
Android wear and Cardboard
Android wear and CardboardAndroid wear and Cardboard
Android wear and Cardboard
mharkus
 
Lecture 12 - Maps, AR_VR_aaaaHardware.pptx
Lecture 12 - Maps, AR_VR_aaaaHardware.pptxLecture 12 - Maps, AR_VR_aaaaHardware.pptx
Lecture 12 - Maps, AR_VR_aaaaHardware.pptx
NgLQun
 
Ionic vancouver 201604
Ionic vancouver 201604Ionic vancouver 201604
Ionic vancouver 201604
Alamusi Alamusi
 
Androidoscon20080721 1216843094441821-9
Androidoscon20080721 1216843094441821-9Androidoscon20080721 1216843094441821-9
Androidoscon20080721 1216843094441821-9
Gustavo Fuentes Zurita
 
Androidoscon20080721 1216843094441821-9
Androidoscon20080721 1216843094441821-9Androidoscon20080721 1216843094441821-9
Androidoscon20080721 1216843094441821-9
Gustavo Fuentes Zurita
 
Cross Platform Mobile App Development
Cross Platform Mobile App DevelopmentCross Platform Mobile App Development
Cross Platform Mobile App Development
Synerzip
 
Rockstar Android Testing (Mobile TechCon Munich 2014)
Rockstar Android Testing (Mobile TechCon Munich 2014)Rockstar Android Testing (Mobile TechCon Munich 2014)
Rockstar Android Testing (Mobile TechCon Munich 2014)
Danny Preussler
 
“JavaScriptだけで作れる”からこそTitanium Moduleで Tiを256倍活用する!
“JavaScriptだけで作れる”からこそTitanium Moduleで Tiを256倍活用する!“JavaScriptだけで作れる”からこそTitanium Moduleで Tiを256倍活用する!
“JavaScriptだけで作れる”からこそTitanium Moduleで Tiを256倍活用する!
Masato Kitao
 
移动端Web app开发
移动端Web app开发移动端Web app开发
移动端Web app开发
Zhang Xiaoxue
 
Student succe13horizon
Student succe13horizonStudent succe13horizon
Student succe13horizon
Michael Amick
 
From MEAN to the MERN Stack
From MEAN to the MERN StackFrom MEAN to the MERN Stack
From MEAN to the MERN Stack
Troy Miles
 
ICS ホットトピック
ICS ホットトピックICS ホットトピック
ICS ホットトピック
Makoto Yamazaki
 

Similar to iDW資料(110123) (20)

Lesson 1. Create project Sunshine
Lesson 1. Create project SunshineLesson 1. Create project Sunshine
Lesson 1. Create project Sunshine
 
Bootiful Development with Spring Boot and Angular - RWX 2018
Bootiful Development with Spring Boot and Angular - RWX 2018Bootiful Development with Spring Boot and Angular - RWX 2018
Bootiful Development with Spring Boot and Angular - RWX 2018
 
Being Epic: Best Practices for Android Development
Being Epic: Best Practices for Android DevelopmentBeing Epic: Best Practices for Android Development
Being Epic: Best Practices for Android Development
 
Map view
Map viewMap view
Map view
 
Leaving Interface Builder Behind
Leaving Interface Builder BehindLeaving Interface Builder Behind
Leaving Interface Builder Behind
 
Domo Arigato Mr. Roboto - Open Source Bridge 2009
Domo Arigato Mr. Roboto - Open Source Bridge 2009Domo Arigato Mr. Roboto - Open Source Bridge 2009
Domo Arigato Mr. Roboto - Open Source Bridge 2009
 
MNT2014: Mobile Hibrido com Phonegap
MNT2014: Mobile Hibrido com PhonegapMNT2014: Mobile Hibrido com Phonegap
MNT2014: Mobile Hibrido com Phonegap
 
Mini-Training: AngularJS
Mini-Training: AngularJSMini-Training: AngularJS
Mini-Training: AngularJS
 
Android wear and Cardboard
Android wear and CardboardAndroid wear and Cardboard
Android wear and Cardboard
 
Lecture 12 - Maps, AR_VR_aaaaHardware.pptx
Lecture 12 - Maps, AR_VR_aaaaHardware.pptxLecture 12 - Maps, AR_VR_aaaaHardware.pptx
Lecture 12 - Maps, AR_VR_aaaaHardware.pptx
 
Ionic vancouver 201604
Ionic vancouver 201604Ionic vancouver 201604
Ionic vancouver 201604
 
Androidoscon20080721 1216843094441821-9
Androidoscon20080721 1216843094441821-9Androidoscon20080721 1216843094441821-9
Androidoscon20080721 1216843094441821-9
 
Androidoscon20080721 1216843094441821-9
Androidoscon20080721 1216843094441821-9Androidoscon20080721 1216843094441821-9
Androidoscon20080721 1216843094441821-9
 
Cross Platform Mobile App Development
Cross Platform Mobile App DevelopmentCross Platform Mobile App Development
Cross Platform Mobile App Development
 
Rockstar Android Testing (Mobile TechCon Munich 2014)
Rockstar Android Testing (Mobile TechCon Munich 2014)Rockstar Android Testing (Mobile TechCon Munich 2014)
Rockstar Android Testing (Mobile TechCon Munich 2014)
 
“JavaScriptだけで作れる”からこそTitanium Moduleで Tiを256倍活用する!
“JavaScriptだけで作れる”からこそTitanium Moduleで Tiを256倍活用する!“JavaScriptだけで作れる”からこそTitanium Moduleで Tiを256倍活用する!
“JavaScriptだけで作れる”からこそTitanium Moduleで Tiを256倍活用する!
 
移动端Web app开发
移动端Web app开发移动端Web app开发
移动端Web app开发
 
Student succe13horizon
Student succe13horizonStudent succe13horizon
Student succe13horizon
 
From MEAN to the MERN Stack
From MEAN to the MERN StackFrom MEAN to the MERN Stack
From MEAN to the MERN Stack
 
ICS ホットトピック
ICS ホットトピックICS ホットトピック
ICS ホットトピック
 

Recently uploaded

Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
Speck&Tech
 
Generating privacy-protected synthetic data using Secludy and Milvus
Generating privacy-protected synthetic data using Secludy and MilvusGenerating privacy-protected synthetic data using Secludy and Milvus
Generating privacy-protected synthetic data using Secludy and Milvus
Zilliz
 
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
名前 です男
 
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdfUnlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Malak Abu Hammad
 
National Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practicesNational Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practices
Quotidiano Piemontese
 
GraphRAG for Life Science to increase LLM accuracy
GraphRAG for Life Science to increase LLM accuracyGraphRAG for Life Science to increase LLM accuracy
GraphRAG for Life Science to increase LLM accuracy
Tomaz Bratanic
 
Serial Arm Control in Real Time Presentation
Serial Arm Control in Real Time PresentationSerial Arm Control in Real Time Presentation
Serial Arm Control in Real Time Presentation
tolgahangng
 
Introduction of Cybersecurity with OSS at Code Europe 2024
Introduction of Cybersecurity with OSS  at Code Europe 2024Introduction of Cybersecurity with OSS  at Code Europe 2024
Introduction of Cybersecurity with OSS at Code Europe 2024
Hiroshi SHIBATA
 
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAUHCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
panagenda
 
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdfHow to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
Chart Kalyan
 
GenAI Pilot Implementation in the organizations
GenAI Pilot Implementation in the organizationsGenAI Pilot Implementation in the organizations
GenAI Pilot Implementation in the organizations
kumardaparthi1024
 
AI 101: An Introduction to the Basics and Impact of Artificial Intelligence
AI 101: An Introduction to the Basics and Impact of Artificial IntelligenceAI 101: An Introduction to the Basics and Impact of Artificial Intelligence
AI 101: An Introduction to the Basics and Impact of Artificial Intelligence
IndexBug
 
Deep Dive: AI-Powered Marketing to Get More Leads and Customers with HyperGro...
Deep Dive: AI-Powered Marketing to Get More Leads and Customers with HyperGro...Deep Dive: AI-Powered Marketing to Get More Leads and Customers with HyperGro...
Deep Dive: AI-Powered Marketing to Get More Leads and Customers with HyperGro...
saastr
 
WeTestAthens: Postman's AI & Automation Techniques
WeTestAthens: Postman's AI & Automation TechniquesWeTestAthens: Postman's AI & Automation Techniques
WeTestAthens: Postman's AI & Automation Techniques
Postman
 
Fueling AI with Great Data with Airbyte Webinar
Fueling AI with Great Data with Airbyte WebinarFueling AI with Great Data with Airbyte Webinar
Fueling AI with Great Data with Airbyte Webinar
Zilliz
 
TrustArc Webinar - 2024 Global Privacy Survey
TrustArc Webinar - 2024 Global Privacy SurveyTrustArc Webinar - 2024 Global Privacy Survey
TrustArc Webinar - 2024 Global Privacy Survey
TrustArc
 
Digital Marketing Trends in 2024 | Guide for Staying Ahead
Digital Marketing Trends in 2024 | Guide for Staying AheadDigital Marketing Trends in 2024 | Guide for Staying Ahead
Digital Marketing Trends in 2024 | Guide for Staying Ahead
Wask
 
June Patch Tuesday
June Patch TuesdayJune Patch Tuesday
June Patch Tuesday
Ivanti
 
HCL Notes and Domino License Cost Reduction in the World of DLAU
HCL Notes and Domino License Cost Reduction in the World of DLAUHCL Notes and Domino License Cost Reduction in the World of DLAU
HCL Notes and Domino License Cost Reduction in the World of DLAU
panagenda
 
Choosing The Best AWS Service For Your Website + API.pptx
Choosing The Best AWS Service For Your Website + API.pptxChoosing The Best AWS Service For Your Website + API.pptx
Choosing The Best AWS Service For Your Website + API.pptx
Brandon Minnick, MBA
 

Recently uploaded (20)

Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
 
Generating privacy-protected synthetic data using Secludy and Milvus
Generating privacy-protected synthetic data using Secludy and MilvusGenerating privacy-protected synthetic data using Secludy and Milvus
Generating privacy-protected synthetic data using Secludy and Milvus
 
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
 
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdfUnlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
 
National Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practicesNational Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practices
 
GraphRAG for Life Science to increase LLM accuracy
GraphRAG for Life Science to increase LLM accuracyGraphRAG for Life Science to increase LLM accuracy
GraphRAG for Life Science to increase LLM accuracy
 
Serial Arm Control in Real Time Presentation
Serial Arm Control in Real Time PresentationSerial Arm Control in Real Time Presentation
Serial Arm Control in Real Time Presentation
 
Introduction of Cybersecurity with OSS at Code Europe 2024
Introduction of Cybersecurity with OSS  at Code Europe 2024Introduction of Cybersecurity with OSS  at Code Europe 2024
Introduction of Cybersecurity with OSS at Code Europe 2024
 
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAUHCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
 
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdfHow to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
 
GenAI Pilot Implementation in the organizations
GenAI Pilot Implementation in the organizationsGenAI Pilot Implementation in the organizations
GenAI Pilot Implementation in the organizations
 
AI 101: An Introduction to the Basics and Impact of Artificial Intelligence
AI 101: An Introduction to the Basics and Impact of Artificial IntelligenceAI 101: An Introduction to the Basics and Impact of Artificial Intelligence
AI 101: An Introduction to the Basics and Impact of Artificial Intelligence
 
Deep Dive: AI-Powered Marketing to Get More Leads and Customers with HyperGro...
Deep Dive: AI-Powered Marketing to Get More Leads and Customers with HyperGro...Deep Dive: AI-Powered Marketing to Get More Leads and Customers with HyperGro...
Deep Dive: AI-Powered Marketing to Get More Leads and Customers with HyperGro...
 
WeTestAthens: Postman's AI & Automation Techniques
WeTestAthens: Postman's AI & Automation TechniquesWeTestAthens: Postman's AI & Automation Techniques
WeTestAthens: Postman's AI & Automation Techniques
 
Fueling AI with Great Data with Airbyte Webinar
Fueling AI with Great Data with Airbyte WebinarFueling AI with Great Data with Airbyte Webinar
Fueling AI with Great Data with Airbyte Webinar
 
TrustArc Webinar - 2024 Global Privacy Survey
TrustArc Webinar - 2024 Global Privacy SurveyTrustArc Webinar - 2024 Global Privacy Survey
TrustArc Webinar - 2024 Global Privacy Survey
 
Digital Marketing Trends in 2024 | Guide for Staying Ahead
Digital Marketing Trends in 2024 | Guide for Staying AheadDigital Marketing Trends in 2024 | Guide for Staying Ahead
Digital Marketing Trends in 2024 | Guide for Staying Ahead
 
June Patch Tuesday
June Patch TuesdayJune Patch Tuesday
June Patch Tuesday
 
HCL Notes and Domino License Cost Reduction in the World of DLAU
HCL Notes and Domino License Cost Reduction in the World of DLAUHCL Notes and Domino License Cost Reduction in the World of DLAU
HCL Notes and Domino License Cost Reduction in the World of DLAU
 
Choosing The Best AWS Service For Your Website + API.pptx
Choosing The Best AWS Service For Your Website + API.pptxChoosing The Best AWS Service For Your Website + API.pptx
Choosing The Best AWS Service For Your Website + API.pptx
 

iDW資料(110123)

  • 2. iPhone • Blog:http://d.hatena.ne.jp/murapong/ • Twitter:http://twitter.com/murapong 2
  • 3. • • Tilt • http://itunes.apple.com/jp/app/ id384874687?mt=8 3
  • 4. • • GetMoney! • cocos2d • http://itunes.apple.com/jp/app/ id396386382?mt=8 4
  • 5. • • 2011 • OpenCV • http://itunes.apple.com/jp/app/ id396386382?mt=8 • http://www.youtube.com/ watch?v=E_5ZGqjE284 5
  • 6. iPhone • 6
  • 7. 7
  • 8. AdMob • Google • iPhone iPad Android Web 8
  • 9. AdMob • AdMobDelegateProtocol.h AdMobView.h libAdMob.a • AudioToolbox CoreGraphics MediaPlayer MessageUI QuartzCore • TouchJSON • AdMobDelegate 9
  • 10. SampleViewController.h #import <UIKit/UIKit.h> #import "AdMobDelegateProtocol.h" @class AdMobView; @interface SampleViewController : UIViewController <AdMobDelegate> { AdMobView *adMobAd; } @end 10
  • 11. SampleViewController.m #import "SampleViewController.h" #import "AdMobView.h" @implementation SampleViewController #pragma mark - #pragma mark AdMobDelegate methods - (NSString *)publisherIdForAd:(AdMobView *)adView { return @"hoge"; } - (UIViewController *)currentViewControllerForAd:(AdMobView *)adView { return self; } - (void)didReceiveAd:(AdMobView *)adView { CGRect frame = self.view.frame; adMobAd.frame = CGRectMake(0, frame.size.height - 48, frame.size.width, 48); [self.view addSubview:adMobAd]; } @end 11
  • 12. AdMob • • AdMob 12
  • 13. SampleViewController.m #import "SampleViewController.h" #import "AdMobView.h" @implementation SampleViewController #pragma mark - #pragma mark AdMobDelegate methods - (NSString *)publisherIdForAd:(AdMobView *)adView { return @"hoge"; } - (UIViewController *)currentViewControllerForAd:(AdMobView *)adView { return self; } - (NSArray *)testDevices { return [NSArray arrayWithObjects: ADMOB_SIMULATOR_ID, [UIDevice currentDevice].uniqueIdentifier, nil]; } - (void)didReceiveAd:(AdMobView *)adView { CGRect frame = self.view.frame; adMobAd.frame = CGRectMake(0, frame.size.height - 48, frame.size.width, 48); [self.view addSubview:adMobAd]; } @end 13
  • 14. AdMob • AdMob 14
  • 15. - (void)didFailToReceiveAd:(AdMobView *)adView { CGRect frame = self.view.frame; rect = CGRectMake(0, frame.size.height - 48, frame.size.width, 48); UIImageView *myAd = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"my-ad.png"]]; myAd.frame = rect; [self.view addSubview:myAd]; [myAd release]; } 15
  • 16. 16
  • 17. API Reject • • UIGetScreenImage() API • • API API • Waiting For Review 8 Reject(2010/12/1 ) • 17
  • 18. UIGetScreenImage() CGImageRef screenImageRef = UIGetScreenImage(); UIImage *screenImage = [UIImage imageWithCGImage:screenImageRef]; CGImageRelease(screenImageRef); Reject 18
  • 19. iOS4.0 AV Foundation • 100 • http://developer.apple.com/library/ios/ #qa/qa2010/qa1702.html 19
  • 20. 20
  • 21. • • ex. iPad • Reject 21
  • 22. Info.plist Required device capabilities 22
  • 23. Apple • http://developer.apple.com/library/ios/ #documentation/iPhone/Conceptual/ iPhoneOSProgrammingGuide/ BuildTimeConfiguration/ BuildTimeConfiguration.html#//apple_ref/ doc/uid/TP40007072-CH7-SW9 23
  • 24. 24
  • 25. iPhone • iOS Developer Program • • iOS Provisioning Portal • • • App ID • Provisioning Profile 25
  • 26. • Google Chrome • Safari Firefox • • http://d.hatena.ne.jp/murapong/ 20101108/1289218790 26
  • 27. Apple Google Chrome • iTunes Connect Sales and Trends Google Chrome • Safari Firefox 27
  • 28. 28