Enviar pesquisa
Carregar
20111030i phonedeveloperworkshoppublished
•
2 gostaram
•
717 visualizações
Yoichiro Sakurai
Seguir
Denunciar
Compartilhar
Denunciar
Compartilhar
1 de 21
Baixar agora
Baixar para ler offline
Recomendados
Upgrading from Angular 1.x to Angular 2.x
Upgrading from Angular 1.x to Angular 2.x
Eyal Vardi
AngularJS $Provide Service
AngularJS $Provide Service
Eyal Vardi
Javascript - Beyond-jQuery
Javascript - Beyond-jQuery
Tanner Moushey ❖ Mission Lab - WordPress Agency
Routing And Navigation
Routing And Navigation
Eyal Vardi
Angular 2 Architecture
Angular 2 Architecture
Eyal Vardi
Angular 1.x vs. Angular 2.x
Angular 1.x vs. Angular 2.x
Eyal Vardi
AngularJs $provide API internals & circular dependency problem.
AngularJs $provide API internals & circular dependency problem.
Yan Yankowski
10 tips for a reusable architecture
10 tips for a reusable architecture
Jorge Ortiz
Recomendados
Upgrading from Angular 1.x to Angular 2.x
Upgrading from Angular 1.x to Angular 2.x
Eyal Vardi
AngularJS $Provide Service
AngularJS $Provide Service
Eyal Vardi
Javascript - Beyond-jQuery
Javascript - Beyond-jQuery
Tanner Moushey ❖ Mission Lab - WordPress Agency
Routing And Navigation
Routing And Navigation
Eyal Vardi
Angular 2 Architecture
Angular 2 Architecture
Eyal Vardi
Angular 1.x vs. Angular 2.x
Angular 1.x vs. Angular 2.x
Eyal Vardi
AngularJs $provide API internals & circular dependency problem.
AngularJs $provide API internals & circular dependency problem.
Yan Yankowski
10 tips for a reusable architecture
10 tips for a reusable architecture
Jorge Ortiz
AngularJS Routing
AngularJS Routing
Eyal Vardi
Workshop 12: AngularJS Parte I
Workshop 12: AngularJS Parte I
Visual Engineering
Performance Optimization In Angular 2
Performance Optimization In Angular 2
Eyal Vardi
Angular 2.0 forms
Angular 2.0 forms
Eyal Vardi
AngularJS Internal
AngularJS Internal
Eyal Vardi
Modules and injector
Modules and injector
Eyal Vardi
Template syntax in Angular 2.0
Template syntax in Angular 2.0
Eyal Vardi
RSpec
RSpec
Marco Otte-Witte
Excellent
Excellent
Marco Otte-Witte
Http Communication in Angular 2.0
Http Communication in Angular 2.0
Eyal Vardi
Rails is not just Ruby
Rails is not just Ruby
Marco Otte-Witte
Workshop 5: JavaScript testing
Workshop 5: JavaScript testing
Visual Engineering
AngularJS Animations
AngularJS Animations
Eyal Vardi
AngularJS - $http & $resource Services
AngularJS - $http & $resource Services
Eyal Vardi
Angular 2 - Ahead of-time Compilation
Angular 2 - Ahead of-time Compilation
Eyal Vardi
Component lifecycle hooks in Angular 2.0
Component lifecycle hooks in Angular 2.0
Eyal Vardi
Learn You a Functional JavaScript for Great Good
Learn You a Functional JavaScript for Great Good
Mike Harris
AngularJS Services
AngularJS Services
Eyal Vardi
정오의 데이트 for iOS 코드 정리
정오의 데이트 for iOS 코드 정리
태준 김
Dart and AngularDart
Dart and AngularDart
Loc Nguyen
20120616i phonedeveloperworkshop
20120616i phonedeveloperworkshop
Yoichiro Sakurai
20120219i phonedeveloperworkshoppublished
20120219i phonedeveloperworkshoppublished
Yoichiro Sakurai
Mais conteúdo relacionado
Mais procurados
AngularJS Routing
AngularJS Routing
Eyal Vardi
Workshop 12: AngularJS Parte I
Workshop 12: AngularJS Parte I
Visual Engineering
Performance Optimization In Angular 2
Performance Optimization In Angular 2
Eyal Vardi
Angular 2.0 forms
Angular 2.0 forms
Eyal Vardi
AngularJS Internal
AngularJS Internal
Eyal Vardi
Modules and injector
Modules and injector
Eyal Vardi
Template syntax in Angular 2.0
Template syntax in Angular 2.0
Eyal Vardi
RSpec
RSpec
Marco Otte-Witte
Excellent
Excellent
Marco Otte-Witte
Http Communication in Angular 2.0
Http Communication in Angular 2.0
Eyal Vardi
Rails is not just Ruby
Rails is not just Ruby
Marco Otte-Witte
Workshop 5: JavaScript testing
Workshop 5: JavaScript testing
Visual Engineering
AngularJS Animations
AngularJS Animations
Eyal Vardi
AngularJS - $http & $resource Services
AngularJS - $http & $resource Services
Eyal Vardi
Angular 2 - Ahead of-time Compilation
Angular 2 - Ahead of-time Compilation
Eyal Vardi
Component lifecycle hooks in Angular 2.0
Component lifecycle hooks in Angular 2.0
Eyal Vardi
Learn You a Functional JavaScript for Great Good
Learn You a Functional JavaScript for Great Good
Mike Harris
AngularJS Services
AngularJS Services
Eyal Vardi
정오의 데이트 for iOS 코드 정리
정오의 데이트 for iOS 코드 정리
태준 김
Dart and AngularDart
Dart and AngularDart
Loc Nguyen
Mais procurados
(20)
AngularJS Routing
AngularJS Routing
Workshop 12: AngularJS Parte I
Workshop 12: AngularJS Parte I
Performance Optimization In Angular 2
Performance Optimization In Angular 2
Angular 2.0 forms
Angular 2.0 forms
AngularJS Internal
AngularJS Internal
Modules and injector
Modules and injector
Template syntax in Angular 2.0
Template syntax in Angular 2.0
RSpec
RSpec
Excellent
Excellent
Http Communication in Angular 2.0
Http Communication in Angular 2.0
Rails is not just Ruby
Rails is not just Ruby
Workshop 5: JavaScript testing
Workshop 5: JavaScript testing
AngularJS Animations
AngularJS Animations
AngularJS - $http & $resource Services
AngularJS - $http & $resource Services
Angular 2 - Ahead of-time Compilation
Angular 2 - Ahead of-time Compilation
Component lifecycle hooks in Angular 2.0
Component lifecycle hooks in Angular 2.0
Learn You a Functional JavaScript for Great Good
Learn You a Functional JavaScript for Great Good
AngularJS Services
AngularJS Services
정오의 데이트 for iOS 코드 정리
정오의 데이트 for iOS 코드 정리
Dart and AngularDart
Dart and AngularDart
Destaque
20120616i phonedeveloperworkshop
20120616i phonedeveloperworkshop
Yoichiro Sakurai
20120219i phonedeveloperworkshoppublished
20120219i phonedeveloperworkshoppublished
Yoichiro Sakurai
20120826i phonedeveloperworkshop
20120826i phonedeveloperworkshop
Yoichiro Sakurai
20120422i phonedeveloperworkshoppublished
20120422i phonedeveloperworkshoppublished
Yoichiro Sakurai
CoreDataをバックグラウンドで扱うためのTips
CoreDataをバックグラウンドで扱うためのTips
Yohei Yamaguchi
XcodeのTargetについてのTIPS
XcodeのTargetについてのTIPS
Yoichiro Sakurai
CoreData 非同期データ処理
CoreData 非同期データ処理
次朗 永島
javascript を Xcode でテスト
javascript を Xcode でテスト
Yoichiro Sakurai
Destaque
(8)
20120616i phonedeveloperworkshop
20120616i phonedeveloperworkshop
20120219i phonedeveloperworkshoppublished
20120219i phonedeveloperworkshoppublished
20120826i phonedeveloperworkshop
20120826i phonedeveloperworkshop
20120422i phonedeveloperworkshoppublished
20120422i phonedeveloperworkshoppublished
CoreDataをバックグラウンドで扱うためのTips
CoreDataをバックグラウンドで扱うためのTips
XcodeのTargetについてのTIPS
XcodeのTargetについてのTIPS
CoreData 非同期データ処理
CoreData 非同期データ処理
javascript を Xcode でテスト
javascript を Xcode でテスト
Semelhante a 20111030i phonedeveloperworkshoppublished
关于Iap程序类购买使用说明
关于Iap程序类购买使用说明
linuxagui
Turn your spaghetti code into ravioli with JavaScript modules
Turn your spaghetti code into ravioli with JavaScript modules
jerryorr
I os 11
I os 11
信嘉 陳
JavaScript Promise
JavaScript Promise
Joseph Chiang
Working with AFNetworking
Working with AFNetworking
waynehartman
Unit Testing: Special Cases
Unit Testing: Special Cases
Ciklum Ukraine
Conceitos e prática no desenvolvimento iOS - Mobile Conf 2014
Conceitos e prática no desenvolvimento iOS - Mobile Conf 2014
Fábio Pimentel
Leaving Interface Builder Behind
Leaving Interface Builder Behind
John Wilker
Xamarin: Introduction to iOS 8
Xamarin: Introduction to iOS 8
Xamarin
Formacion en movilidad: Conceptos de desarrollo en iOS (III)
Formacion en movilidad: Conceptos de desarrollo en iOS (III)
Mobivery
What's new in iOS 7
What's new in iOS 7
barcelonaio
iOS for ERREST - alternative version
iOS for ERREST - alternative version
WO Community
FrontInBahia 2014: 10 dicas de desempenho para apps mobile híbridas
FrontInBahia 2014: 10 dicas de desempenho para apps mobile híbridas
Loiane Groner
Borrador del blog
Borrador del blog
Sena Cedagro
Javascript MVC & Backbone Tips & Tricks
Javascript MVC & Backbone Tips & Tricks
Hjörtur Hilmarsson
Swift Montevideo Meetup - iPhone, una herramienta medica
Swift Montevideo Meetup - iPhone, una herramienta medica
Washington Miranda
Swift Montevideo Meetup - iPhone, una herramienta medica
Swift Montevideo Meetup - iPhone, una herramienta medica
Washington Miranda
Service Workers
Service Workers
Artur Felipe Sousa
Tdd iPhone For Dummies
Tdd iPhone For Dummies
Giordano Scalzo
Beginning iphone 4_devlopement_chpter7_tab_b
Beginning iphone 4_devlopement_chpter7_tab_b
Jihoon Kong
Semelhante a 20111030i phonedeveloperworkshoppublished
(20)
关于Iap程序类购买使用说明
关于Iap程序类购买使用说明
Turn your spaghetti code into ravioli with JavaScript modules
Turn your spaghetti code into ravioli with JavaScript modules
I os 11
I os 11
JavaScript Promise
JavaScript Promise
Working with AFNetworking
Working with AFNetworking
Unit Testing: Special Cases
Unit Testing: Special Cases
Conceitos e prática no desenvolvimento iOS - Mobile Conf 2014
Conceitos e prática no desenvolvimento iOS - Mobile Conf 2014
Leaving Interface Builder Behind
Leaving Interface Builder Behind
Xamarin: Introduction to iOS 8
Xamarin: Introduction to iOS 8
Formacion en movilidad: Conceptos de desarrollo en iOS (III)
Formacion en movilidad: Conceptos de desarrollo en iOS (III)
What's new in iOS 7
What's new in iOS 7
iOS for ERREST - alternative version
iOS for ERREST - alternative version
FrontInBahia 2014: 10 dicas de desempenho para apps mobile híbridas
FrontInBahia 2014: 10 dicas de desempenho para apps mobile híbridas
Borrador del blog
Borrador del blog
Javascript MVC & Backbone Tips & Tricks
Javascript MVC & Backbone Tips & Tricks
Swift Montevideo Meetup - iPhone, una herramienta medica
Swift Montevideo Meetup - iPhone, una herramienta medica
Swift Montevideo Meetup - iPhone, una herramienta medica
Swift Montevideo Meetup - iPhone, una herramienta medica
Service Workers
Service Workers
Tdd iPhone For Dummies
Tdd iPhone For Dummies
Beginning iphone 4_devlopement_chpter7_tab_b
Beginning iphone 4_devlopement_chpter7_tab_b
Mais de Yoichiro Sakurai
Objective-C/Swift コードの共用
Objective-C/Swift コードの共用
Yoichiro Sakurai
Xcode で gulp を使うお話
Xcode で gulp を使うお話
Yoichiro Sakurai
開発を加速させるRetty式チーム開発術 Reloaded
開発を加速させるRetty式チーム開発術 Reloaded
Yoichiro Sakurai
チームを加速させるRetty式開発術
チームを加速させるRetty式開発術
Yoichiro Sakurai
1人でも頑張れる!Retty式開発環境
1人でも頑張れる!Retty式開発環境
Yoichiro Sakurai
NSInvocationの便利さとハマりどころ
NSInvocationの便利さとハマりどころ
Yoichiro Sakurai
Google admobmediationで広告最適化
Google admobmediationで広告最適化
Yoichiro Sakurai
Crashlyticsでクラッシュ撲滅作戦
Crashlyticsでクラッシュ撲滅作戦
Yoichiro Sakurai
TestFlight自動化でらくらくチームテスト
TestFlight自動化でらくらくチームテスト
Yoichiro Sakurai
20130216 workshop
20130216 workshop
Yoichiro Sakurai
20121028i phonedeveloperworkshop
20121028i phonedeveloperworkshop
Yoichiro Sakurai
20120413 nestakabaneworkshop
20120413 nestakabaneworkshop
Yoichiro Sakurai
20120316 designerworkshoppublished
20120316 designerworkshoppublished
Yoichiro Sakurai
20110424i phonedeveloperworkshoppublish
20110424i phonedeveloperworkshoppublish
Yoichiro Sakurai
Mais de Yoichiro Sakurai
(14)
Objective-C/Swift コードの共用
Objective-C/Swift コードの共用
Xcode で gulp を使うお話
Xcode で gulp を使うお話
開発を加速させるRetty式チーム開発術 Reloaded
開発を加速させるRetty式チーム開発術 Reloaded
チームを加速させるRetty式開発術
チームを加速させるRetty式開発術
1人でも頑張れる!Retty式開発環境
1人でも頑張れる!Retty式開発環境
NSInvocationの便利さとハマりどころ
NSInvocationの便利さとハマりどころ
Google admobmediationで広告最適化
Google admobmediationで広告最適化
Crashlyticsでクラッシュ撲滅作戦
Crashlyticsでクラッシュ撲滅作戦
TestFlight自動化でらくらくチームテスト
TestFlight自動化でらくらくチームテスト
20130216 workshop
20130216 workshop
20121028i phonedeveloperworkshop
20121028i phonedeveloperworkshop
20120413 nestakabaneworkshop
20120413 nestakabaneworkshop
20120316 designerworkshoppublished
20120316 designerworkshoppublished
20110424i phonedeveloperworkshoppublish
20110424i phonedeveloperworkshoppublish
20111030i phonedeveloperworkshoppublished
1.
StoreKit
2011/10/30 saku2saku
2.
3.
4.
5.
6.
7.
8.
9.
10.
- (void)viewDidLoad { !
if ([SKPaymentQueue canMakePayments]) { ! ! ! ! NSSet *itemIdentifiersSet = [NSSet setWithObjects: ! ! ! ! ! ! ! ! ! ITEM_IDENTIFIER_1,ITEM_IDENTIFIER_2, ! ! ! ! ! ! ! ! ! ITEM_IDENTIFIER_3,ITEM_IDENTIFIER_4, ! ! ! ! ! ! ! ! ! ITEM_IDENTIFIER_5, ! ! ! ! ! ! ! ! ! nil]; ! ! SKProductsRequest *request = [[SKProductsRequest alloc] initWithProductIdentifiers:itemIdentifiersSet]; ! ! request.delegate = self; ! ! [request start]; ! } else { ! ! UIAlertView *alertView = [[[UIAlertView alloc] init] autorelease]; ! ! [alertView show]; ! } }
11.
#pragma mark - #pragma
mark SKProductsRequestDelegate - (void) productsRequest:(SKProductsRequest *)request ! didReceiveResponse:(SKProductsResponse *)response { ! for (SKProduct *product in response.products) { ! ! [itemIdentifiers addObject:product]; ! } ! [request autorelease]; ! [loadingView removeFromSuperview]; ! [self.tableView reloadData]; }
12.
observer = [[ProductBuyingObserver
alloc] init]; ! [[SKPaymentQueue defaultQueue] addTransactionObserver:observer]; or ! [[SKPaymentQueue defaultQueue] addTransactionObserver: self];
13.
-
(void) pushBuyButton { ! LOG_DEBUG(@"buy :%@", itemIdentifier); ! SKPayment *payment = [SKPayment paymentWithProductIdentifier:itemIdentifier]; ! [[SKPaymentQueue defaultQueue] addPayment:payment]; }
14.
- (void)paymentQueue:(SKPaymentQueue *)queue
updatedTransactions: (NSArray *)transactions { ! for (SKPaymentTransaction *transaction in transactions) { ! ! switch (transaction.transactionState) { ! ! ! case SKPaymentTransactionStatePurchasing: !// ! ! ! ! break;! ! ! ! ! ! ! case SKPaymentTransactionStatePurchased: ! // ! ! ! ! break; ! ! ! case SKPaymentTransactionStateFailed: ! // ! ! ! ! break; ! ! ! case SKPaymentTransactionStateRestored: ! // ! ! ! ! break; ! ! ! default: ! ! ! ! break; ! ! } ! } }
15.
!
! case 2: ! ! { ! ! ! if ([SKPaymentQueue canMakePayments]) { ! ! ! ! [UIApplication sharedApplication].networkActivityIndicatorVisible = YES; ! ! ! ! [[SKPaymentQueue defaultQueue] restoreCompletedTransactions]; ! ! ! } else { ! ! ! ! UIAlertView *alertView = [[[UIAlertView alloc] init] autorelease]; ! ! ! ! [alertView show]; ! ! ! } ! ! ! break; ! ! }
16.
- (void)paymentQueue:(SKPaymentQueue *)queue
updatedTransactions: (NSArray *)transactions { ! for (SKPaymentTransaction *transaction in transactions) { ! ! switch (transaction.transactionState) { ! ! ! case SKPaymentTransactionStatePurchasing: !// ! ! ! ! break;! ! ! ! ! ! ! case SKPaymentTransactionStatePurchased: ! // ! ! ! ! break; ! ! ! case SKPaymentTransactionStateFailed: ! // ! ! ! ! break; ! ! ! case SKPaymentTransactionStateRestored: ! // ! ! ! ! break; ! ! ! default: ! ! ! ! break; ! ! } ! } }
17.
- (void) paymentQueueRestoreCompletedTransactionsFinished:
(SKPaymentQueue *) queue { ! [UIApplication sharedApplication].networkActivityIndicatorVisible = NO; ! [alertView show]; ! LOG_DEBUG(@"method called!"); } - (void) paymentQueue:(SKPaymentQueue *)queue restoreCompletedTransactionsFailedWithError:(NSError *) error { ! [UIApplication sharedApplication].networkActivityIndicatorVisible = NO; ! [alertView show]; ! LOG_DEBUG(@"method called!"); }
18.
19.
{ ! "signature" =
"AkWUo "; ! "purchase-info" = "ewoJI "; ! "environment" = "Sandbox"; ! "pod" = "100"; ! "signing-status" = "0"; }
20.
{ !
"item-id" = "471702051"; ! "original-transaction-id" = "1000000010942512"; ! "purchase-date" = "2011-10-23 07:15:02 Etc/GMT"; ! "product-id" = "com.comitter.sampleapp.sample3"; ! "transaction-id" = "1000000010942512"; ! "quantity" = "1"; ! "original-purchase-date" = "2011-10-23 07:15:02 Etc/GMT"; ! "bid" = "com.comitter.sample2"; ! "bvrs" = "1.0"; }
Baixar agora