Commit graph

27 commits

Author SHA1 Message Date
Chris Garrity
1420a5947a Split iOS and Android interfaces
Refactor the native interface in preparation for switching iOS to use WKWebview.
* Finally rename the folder for device specific interfaces as `tablet` instead of `iPad`
* Update `import` statements to use the new name
* Create new `iOS.js` and `Android.js` based on previous `iPad/iOS.js` to separate the interfaces
* Add new `OS.js` class to manage the class variables, initialize the device interface delegate methods to the correct interface.
* refactor how  `utils/lib` detects the current platform based on `navigtor.userAgent` based on https://stackoverflow.com/questions/37591279/detect-if-user-is-using-webview-for-android-ios-or-a-regular-browser. previous method relied on the Android interface being loaded or not. It can be difficult to detect the difference between in a browser and in a webview, but for now ScratchJr doesn’t need to worry about running in a browser
2020-08-10 09:11:47 -04:00
Ben Wheeler
9e30b90a17 ios and android log event action as event type 2020-04-13 22:11:09 -04:00
chrisgarrity
3c80bb2f81
Merge pull request #247 from yueyuzhao/dev-fix-ios-whole-window-scroll
iOS: disable UIWebView scroll to fix #243
2020-04-02 09:58:30 -04:00
Chris Garrity
7f1f966984 Improve Analytics setup documentation
Added instructions to the README for how to get the google services configuration files for analytics. Removed (and ignored in future) the empty config files. Note: empty folders are ignored in git, so added an empty file `.exist` to the android folder so that it will be there as a place to hold the actual google services file.

Finally added the xCode scheme for the app that you need for newer versions of xCode.
2020-03-24 17:39:06 -04:00
Donald
9bb886e9a8 iOS: disable UIWebView scroll to fix #243 2020-03-24 21:00:09 +08:00
Chris Garrity
5a5e5bdf12 remove duplicate ontouchmove 2019-10-25 13:49:31 -04:00
Chris Garrity
c4ea194df7 Fix scrolling while dragging
This is the fix from Paula for #217

based on the firebase-analytics branch, so only merge after that PR (or cherry pick this commit)
2019-10-25 12:46:11 -04:00
Chris Garrity
c8f655447a Address comments 2019-10-25 12:27:32 -04:00
Chris Garrity
1ba161e3b1 Update iOS to use Firebase Analytics 2019-10-21 13:00:37 -04:00
Chris Garrity
f885202c8e Update Cocoapods to use Firebase
I also decided to add the Pods directory to gitignore. It bloats the ScratchJr repo. This does mean that people will need to install cocoapods and run `pod install` the first time they build scratchjr.
2019-10-21 12:58:36 -04:00
chrisgarrity
bc4f8f85d5 Fix iOS build time warnings
* add required new app icon size
* add `LSSupportsOpeningDocumentsInPlace` property (false)
* set minimum iOS version to 8.0 (minimum allowed by this version of xCode)
2018-10-29 10:24:38 -04:00
chrisgarrity
02ebb629c1 update translations and languages 2018-10-03 13:58:37 -04:00
Donald
2da2fad26c Fix Runtime Issues:
ScratchJr.m: runtime: UI API called from background thread: -[UIView removeFromSuperview] must be used from main thread only
IO.m: runtime: UI API called from background thread: -[UIWebView stringByEvaluatingJavaScriptFromString:] must be used from main thread only
2018-09-11 09:32:02 +08:00
chrisgarrity
7a530be88b Update to xcode recommended settings
Set minimum iOS version to 8.0
2017-08-14 16:27:07 -04:00
chrisgarrity
16e4b7ce27 Limit size of sounds
We know that projects with lots of (large) sounds tend to crash ScratchJr. Hopefully reducing the size of the sounds will help to reduce the number of crashes.
2017-07-17 11:25:59 -04:00
chrisgarrity
d4a6b2885d Merge pull request #121 from chrisgarrity/bug/iOS-sound
Rewrite iOS sound management to use native audio instead of webaudio. Quirks are consistent with Android which was already doing native audio.
2017-03-14 21:56:59 -04:00
chrisgarrity
7e4f6682d6 Fun with sound timers
If the same sound gets triggered while it’s playing, the sound restarts and both sound blocks will be highlighted until the sound completes - this matches what happens on Android.

Also more formatting changes.
2017-03-14 18:09:43 -04:00
chrisgarrity
f752ff5760 Fix formatting and restart bug
In the current system you can’t have the same sound playing more than once at the same time - this is how it was implemented on Android, so we used the same restriction on iOS.

However in the previous version if you interrupted the sound to play it again, it continued from where it was instead of starting over. So it didn’t appear to do anything. Added resetting the current time to 0.0 on play to restart sounds.
2017-03-14 14:31:18 -04:00
chrisgarrity
46f77164d8 Reduced sound effects to 16-bit for Android compatibility
- down sampled all the .wav files
- updated plist for free edition to include new required keys for iOS10
2017-03-13 13:56:02 -04:00
chrisgarrity
6a6d92e06b [WIP] new audio engine
Post coding session with Paula
2017-02-21 17:17:35 -05:00
chrisgarrity
72b807726b iOS: show unescaped filename in email
Displayed name in the email was using the escaped filename rather than the filename passed as the name parameter.
2016-09-19 17:10:10 -04:00
Andrew Sliwinski
693db43729 Do not throw exception when app moves to background during audio recording. Resolves GH-91 2016-05-19 20:19:27 -07:00
Andrew Sliwinski
56ee7f8b7c Prevent crash bug edge case with sharing by email. Resolves GH-500 2016-04-06 18:22:50 -04:00
Tim Mickel
ba3f7513d2 Set AVAudioSession category on viewDidLoad #35 2016-03-24 11:52:17 -04:00
Tim Mickel
cb2fdccbcb Fix mimeType string for official/free iOS emails 2016-02-08 13:35:09 -05:00
Tim Mickel
1a6c8966a2 Add npm build to free edition XCode project 2016-02-03 12:03:27 -05:00
Tim Mickel
e88af5b6df Initial commit 2016-01-08 14:31:04 -05:00