這個只需要做兩件事情
1. 修改 info.plist
有兩個方法,可以達到一樣的效果,簡單的,在 7.3.1 上,選擇專案的 info 欄位(應該會在 build settings 旁邊),新增一個type,名字任意取,比如說叫做 "data files",然後把你想支援系統型態放進去,如果想支援所有檔案,可以用 public.data, public.content,其他形態,可以參考 Apple Development 文件:
如果需要更瞭解 document type 的話,可以參考底下
https://developer.apple.com/library/ios/qa/qa1587/_index.html
複雜的話,我們就需要直接去編輯 info.plist,增加一個欄位 "Document types" Array, 裡面的 Item0 設定成 dictionary,裡面有三個欄位
CFBundleTypeIconFiles : 留空的
Document Type Name : 隨便設
Document Content Type UTIs : Array,把你想要的 type 加進去
複雜的話,我們就需要直接去編輯 info.plist,增加一個欄位 "Document types" Array, 裡面的 Item0 設定成 dictionary,裡面有三個欄位
CFBundleTypeIconFiles : 留空的
Document Type Name : 隨便設
Document Content Type UTIs : Array,把你想要的 type 加進去
2. 增加處理 URL 的 code
在 appDelegate.m 裡面,加一個函數
在 appDelegate.m 裡面,加一個函數
- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation {
return YES;
}
在被 open in 的時候,這個函數就會被呼叫到。從其他 App 傳過來的 URL 裡面,如果 URL 是 file:// 開頭的,就是一個檔案,用檔案的方式處理。也有其他的 URL 格式。另外,如果有客制的 URL,比如說 flashlight,那使用 flashlight:// 開啟的時候,url 就會是 flashlight:// 。要小心的處理例外問題。
----------------------------------------------------------------------------------------------------------------------
接下來,我們可以增加客製化的 url type 了,也就是可以支援,從 browser 上輸入 xxxx:// 來叫 app 起來的動作。增加方式也是去改 info.plist,改法也有兩種
1. 用 GUI 增加
2. 直接編輯 info.plist
1. 用 GUI 增加:
在 7.3.1 上,選擇專案的 info 欄位(應該會在 build settings 旁邊),展開底下的 URL Type,增加一組
圖片:不用
Identifier : com.xxxx.yyyy 你的 App 名字
URL Scheme : your url name, for uuu://
Role : Editor
2. 直接編輯 info.plist
增加一個 Array 欄位
----------------------------------------------------------------------------------------------------------------------
接下來,我們可以增加客製化的 url type 了,也就是可以支援,從 browser 上輸入 xxxx:// 來叫 app 起來的動作。增加方式也是去改 info.plist,改法也有兩種
1. 用 GUI 增加
2. 直接編輯 info.plist
1. 用 GUI 增加:
在 7.3.1 上,選擇專案的 info 欄位(應該會在 build settings 旁邊),展開底下的 URL Type,增加一組
圖片:不用
Identifier : com.xxxx.yyyy 你的 App 名字
URL Scheme : your url name, for uuu://
Role : Editor
2. 直接編輯 info.plist
增加一個 Array 欄位