2016-09-19 54 views
0

我在應用程序中使用JSONStore來存儲一些敏感數據。要加密收藏,我們正在傳遞帶有用戶名和密碼的選項,如下所述。在android到目前爲止它的工作正常,但在ios設備中,我們正在從集合中檢索數據時獲得空白頁(在模擬器中正常工作)。我也沒有得到任何錯誤。沒有在iOS中傳遞選項,它的工作正常。有人遇到過類似的問題嗎?Worklight JSON商店加密集合在ios中不工作

factory('todoJsonStorage',['$q', function ($q) { 
'use strict'; 

var COLLECTION_NAME = 'Users'; 
var collections = { 
     Users: { 
      searchFields: {UserId: 'string', password: 'string'} 
     }, 
    }; 
var options = {}; 

//Optional username 
options.username = 'testuser'; 
//Optional password 
options.password = 'test123'; 

//Optional local key generation flag 
options.localKeyGen = true; 

var inited = false; 

//checks if inited and if not inits 
function initJSONStore(){ 
    var initDeferred = $q.defer(); 
    if (inited){ 
     initDeferred.resolve(); 
    } else { 
     //Initialize the collection 
     WL.JSONStore.init(collections,options).then(function() { 
      console.log("-> JSONStore init successful"); 
      initDeferred.resolve(); 
     }).fail(function (errorObject) { 
      console.log("-> JSONStore error: " + errorObject.msg); 
     }); 

     return initDeferred.promise; 
    }; 
} 

return { 
    get: function() { 
     var deferred = $q.defer(); 
     initJSONStore().then(function(){ 
      WL.JSONStore.get(COLLECTION_NAME).findAll().then(function (res) { 
       if (res.length > 0){ 
        deferred.resolve(JSON.parse(res[0].json.data || '[]')); 
       } else { 
         deferred.resolve(res);     
         } 

      }).fail(function (errorObject) { 
       console.log("JSONStore findbyid error: " + errorObject.msg); 
      }); 
     }); 
     return deferred.promise; 
    }, 

    put: function (todos) { 
     WL.JSONStore.get(COLLECTION_NAME).clear(); 
     WL.JSONStore.get(COLLECTION_NAME).add({data:JSON.stringify(todos)}); 
    } 
}; 

}]) 

回答

0

如果您使用的是iOS 10,則必須啓用鑰匙串共享功能,否則這應該是開箱即用的。

+0

謝謝阿達爾。但是我們測試了ios版本小於10,即使我在檢索json商店時也得到空白頁面。 – Abinaya

+0

嗨伊丹,我們正在使用IBM 7.1.0.00-20151023-1441版本,同時在ios中傳遞密碼選項,我們得到以下錯誤,獲取方法調用(控制檯通過logger.js,行175) [日誌] get method called(console-via-logger.js,line 175) [日誌] - > JSONStore init成功(console-via-logger.js,第175行) [日誌] - > JSONStore錯誤:PROVISION_TABLE_SEARCH_FIELDS_MISMATCH控制檯通過-logger.js,線175) [登錄] JSONStore findbyid錯誤:PERSISTENT_STORE_NOT_OPEN(控制檯通過-logger.js,線175) 請幫助 – Abinaya

+0

請隨意打開一個PMR使O支持可能幫你。 –