ラベル iPhone の投稿を表示しています。 すべての投稿を表示
ラベル iPhone の投稿を表示しています。 すべての投稿を表示

2011年11月18日金曜日

iOS5で「gloss effect」を無効にする方法

iOS5になってアイコンの「gloss effect」が消せなくなったなっと思ったら、
他のアプリのアイコンは光沢が入ってない。

調べてみたら、iOS5からオプションが増えたらしい。


これで「gloss effect」が消える。


2011年4月14日木曜日

iPhoneとAndroidのURL Scheme起動設定方法

From Evernote:

iPhoneとAndroidのURL Scheme起動設定方法

iPhoneとAndroidのURL Scheme起動設定方法
ブラウザのリンクからアプリを起動する方法。
(及び他アプリからURL Schemeで起動する事も可能)


iPhone


<a href="babukuma:">アプリ起動</a>
のリンクで起動できる。パラメータを渡すのも可能。

<a href="babukuma:?a=1&b=2">アプリ起動</a>
<a href="babukuma://com.babukuma.demo.urlscheme/?a=1&b=2">アプリ起動</a>

起動時のデリゲート
iOS4.1までは
- (BOOL)application:(UIApplication *)application handleOpenURL:(NSURL *)url
このデリゲートが呼ばれたが、
iOS4.2からは次のデリゲートが追加された。
- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation

両方実装すると
- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation
このデリゲートが優先される。

簡単な例は。。。
- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation
{
    NSLog(@"url=%@, sourceApplication=%@", [url absoluteString], sourceApplication); 
    returnYES;
}



Android

AndroidManifest.xml


<a href="abukuma://com.babukuma.demo.urlscheme">アプリ起動</a>
リンクで起動できる。パラメータを渡すのも可能。


<a href="babukuma://com.babukuma.demo.urlscheme/?a=1&b=2">アプリ起動</a>

パラメータ以外もPath、Port指定も可能。




ブラウザからアプリを起動する為のHTMLサンプル

ブラウザからアプリを起動するのは簡単にできるか、
ユーザがアプリを先にインストールしないブラウザでエラーページが表示されてしまう。
アプリがインストールされている場合はアプリを起動し、
インストールされてない場合はダウンロード先へ移動させたい。

参照したサイトのURLは忘れたけど、どこか外国のiPhone開発QAサイトでヒントを見つけて一応解決。



2010年8月30日月曜日

[iPhone] UIWebViewのリンクからSafariを開く方法

UIWebViewのリンクからSafariを開く方法

参照:

UIWebViewDelegateを利用する。

Interface BuilderでUIWebViewのdelegateを設定する。


