A. 如何連接sqlite資料庫,使用swift-CSDN論壇
一般就2種方式,一種sqlite直接連,然後操作;另外就是coredata,類似於java的hibernate框架,把一些操作封裝起來了。
比較起來sqlite比較靈活,coredata維護起來很好,而且結構清晰,蘋果一直在推的東西,我們的項目就是用coredata,有一些問題,也都能解決。
B. Swift 許可權判斷
APP開發避免不開系統許可權的問題,如何在APP以更加友好的方式向用戶展示系統許可權,似乎也是開發過程中值得深思的一件事;在iOS 10下 ,首次進入應用時,會有詢問是否允許網路連接許可權的的彈窗,為更好進行用戶交互,需要在打開應用時獲取應用禁用網路許可權狀態(狀態分為:未知、限制網路、未限制網路),客戶端根據不同的許可權狀態定製相應的人機交互。
那如何提高APP獲取iOS系統許可權的通過率呢?有以下幾種方式:
1.在用戶打開APP時就向用戶請求許可權;
2.告知用戶授權許可權後能夠獲得好處之後,再向用戶請求許可權;
3.在絕對必要的情況下才向用戶請求許可權,例如:用戶訪問照片庫時請求訪問系統相冊許可權;
4.在展示系統許可權的對話框前,先向用戶顯示自定義的對話框,若用戶選擇不允許,默認無操作,若用戶選擇允許,再展示系統對話框。
下面來點干貨吧.
這里羅列一些基本的許可權申請處理.
1、媒體資料庫/Apple Music許可權
2、聯網許可權
3、相機許可權
4、相冊許可權
5、麥克風許可權
6、定位許可權
7、通知許可權
8、運動與健身
9、通訊錄許可權
10、Siri 許可權
11、語音轉文字許可權
12、提醒事項
13、日歷
14、FaceID或者TouchID 認證
15、健康
16、家庭、住宅數據
17、系統設置
18、微信、QQ
具體的使用如下:
info.plist 文件添加使用說明即可
舉個使用例子:
推送許可權判斷
使用方法都是如此.
具體的使用方法查看 Demo 即可.
C. swift 獲取當前是wifi還是移動網路
1,Reachability.swift 是一個使用Swift寫的第三方網路檢測類。
可以測試網路是否連接,並支持3G和Wifi的檢測。
D. ios app 使用 swift 怎麼連接到資料庫啊 比如mysql
github上有第三方實現的,連接mysql的,但是沒試過能不能用。
我個人覺得,這種鏈接既不安全,也沒能體現什麼好處,更增加了客戶端很多解析數據的負擔
E. swift支持哪些資料庫
iOS支持sqlite3,macOS/linux上的Swift則能夠支持絕大多資料庫(需要第三方函數庫),包括mysql/mariadb/postgresql/redis/couchdb等等等等,基本上都有,到github上搜索即可。
F. swift網路請求
swift同樣可以實現OC中AFNetworking+MJExtension的效果,實現方法是Alamofire+SwiftyJSON+HandyJSON
Alamofire:網路請求
SwiftyJSON:數據解析
HandyJSON:映射為model
節約系統開支不用每次網路請求都生成一個SessionManager子類對象
新建model類
使用方法
可以看到網路請求成功之後返回了一個數組,數組內是自定義數據類型
HandyJSON用於數據映射時注意
2.重命名屬性時實現方法
3.映射為model類和映射為model數組的用法分別為
Demo地址
https://github.com/jigang/SwiftNetDemo
G. swift 怎麼檢查網路可用
通常都是使用Reachability來檢查網路狀態的,可以順利獲取到機子是wifi還是3G網路,此庫區分網路連接的時候只是簡單的查看有沒有ip地址,這就造成了連上wifi,但是wifi上不了網的情況下,依然返回網路可連接的結果,這是很蛋疼的!
檢測網路是否連接,可以使用NSURLRequest簡單的判斷下,以下是方法,基於Swift 2.0的
H. 怎麼調用swift code網站的資料庫
先下載swifthttp,然後將他的xcodeproj的文件拖到項目中。然後選擇項目。選擇general下面的embedded binaries增加swifthttp.frameworkios。
然後就可以了。說明這個swifthttp已經此用到項目中了。
然後我們使用就可以了。但是在使用的地方,需要引用一下。
@IBAction func httppost(sender: AnyObject) {
do {
let opt =tryHTTP.GET("http://115.29.190.170:7777/WebService1.asmx/GetCar_Type_List?password=。。。。。")
opt.start { response in
if let err = response.error {
print("error: \(err.localizedDescription)")
return
}
print("獲取到數據: \(response.description)")
}
} catch let error {
print("請求失敗: \(error)")
}
}
在使用前使用:import SwiftHTTP
這時就可以了。但是ios9可能加了一些安全認證的東西。會出現錯誤提示:
The resource could not be loaded because the App Transport Security policy requires the use of a secure connection.
大概的意思就是http不能用。要使用https,所以我們還需要對系統設置一下。網上說的是:
在Info.plist中添加NSAppTransportSecurity類型Dictionary。
在NSAppTransportSecurity
下添加NSAllowsArbitraryLoads類型Boolean,值設為YES
而我測試的。好象不行。查了一些資料,顯示的是在項目裡面。也就是:
XCODE,點project圖標,在info選項卡里再加一遍,不是直接修改plist文件,而是在info選項卡(就是general、build setting...那個地方)里再增加一遍就好了!
增加之後。顯示的不太一樣,我的系統顯示的是:
App Transport Security Settings 類型Dictionary。
在他下面子項:Allow Arbitrary Loads 類型是:boolean,yes
這時系統就可以取到數據了。