2015년 2월 2일 월요일

iOS 팁 여러개( sqlite, html, adhoc distribute, NSNotificationCenter, UIColor rgb

sqlite 테이블 리스트 보기

select name from sqllite_master where type ='table';

html text를 lalbel에 보이게 하려면

NSString *htmlString =[NSString stringWithFormat:@"%@", [[self.arrMessageData objectAtIndex:indexPath.row] objectAtIndex:indexOfMessage]];
    NSAttributedString *attributedString = [[NSAttributedString alloc] initWithData:[htmlString dataUsingEncoding:NSUnicodeStringEncoding] options:@{ NSDocumentTypeDocumentAttribute: NSHTMLTextDocumentType } documentAttributes:nil error:nil];
   cell.messageLabel.attributedText = attributedString;

html을 일반 plain text로 변경 하려면

- (NSString *)flattenHTML:(NSString *)html {
 
    NSScanner *theScanner;
    NSString *text = nil;
    theScanner = [NSScanner scannerWithString:html];
 
    while ([theScanner isAtEnd] == NO) {
     
        [theScanner scanUpToString:@"<" intoString:NULL] ;
     
        [theScanner scanUpToString:@">" intoString:&text] ;
     
        html = [html stringByReplacingOccurrencesOfString:[NSString stringWithFormat:@"%@>", text] withString:@""];
    }
 
    html = [html stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacterSet]];
 
    return html;
}


adhoc 배포

http://blog.saltfactory.net/242

드랍박스에 디렉토리를 만들고
거기에 ipa 파일  아카이브 할때 adhoc으로 한다.
물론 이에 필요한 provisioning이 필요 하다.
이렇게 해서 생성한 ipa파일과
.plist 파일이 필요 하다.

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>items</key>
<array>
<dict>
<key>assets</key>
<array>
<dict>
<key>kind</key>
<string>software-package</string>
<key>url</key>
<string>https://드랍박스 .ipa링크를 생성해서 붙인다.</string>
</dict>
</array>
<key>metadata</key>
<dict>
<key>bundle-identifier</key>
<string>com.ssomon.InaschoolTeacher</string>
<key>bundle-version</key>
<string>1.0</string>
<key>kind</key>
<string>software</string>
<key>title</key>
<string>InaschoolTeacher</string>
</dict>
</dict>
</array>
</dict>
</plist>



<a href="itms-services://?action=download-manifest&url=드랍박스 plist의 링크를 붙여서 html
파일을 만든다.
www.ropbox.com -> dl.dropboxusercontent.com 으로 변경 한다.







객체간 자료 전송 

http://blog.naver.com/iss6388/10183297308
--> 노티가 왓을때 다른 viewController에게 알리는 코드를 응용 할수 있다.
NSNotificationCenter postNotificationName으로 전송 (NSDictionary를 전송하고)

이를 다른 ViewController에서 받아서 처리 하도록 한다.

전송 예제
    [[NSNotificationCenter defaultCenter]
     postNotificationName:@"UIApplicationDidReceiveRemoteNotification"
     object:self

     userInfo:nil];

받는곳
viewDidLoad에서 등록
    [[NSNotificationCenter defaultCenter]
     addObserver:self
     selector:@selector(didReceiveRemoteNotification:)
     name:@"UIApplicationDidReceiveRemoteNotification"
     object:nil];

viewDidUnload에서 해제
    [[NSNotificationCenter defaultCenter]
     removeObserver:self
     name:@"UIApplicationDidReceiveRemoteNotification"
     object:nil];

이렇게 하면 UiApplicationDidReceiveRemoteNotification이 호출 된다.


rgb 칼라를 UICrolro 매크로

http://winplz.tistory.com/entry/UIColor-간단히-Macro로-사용하기
#define RGB(r, g, b) [UIColor colorWithRed:r/255.0 green:g/255.0 blue:b/255.0 alpha:1]

cell.textLabel.textColor = RGB(0x60,0x60,0x60);


댓글 없음: