forcedotcom / SalesforceMobileSDK-iOS

iOS SDK for Salesforce
Other
538 stars 421 forks source link

AccountEditor : App is not displayed properly in iOS 8 #738

Closed AltiusRupert closed 10 years ago

AltiusRupert commented 10 years ago

In iOS simulator (iPhone 4s, iOS 7.1), when AccountEditor is offline, I can create an account but it will not save.

gauravkheterpal commented 10 years ago

The AccountEditor app does not work at all on my iOS8 device - even if I am online. On starting up, it simply shows a blank screen that I've attached and the logs show

ios simulator screen shot 23-sep-2014 3 21 44 pm

2014-09-23 15:28:50:230 AccountEditor[22871:607] DEBUG|SFHybridViewController|webView:shouldStartLoadWithRequest: Loading URL 'about:blank' 2014-09-23 15:28:50:230 AccountEditor[22871:607] DEBUG|SFHybridViewController|webView:shouldStartLoadWithRequest: Loading URL 'gap://ready' 2014-09-23 15:28:50:231 AccountEditor[22871:607] DEBUG|SalesforceOAuthPlugin|getAuthCredentials: arguments: ( "pluginSDKVersion:2.3.0" ) 2014-09-23 15:28:50:231 AccountEditor[22871:607] DEBUG|SalesforceOAuthPlugin|getAuthCredentials jsVersion:2.3.0 2014-09-23 15:28:50:231 AccountEditor[22871:607] DEBUG|SalesforceOAuthPlugin|authenticate:getCachedCredentials: 2014-09-23 15:28:50:238 AccountEditor[22871:607] DEBUG|SalesforceOAuthPlugin|authenticationCompletion: Authentication flow succeeded. Initiating post-auth configuration. 2014-09-23 15:28:50.259 AccountEditor[22871:1381561] THREAD WARNING: ['com.salesforce.oauth'] took '27.699951' ms. Plugin should use a background thread. 2014-09-23 15:28:50:259 AccountEditor[22871:607] DEBUG|SFHybridViewController|webView:shouldStartLoadWithRequest: Loading URL 'gap://ready' 2014-09-23 15:28:50:260 AccountEditor[22871:607] DEBUG|SFSmartStorePlugin|SFSmartStorePlugin initWithWebView 2014-09-23 15:28:50:271 AccountEditor[22871:607] DEBUG|SFSmartStore|SFSmartStore initWithName: defaultStore, user: 00D90000000yE8wEAE-00590000002sCNn-(null) 2014-09-23 15:28:50:271 AccountEditor[22871:607] INFO|SFSmartStoreUpgrade|Migrating stores from legacy locations, where necessary. 2014-09-23 15:28:50:272 AccountEditor[22871:607] INFO|SFSmartStoreUpgrade|Legacy SmartStore directory does not exist. Nothing to do. 2014-09-23 15:28:50:272 AccountEditor[22871:607] INFO|SFSmartStoreUpgrade|No legacy stores to migrate. 2014-09-23 15:28:50:272 AccountEditor[22871:607] INFO|SFSmartStoreUpgrade|Updating encryption method for all stores, where necessary. 2014-09-23 15:28:50:273 AccountEditor[22871:607] INFO|SFSmartStoreUpgrade|Number of stores to update: 1 2014-09-23 15:28:50:274 AccountEditor[22871:607] INFO|SFSmartStoreUpgrade|Store 'defaultStore' is already using the current encryption scheme. Skipping. 2014-09-23 15:28:50:289 AccountEditor[22871:607] DEBUG|SFSmartStore|createLongOperationsStatusTableSql: CREATE TABLE IF NOT EXISTS long_operations_status (id INTEGER PRIMARY KEY AUTOINCREMENT, type TEXT, details TEXT, status TEXT, created INTEGER, lastModified INTEGER ) 2014-09-23 15:28:50:320 AccountEditor[22871:607] DEBUG|SFSmartStorePlugin|pgRegisterSoup jsVersion:2.3.0 2014-09-23 15:28:50:320 AccountEditor[22871:607] DEBUG|SFSmartStorePlugin|pgRegisterSoup called. 2014-09-23 15:28:50:321 AccountEditor[22871:607] DEBUG|SFSmartStorePlugin|pgRegisterSoup with name: accounts, indexSpecs: ( "<SFSoupIndex: 0x7ff988c5ed60>", "<SFSoupIndex: 0x7ff988c62050>", "<SFSoupIndex: 0x7ff988c62070>" ) 2014-09-23 15:28:50:321 AccountEditor[22871:607] DEBUG|SFSmartStorePlugin|pgRegisterSoup returning after 0.000842 secs. 2014-09-23 15:28:50:322 AccountEditor[22871:607] DEBUG|SFSmartStorePlugin|pgRegisterSoup jsVersion:2.3.0 2014-09-23 15:28:50:322 AccountEditor[22871:607] DEBUG|SFSmartStorePlugin|pgRegisterSoup called. 2014-09-23 15:28:50:322 AccountEditor[22871:607] DEBUG|SFSmartStorePlugin|pgRegisterSoup with name: original-accounts, indexSpecs: ( "<SFSoupIndex: 0x7ff988c25280>", "<SFSoupIndex: 0x7ff988c24df0>" ) 2014-09-23 15:28:50:322 AccountEditor[22871:607] DEBUG|SFSmartStorePlugin|pgRegisterSoup returning after 0.000401 secs. 2014-09-23 15:28:50.351 AccountEditor[22871:1381561] THREAD WARNING: ['com.salesforce.smartstore'] took '29.521973' ms. Plugin should use a background thread. 2014-09-23 15:29:00:129 AccountEditor[22871:607] DEBUG|SFHybridViewController|webView:shouldStartLoadWithRequest: Loading URL 'gap://ready' 2014-09-23 15:29:00:130 AccountEditor[22871:607] DEBUG|SFSmartStorePlugin|pgRunSmartQuery jsVersion:2.3.0 2014-09-23 15:29:00:130 AccountEditor[22871:607] DEBUG|SFSmartStorePlugin|pgRunSmartQuery called. 2014-09-23 15:29:00:132 AccountEditor[22871:607] DEBUG|SFSmartStorePlugin|pgQuerySoup with name: (null), querySpec: { beginKey = ""; endKey = ""; likeKey = ""; matchKey = ""; order = ascending; pageSize = 10; queryType = smart; smartSql = "SELECT {accounts:_soup} FROM {accounts} WHERE {accounts:Id} IN ('')"; } 2014-09-23 15:29:00:132 AccountEditor[22871:607] DEBUG|SFSmartStore|countWithQuerySpec: querySpec:<SFSoupQuerySpec: 0x7ff988c59e40> { queryType:"16" smartSql:"SELECT {accounts:_soup} FROM {accounts} WHERE {accounts:Id} IN ('')" pageSize: 10}

2014-09-23 15:29:00:132 AccountEditor[22871:607] DEBUG|SFSmartStore|convertSmartSQl:SELECT count() FROM {accounts} WHERE {accounts:Id} IN ('') 2014-09-23 15:29:00:133 AccountEditor[22871:607] DEBUG|SFSmartStore|convertSmartSql:putting SELECT count() FROM TABLE_1 WHERE TABLE_1_0 IN ('') in cache 2014-09-23 15:29:00:133 AccountEditor[22871:607] DEBUG|SFSmartStore|countWithQuerySpec: countSql:SELECT count(*) FROM TABLE_1 WHERE TABLE_1_0 IN ('')

2014-09-23 15:29:00:133 AccountEditor[22871:607] DEBUG|SFSmartStorePlugin|pgRunSmartQuery returning after 0.003286 secs. 2014-09-23 15:29:00:134 AccountEditor[22871:607] DEBUG|SFHybridViewController|webView:shouldStartLoadWithRequest: Loading URL 'gap://ready' 2014-09-23 15:29:00:135 AccountEditor[22871:607] DEBUG|SFSmartStorePlugin|pgCloseCursor jsVersion:2.3.0 2014-09-23 15:29:00:135 AccountEditor[22871:607] DEBUG|SFSmartStorePlugin|pgCloseCursor called. 2014-09-23 15:29:00:135 AccountEditor[22871:607] DEBUG|SFSmartStorePlugin|pgCloseCursor with cursor ID: 0x7ff988c67b10 2014-09-23 15:29:00:135 AccountEditor[22871:607] DEBUG|SFStoreCursor|closing cursor id: 0x7ff988c67b10 2014-09-23 15:29:00:135 AccountEditor[22871:607] DEBUG|SFSmartStorePlugin|pgCloseCursor returning after 0.000127 secs. 2014-09-23 15:29:00:135 AccountEditor[22871:607] DEBUG|SFHybridViewController|webView:shouldStartLoadWithRequest: Loading URL 'gap://ready' 2014-09-23 15:29:00:136 AccountEditor[22871:607] DEBUG|SFSmartStorePlugin|pgUpsertSoupEntries jsVersion:2.3.0 2014-09-23 15:29:00:136 AccountEditor[22871:607] DEBUG|SFSmartStorePlugin|pgUpsertSoupEntries called. 2014-09-23 15:29:00:136 AccountEditor[22871:607] DEBUG|SFSmartStorePlugin|pgUpsertSoupEntries with soup name: accounts, external ID path: Id 2014-09-23 15:29:00:136 AccountEditor[22871:607] DEBUG|SFSmartStore|indices sql: SELECT path,columnName,columnType FROM soup_index_map WHERE soupName = ? 2014-09-23 15:29:00:136 AccountEditor[22871:607] DEBUG|SFSmartStorePlugin|pgUpsertSoupEntries returning after 0.000446 secs. 2014-09-23 15:29:00:137 AccountEditor[22871:607] DEBUG|SFHybridViewController|webView:shouldStartLoadWithRequest: Loading URL 'gap://ready' 2014-09-23 15:29:00:137 AccountEditor[22871:607] DEBUG|SFSmartStorePlugin|pgRunSmartQuery jsVersion:2.3.0 2014-09-23 15:29:00:137 AccountEditor[22871:607] DEBUG|SFSmartStorePlugin|pgRunSmartQuery called. 2014-09-23 15:29:00:137 AccountEditor[22871:607] DEBUG|SFSmartStorePlugin|pgQuerySoup with name: (null), querySpec: { beginKey = ""; endKey = ""; likeKey = ""; matchKey = ""; order = ascending; pageSize = 10; queryType = smart; smartSql = "SELECT {original-accounts:_soup} FROM {original-accounts} WHERE {original-accounts:Id} IN ('')"; } 2014-09-23 15:29:00:137 AccountEditor[22871:607] DEBUG|SFSmartStore|countWithQuerySpec: querySpec:<SFSoupQuerySpec: 0x7ff988e6be70> { queryType:"16" smartSql:"SELECT {original-accounts:_soup} FROM {original-accounts} WHERE {original-accounts:Id} IN ('')" pageSize: 10}

