剛接觸這一塊我也是一臉懵逼年扩,手足無措了好幾個時辰寇损。好了說正題:
第一個:關于自動登錄缚够。由原生app登錄web網(wǎng)頁谒获,在一定時間內可以不用輸入密碼登錄平挑,而是直接登錄到web網(wǎng)頁中安拟。而實現(xiàn)這一功能癞志,服務端需要識別用戶的身份锣笨,而cookie值是用來標識用戶身份的驻啤。
說到cookie值菲驴,我想有必要提一下jssessionid。從網(wǎng)上查詢得知這個jssessionid是可以通過第一次登錄網(wǎng)頁獲取的(目前我并沒有驗證要怎么獲绕锶摺)赊瞬,但我們后臺為了給我們減輕負擔,所以寫了一個接口贼涩,替我們拿到jssessionid巧涧,給我們移動端返回,我們本地保存cookie的時候有用遥倦。
加載web之前谤绳,保存cookie值,保存cookie值之前需要清除上次保存的cookie袒哥;
做好了這些工作之后我們聊一聊與js的交互工作:
首先js如何調用oc的方法缩筛,這里就要說到ios7才推出的一個新的api? ? JavaScriptCore,首先我們引入這個類统诺,并初始化一個JSContext對象歪脏。
初始化JSContext對象之后,我們通過一個model告訴web端要調用我們的哪個方法粮呢,方法名叫什么婿失,以及如何傳值的钞艇。
首先解釋一下JavaScriptObjectiveCDelegate這個類似我們平時繼承自NSObject的代理,和平時用到的代理不同的是它繼承自JSExport豪硅,可以不用設置delegate屬性哩照,不用實現(xiàn)代理方法。因為我們需要在model類的.m里面實現(xiàn)這些所謂的代理方法懒浮。
比如原生與web交互飘弧,調起本地相冊的:
其中goCamera就是你們和h5約定好的事件方法,當用戶點擊web端的相冊按鈕的時候砚著,就能調到這個goCamera這個方法次伶。然后我們iOS原生app這邊可以通過delegate或監(jiān)聽等方式,進行我們這邊的調起相冊操作稽穆。
至此冠王,基本的用法我就是這么寫的了,第一次寫簡書舌镶,如果什么不到位的柱彻,歡迎各位大神指教,謝謝餐胀!