2015/07/02

お手伝いさせていただいたJames Apple Watchアプリの紹介です




東京(世田谷区、港区)で利用できるコンシェルジュサービスです。
実装自体はWatch OS 1 × Swiftです。

ライトプラン月額1万円で調べ物や報告などしてくれます。
プレミアムプラン月額25万円なら、あなたのしたい、あらゆることを実現してくれます(※専任の執事が人力で。ドローンでの配達などの実証実験などもやられてますが、実現はまだ未来の話)

Watchアプリからいつでも依頼を確認、スタンプ送信や、音声依頼をお願いすることなどできますよ。
まだまだ富裕層の方向けのサービスかと思いますが、一万円でも簡単な調査(渋谷近辺で3~5,000円位で和食か洋食でビジネスランチできるところを調査。個室で静かなお店が希望とか、鼻と小鼻の皮脂でテカリとお化粧崩れしにくい効果のある化粧下地などを調査など)など何でも調査してくれます。

近辺にお住みの方は是非検討してみてください。
https://yourjam.es/

2015/07/01

Swiftでリンク検出(標準APIで検出する場合とカスタムクラスの2パターン)

実現方法

①正規表現書かなくていい場合
NSDataDetectorでリンク検出
let msg:NSString = "http://hoge.com"
let dataDetector =  NSDataDetector(types:NSTextCheckingType.Link.rawValue, error: nil)

let resultArray:NSArray = dataDetector?.matchesInString(msg as String!, options: nil, range: NSMakeRange(0, msg.length)) as NSArray!

for result in resultArray {
    if result.resultType == NSTextCheckingType.Link {
        var url:NSURL! = result.URL!
        linkExist = true
    }
}
②自前で用意する場合
class Regex {
    let internalExpression: NSRegularExpression
    let pattern: String

    init(_ pattern: String) {
        self.pattern = pattern
        var error: NSError?
        self.internalExpression = NSRegularExpression(pattern: pattern, options: .CaseInsensitive, error: &error)!
    }

    func test(input: String) -> Bool {
        let matches = self.internalExpression.matchesInString(input, options: nil, range:NSMakeRange(0, count(input)))
        return matches.count > 0
    }
}

if Regex("^https?://.*").test("http://hoge.com") {  
    // linkExist
}

参考