2014-09-23 15:29:00:137 AccountEditor[22871:607] DEBUG|SFSmartStore|convertSmartSQl:SELECT count() FROM {original-accounts} WHERE {original-accounts:Id} IN ('') 2014-09-23 15:29:00:138 AccountEditor[22871:607] DEBUG|SFSmartStore|convertSmartSql:putting SELECT count() FROM TABLE_2 WHERE TABLE_2_0 IN ('') in cache 2014-09-23 15:29:00:138 AccountEditor[22871:607] DEBUG|SFSmartStore|countWithQuerySpec: countSql:SELECT count(*) FROM TABLE_2 WHERE TABLE_2_0 IN ('')

2014-09-23 15:29:00:138 AccountEditor[22871:607] DEBUG|SFSmartStorePlugin|pgRunSmartQuery returning after 0.000883 secs. 2014-09-23 15:29:00:139 AccountEditor[22871:607] DEBUG|SFHybridViewController|webView:shouldStartLoadWithRequest: Loading URL 'gap://ready' 2014-09-23 15:29:00:139 AccountEditor[22871:607] DEBUG|SFSmartStorePlugin|pgCloseCursor jsVersion:2.3.0 2014-09-23 15:29:00:139 AccountEditor[22871:607] DEBUG|SFSmartStorePlugin|pgCloseCursor called. 2014-09-23 15:29:00:139 AccountEditor[22871:607] DEBUG|SFSmartStorePlugin|pgCloseCursor with cursor ID: 0x7ff988e6d3d0 2014-09-23 15:29:00:139 AccountEditor[22871:607] DEBUG|SFStoreCursor|closing cursor id: 0x7ff988e6d3d0 2014-09-23 15:29:00:139 AccountEditor[22871:607] DEBUG|SFSmartStorePlugin|pgCloseCursor returning after 0.000087 secs. 2014-09-23 15:29:00:140 AccountEditor[22871:607] DEBUG|SFHybridViewController|webView:shouldStartLoadWithRequest: Loading URL 'gap://ready' 2014-09-23 15:29:00:140 AccountEditor[22871:607] DEBUG|SFSmartStorePlugin|pgUpsertSoupEntries jsVersion:2.3.0 2014-09-23 15:29:00:140 AccountEditor[22871:607] DEBUG|SFSmartStorePlugin|pgUpsertSoupEntries called. 2014-09-23 15:29:00:140 AccountEditor[22871:607] DEBUG|SFSmartStorePlugin|pgUpsertSoupEntries with soup name: original-accounts, external ID path: Id 2014-09-23 15:29:00:140 AccountEditor[22871:607] DEBUG|SFSmartStore|indices sql: SELECT path,columnName,columnType FROM soup_index_map WHERE soupName = ? 2014-09-23 15:29:00:140 AccountEditor[22871:607] DEBUG|SFSmartStorePlugin|pgUpsertSoupEntries returning after 0.000377 secs.

@khawkins @akhileshgupta - Is there anything that changed in the latest SDK version which would cause this to break?

khawkins commented 10 years ago

Thanks guys. We'll take a look to see what's going on here.

AltiusRupert commented 10 years ago

Thanks ! Looking forward to news 'cos our deployment is halted

khawkins commented 10 years ago

The fix for not being able to save records is on the way (see this issue). However, we will keep this open for the separate issue of AccountEditor having display issues with iOS 8.

akhileshgupta commented 10 years ago

As Kevin mentioned, the Smartsync bug has been fixed in Shared repo under PR: https://github.com/forcedotcom/SalesforceMobileSDK-Shared/pull/211

Besides that Ratchet, css library used for AccountEditor sample, is having some issues on iOS8. Checkout the description here: https://github.com/twbs/ratchet/issues/679

There's an easy workaround for it by adding this style tag:

<style>
    header.bar.bar-nav {
        -webkit-transform: translateZ(0);
    }
</style>

Closing this issue now as this might get fixed automatically with future iOS8 updates.