以下のコードを追加
// リンクをクリック時、Safariを起動する為の処理
- (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType {
if (navigationType == UIWebViewNavigationTypeLinkClicked) {
NSLog(@"URL = %@", [[request URL] absoluteString]);
[[UIApplication sharedApplication] openURL:[request URL]];
return NO;
}

return YES;
}


以下はソース全体
WebViewTestAppDelegate.h
//
// WebViewTestAppDelegate.h
// WebViewTest
//
// Created by BABUKUMA on 10/08/30.
// Copyright babukuma.com 2010. All rights reserved.
//

#import <UIKit/UIKit.h>

@interface WebViewTestAppDelegate : NSObject <UIApplicationDelegate> {
UIWindow *window;
IBOutlet UIWebView *webView;
}

@property (nonatomic, retain) IBOutlet UIWindow *window;

@end


WebViewTestAppDelegate.m
//
// WebViewTestAppDelegate.m
// WebViewTest
//
// Created by BABUKUMA on 10/08/30.
// Copyright babukuma.com 2010. All rights reserved.
//

#import "WebViewTestAppDelegate.h"

@implementation WebViewTestAppDelegate

@synthesize window;


#pragma mark -
#pragma mark Application lifecycle

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {

// Override point for customization after application launch.

[window makeKeyAndVisible];

// WebViewの初期表示
NSLog(@"BABUKUMA : WebViewの初期表示");
NSURL *url = [NSURL URLWithString:@"http://babukuma.com"];
NSURLRequest *request = [NSURLRequest requestWithURL:url];
[webView loadRequest: request];

return YES;
}

// リンクをクリック時、Safariを起動する為の処理
- (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType {
if (navigationType == UIWebViewNavigationTypeLinkClicked) {
NSLog(@"URL = %@", [[request URL] absoluteString]);
[[UIApplication sharedApplication] openURL:[request URL]];
return NO;
}

return YES;
}


- (void)applicationWillResignActive:(UIApplication *)application {
}


- (void)applicationDidEnterBackground:(UIApplication *)application {
}


- (void)applicationWillEnterForeground:(UIApplication *)application {
}


- (void)applicationDidBecomeActive:(UIApplication *)application {
}


- (void)applicationWillTerminate:(UIApplication *)application {
}


#pragma mark -
#pragma mark Memory management

- (void)applicationDidReceiveMemoryWarning:(UIApplication *)application {
}


- (void)dealloc {
[window release];
[super dealloc];
}


@end

[iPhone] UIWebView의 링크를Safari로 열기

UIWebView의 링크를 Safari로 열기

참고링크:

결론은 UIWebViewDelegate를 이용한다.

Interface Builder에서 UIWebView의 delegate를 설정하고,


다음의 코드를 추가한다.
// 링크를 클릭했을 때, Safari를 열기위한 처리.
- (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType {
if (navigationType == UIWebViewNavigationTypeLinkClicked) {
NSLog(@"URL = %@", [[request URL] absoluteString]);
[[UIApplication sharedApplication] openURL:[request URL]];
return NO;
}

return YES;
}


테스트시 사용한 전체 코드
WebViewTestAppDelegate.h
//
// WebViewTestAppDelegate.h
// WebViewTest
//
// Created by BABUKUMA on 10/08/30.
// Copyright babukuma.com 2010. All rights reserved.
//

#import <UIKit/UIKit.h>

@interface WebViewTestAppDelegate : NSObject <UIApplicationDelegate> {
UIWindow *window;
IBOutlet UIWebView *webView;
}

@property (nonatomic, retain) IBOutlet UIWindow *window;

@end


WebViewTestAppDelegate.m
//
// WebViewTestAppDelegate.m
// WebViewTest
//
// Created by BABUKUMA on 10/08/30.
// Copyright babukuma.com 2010. All rights reserved.
//

#import "WebViewTestAppDelegate.h"

@implementation WebViewTestAppDelegate

@synthesize window;


#pragma mark -
#pragma mark Application lifecycle

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {

// Override point for customization after application launch.

[window makeKeyAndVisible];

// WebViewの初期表示
NSLog(@"BABUKUMA : WebViewの初期表示");
NSURL *url = [NSURL URLWithString:@"http://babukuma.com"];
NSURLRequest *request = [NSURLRequest requestWithURL:url];
[webView loadRequest: request];

return YES;
}

// リンクをクリック時、Safariを起動する為の処理
- (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType {
if (navigationType == UIWebViewNavigationTypeLinkClicked) {
NSLog(@"URL = %@", [[request URL] absoluteString]);
[[UIApplication sharedApplication] openURL:[request URL]];
return NO;
}

return YES;
}


- (void)applicationWillResignActive:(UIApplication *)application {
}


- (void)applicationDidEnterBackground:(UIApplication *)application {
}


- (void)applicationWillEnterForeground:(UIApplication *)application {
}


- (void)applicationDidBecomeActive:(UIApplication *)application {
}


- (void)applicationWillTerminate:(UIApplication *)application {
}


#pragma mark -
#pragma mark Memory management

- (void)applicationDidReceiveMemoryWarning:(UIApplication *)application {
}


- (void)dealloc {
[window release];
[super dealloc];
}


@end