miller-ms / mmsprofileimagepicker Goto Github PK
View Code? Open in Web Editor NEWA profile image selection view controller supporting image selection and editing behavior like in the contacts app.
License: MIT License
A profile image selection view controller supporting image selection and editing behavior like in the contacts app.
License: MIT License
UIDeviceOrientationDidChange' has been renamed to 'UIDevice.orientationDidChangeNotification'
Replace 'UIDeviceOrientationDidChange' with 'UIDevice.orientationDidChangeNotification'
### Expected Behavior
Clean build.
### Actual Behavior
Get this error instead:
*** Skipped building MMSProfileImagePicker due to the error:
Dependency "MMSProfileImagePicker" has no shared framework schemes for any of the platforms: iOS
If you believe this to be an error, please file an issue with the maintainers at https://github.com/miller-ms/MMSProfileImagePicker/issues/new
### Steps to Reproduce
Create a Cartfile that includes the line:
github "miller-ms/MMSProfileImagePicker" ~> 1.4.0
Run:
carthage update --platform iOS --no-use-binaries
### ....*
I haven't done this before myself, but it looks like a quick fix.
Should Build properly
Many errors in code. Could fix most with newer swift version. Last one could not, however:
In provided class, in, selectFromCamera:(_:), line 847 describes issue where delegate property cannot be found.
Add files to project, build.
Building MMSProfileImagePicker from Carthage should only build the main module
Including
github "miller-ms/MMSProfileImagePicker" == 1.3.1
in a Cartfile results in Carthage building the following
*** Building scheme "MMSCameraViewController" in MMSProfileImagePicker.xcworkspace
*** Building scheme "FBSnapshotTestCase" in MMSProfileImagePicker.xcworkspace
*** Building scheme "MMSProfileImagePicker" in MMSProfileImagePicker.xcworkspace
The bad thing about this is that you cannot use MMSProfileImagePicker
without also using MMSCameraViewController
which belongs to an example project that does not interest me when including MMSProfileImagePicker in another app
Create a Cartfile with
github "miller-ms/MMSProfileImagePicker" == 1.3.1
Try to just use MMSProfileImagePicker
in the project containing that Cartfle.
Get the following entry in the log upon launching the app:
dyld: Library not loaded: @rpath/MMSCameraViewController.framework/MMSCameraViewController
Referenced from: /private/var/containers/Bundle/Application/.../Frameworks/MMSProfileImagePicker.framework/MMSProfileImagePicker
Reason: image not found
Show the image picker
crashes
@IBAction func selectProfilePictureWasTapped(_ sender: UIButton) {
let profileImagePicker = MMSProfileImagePicker()
profileImagePicker.delegate = self
present(profileImagePicker, animated: true)
}
###Log:
2021-04-07 14:10:40.695732+0500 Coda Music[8591:22770448] *** Terminating app due to uncaught exception 'CALayerInvalidGeometry', reason: 'CALayer position contains NaN: [207 nan]. Layer: <CALayer:0x600001427dc0; position = CGPoint (0 0); bounds = CGRect (0 0; 0 0); delegate = <UIImageView: 0x7f94efa15f90; frame = (0 0; 0 0); userInteractionEnabled = NO; layer = <CALayer: 0x600001427dc0>>; opaque = YES; allowsGroupOpacity = YES; >'
*** First throw call stack:
(
0 CoreFoundation 0x00000001094feaf6 __exceptionPreprocess + 242
1 libobjc.A.dylib 0x000000010938ee78 objc_exception_throw + 48
2 CoreFoundation 0x00000001094fe9d4 -[NSException initWithCoder:] + 0
3 QuartzCore 0x00000001082fb6ab _ZN2CA5Layer12set_positionERKNS_4Vec2IdEEb + 187
4 QuartzCore 0x00000001082e85e6 -[CALayer setPosition:] + 49
5 QuartzCore 0x00000001082e8c71 -[CALayer setFrame:] + 542
6 UIKitCore 0x00000001158412f8 -[UIView(Geometry) setFrame:] + 431
7 UIKitCore 0x0000000115809923 -[UIImageView _setViewGeometry:forMetric:] + 153
8 MMSProfileImagePicker 0x00000001080e315c -[MMSProfileImagePicker positionImageView] + 556
9 MMSProfileImagePicker 0x00000001080e2986 -[MMSProfileImagePicker viewWillAppear:] + 86
10 UIKitCore 0x0000000114bcfc66 -[UIViewController _setViewAppearState:isAnimating:] + 654
11 UIKitCore 0x0000000114bd048f -[UIViewController __viewWillAppear:] + 106
12 UIKitCore 0x0000000114aa51c3 __56-[UIPresentationController runTransitionForCurrentState]_block_invoke.466 + 1201
13 UIKitCore 0x00000001157f807a -[_UIAfterCACommitBlock run] + 54
14 UIKitCore 0x000000011530c954 _runAfterCACommitDeferredBlocks + 333
15 UIKitCore 0x00000001152fc9fc _cleanUpAfterCAFlushAndRunDeferredBlocks + 221
16 UIKitCore 0x000000011532e2ac _afterCACommitHandler + 85
17 CoreFoundation 0x000000010946c1f8 CFRUNLOOP_IS_CALLING_OUT_TO_AN_OBSERVER_CALLBACK_FUNCTION + 23
18 CoreFoundation 0x0000000109466a77 __CFRunLoopDoObservers + 547
19 CoreFoundation 0x000000010946701a __CFRunLoopRun + 1113
20 CoreFoundation 0x00000001094666d6 CFRunLoopRunSpecific + 567
21 GraphicsServices 0x000000010d1a7db3 GSEventRunModal + 139
22 UIKitCore 0x00000001152fdcf7 -[UIApplication _run] + 912
23 UIKitCore 0x0000000115302ba8 UIApplicationMain + 101
24 Coda Music 0x00000001055e277b main + 75
25 libdyld.dylib 0x000000010aca83e9 start + 1
26 ??? 0x0000000000000001 0x0 + 1
)
libc++abi.dylib: terminating with uncaught exception of type NSException
Signal: SIGABRT (signal SIGABRT)
No crash
Crash
Not reproducible
Logs:
http://crashes.to/s/56e9675109d
Fatal Exception: NSRangeException
0 CoreFoundation 0x186b45d04 __exceptionPreprocess
1 libobjc.A.dylib 0x185d94528 objc_exception_throw
2 CoreFoundation 0x186b45c4c -[NSException initWithCoder:]
3 Foundation 0x18745bb98 -[NSObject(NSKeyValueObserverRegistration) _removeObserver:forProperty:]
4 Foundation 0x18745b688 -[NSObject(NSKeyValueObserverRegistration) removeObserver:forKeyPath:]
5 MMSCameraViewController 0x101fc217c (Missing)
6 MMSCameraViewController 0x101fc227c (Missing)
7 UIKit 0x18ff95aac -[UIViewController _setViewAppearState:isAnimating:]
8 UIKit 0x19000439c -[UIViewController __viewWillDisappear:]
9 UIKit 0x1902c8640 __56-[UIPresentationController runTransitionForCurrentState]_block_invoke
10 UIKit 0x1901ecf74 _runAfterCACommitDeferredBlocks
11 UIKit 0x1901e0318 _cleanUpAfterCAFlushAndRunDeferredBlocks
12 UIKit 0x18ff6fac8 _afterCACommitHandler
13 CoreFoundation 0x186aed848 CFRUNLOOP_IS_CALLING_OUT_TO_AN_OBSERVER_CALLBACK_FUNCTION
14 CoreFoundation 0x186aeb200 __CFRunLoopDoObservers
15 CoreFoundation 0x186aeb7bc __CFRunLoopRun
16 CoreFoundation 0x186a0bfb8 CFRunLoopRunSpecific
17 GraphicsServices 0x1888a3f84 GSEventRunModal
18 UIKit 0x18ffe02f4 UIApplicationMain
19 PrintOSMobile 0x100fc1d14 main (main.m:14)
20 libdyld.dylib 0x18652e56c start
#0. Crashed: com.twitter.crashlytics.ios.exception
0 PrintOSMobile 0x10101eda4 CLSProcessRecordAllThreads + 4297305508
1 PrintOSMobile 0x10101eda4 CLSProcessRecordAllThreads + 4297305508
2 PrintOSMobile 0x10101ec60 CLSProcessRecordAllThreads + 4297305184
3 PrintOSMobile 0x10100e9a0 CLSHandler + 4297238944
4 PrintOSMobile 0x10101cdac __CLSExceptionRecord_block_invoke + 4297297324
5 libdispatch.dylib 0x1864c9048 _dispatch_client_callout + 16
6 libdispatch.dylib 0x1864d1ae8 _dispatch_queue_barrier_sync_invoke_and_complete + 56
7 PrintOSMobile 0x10101c840 CLSExceptionRecord + 4297295936
8 PrintOSMobile 0x10101c668 CLSExceptionRecordNSException + 4297295464
9 PrintOSMobile 0x10101c27c CLSTerminateHandler() + 4297294460
10 libc++abi.dylib 0x185d8454c std::__terminate(void (*)()) + 16
11 libc++abi.dylib 0x185d84158 __cxa_rethrow + 144
12 libobjc.A.dylib 0x185d946e8 objc_exception_rethrow + 44
13 CoreFoundation 0x186a0c024 CFRunLoopRunSpecific + 544
14 GraphicsServices 0x1888a3f84 GSEventRunModal + 100
15 UIKit 0x18ffe02f4 UIApplicationMain + 208
16 PrintOSMobile 0x100fc1d14 main (main.m:14)
17 libdyld.dylib 0x18652e56c start + 4
#1. com.apple.uikit.eventfetch-thread
0 libsystem_kernel.dylib 0x18663cbc4 mach_msg_trap + 8
1 libsystem_kernel.dylib 0x18663ca3c mach_msg + 72
2 CoreFoundation 0x186aedc74 __CFRunLoopServiceMachPort + 196
3 CoreFoundation 0x186aeb840 __CFRunLoopRun + 1424
4 CoreFoundation 0x186a0bfb8 CFRunLoopRunSpecific + 436
5 Foundation 0x1874356e4 -[NSRunLoop(NSRunLoop) runMode:beforeDate:] + 304
6 Foundation 0x187454afc -[NSRunLoop(NSRunLoop) runUntilDate:] + 96
7 UIKit 0x190b3f2f4 -[UIEventFetcher threadMain] + 136
8 Foundation 0x187536860 NSThread__start + 996
9 libsystem_pthread.dylib 0x18677031c _pthread_body + 308
10 libsystem_pthread.dylib 0x1867701e8 _pthread_body + 310
11 libsystem_pthread.dylib 0x18676ec28 thread_start + 4
#2. com.twitter.crashlytics.ios.MachExceptionServer
0 libsystem_kernel.dylib 0x18663cbc4 mach_msg_trap + 8
1 libsystem_kernel.dylib 0x18663ca3c mach_msg + 72
2 PrintOSMobile 0x101009870 CLSMachExceptionServer + 4297218160
3 libsystem_pthread.dylib 0x18677031c _pthread_body + 308
4 libsystem_pthread.dylib 0x1867701e8 _pthread_body + 310
5 libsystem_pthread.dylib 0x18676ec28 thread_start + 4
#3. com.apple.NSURLConnectionLoader
0 libsystem_kernel.dylib 0x18663cbc4 mach_msg_trap + 8
1 libsystem_kernel.dylib 0x18663ca3c mach_msg + 72
2 CoreFoundation 0x186aedc74 __CFRunLoopServiceMachPort + 196
3 CoreFoundation 0x186aeb840 __CFRunLoopRun + 1424
4 CoreFoundation 0x186a0bfb8 CFRunLoopRunSpecific + 436
5 CFNetwork 0x187176264 +[NSURLConnection(Loader) _resourceLoadLoop:] + 404
6 Foundation 0x187536860 NSThread__start + 996
7 libsystem_pthread.dylib 0x18677031c _pthread_body + 308
8 libsystem_pthread.dylib 0x1867701e8 _pthread_body + 310
9 libsystem_pthread.dylib 0x18676ec28 thread_start + 4
#4. GAIThread
0 libsystem_kernel.dylib 0x18663cbc4 mach_msg_trap + 8
1 libsystem_kernel.dylib 0x18663ca3c mach_msg + 72
2 CoreFoundation 0x186aedc74 __CFRunLoopServiceMachPort + 196
3 CoreFoundation 0x186aeb840 __CFRunLoopRun + 1424
4 CoreFoundation 0x186a0bfb8 CFRunLoopRunSpecific + 436
5 Foundation 0x1874356e4 -[NSRunLoop(NSRunLoop) runMode:beforeDate:] + 304
6 Foundation 0x18748762c -[NSRunLoop(NSRunLoop) run] + 88
7 PrintOSMobile 0x100fe9a24 +[GAI threadMain:] + 4297087524
8 Foundation 0x187536860 NSThread__start + 996
9 libsystem_pthread.dylib 0x18677031c _pthread_body + 308
10 libsystem_pthread.dylib 0x1867701e8 _pthread_body + 310
11 libsystem_pthread.dylib 0x18676ec28 thread_start + 4
#5. Thread
0 libsystem_kernel.dylib 0x18663cbc4 mach_msg_trap + 8
1 libsystem_kernel.dylib 0x18663ca3c mach_msg + 72
2 CoreFoundation 0x186aedc74 __CFRunLoopServiceMachPort + 196
3 CoreFoundation 0x186aeb840 __CFRunLoopRun + 1424
4 CoreFoundation 0x186a0bfb8 CFRunLoopRunSpecific + 436
5 PrintOSMobile 0x101269ccc -[UVWatchDog watchDogThreadMethod] + 4299709644
6 Foundation 0x187536860 NSThread__start + 996
7 libsystem_pthread.dylib 0x18677031c _pthread_body + 308
8 libsystem_pthread.dylib 0x1867701e8 _pthread_body + 310
9 libsystem_pthread.dylib 0x18676ec28 thread_start + 4
#6. com.squareup.SocketRocket.NetworkThread
0 libsystem_kernel.dylib 0x18663cbc4 mach_msg_trap + 8
1 libsystem_kernel.dylib 0x18663ca3c mach_msg + 72
2 CoreFoundation 0x186aedc74 __CFRunLoopServiceMachPort + 196
3 CoreFoundation 0x186aeb840 __CFRunLoopRun + 1424
4 CoreFoundation 0x186a0bfb8 CFRunLoopRunSpecific + 436
5 Foundation 0x1874356e4 -[NSRunLoop(NSRunLoop) runMode:beforeDate:] + 304
6 PrintOSMobile 0x101225330 -[Intercom__SRRunLoopThread main] + 4299428656
7 Foundation 0x187536860 NSThread__start + 996
8 libsystem_pthread.dylib 0x18677031c _pthread_body + 308
9 libsystem_pthread.dylib 0x1867701e8 _pthread_body + 310
10 libsystem_pthread.dylib 0x18676ec28 thread_start + 4
#7. Thread
0 libsystem_kernel.dylib 0x18665d648 __semwait_signal + 8
1 libsystem_c.dylib 0x186576f70 nanosleep + 212
2 Foundation 0x187535a14 +[NSThread sleepForTimeInterval:] + 136
3 PrintOSMobile 0x101228170 -[UVVideoRecorder processQueue] + 4299440496
4 Foundation 0x187536860 NSThread__start + 996
5 libsystem_pthread.dylib 0x18677031c _pthread_body + 308
6 libsystem_pthread.dylib 0x1867701e8 _pthread_body + 310
7 libsystem_pthread.dylib 0x18676ec28 thread_start + 4
#8. com.apple.CFSocket.private
0 libsystem_kernel.dylib 0x18665d570 __select + 8
1 CoreFoundation 0x186af61ac __CFSocketManager + 644
2 libsystem_pthread.dylib 0x18677031c _pthread_body + 308
3 libsystem_pthread.dylib 0x1867701e8 _pthread_body + 310
4 libsystem_pthread.dylib 0x18676ec28 thread_start + 4
#9. Thread
0 libsystem_kernel.dylib 0x18665d150 __psynch_cvwait + 8
1 libsystem_pthread.dylib 0x186772d30 _pthread_cond_wait$VARIANT$mp + 640
2 libc++.1.dylib 0x185d17ea4 std::__1::condition_variable::wait(std::__1::unique_lockstd::__1::mutex&) + 24
3 JavaScriptCore 0x18ddb9b94 void std::__1::condition_variable_any::wait<std::__1::unique_lockbmalloc::Mutex >(std::__1::unique_lockbmalloc::Mutex&) + 96
4 JavaScriptCore 0x18ddb9abc bmalloc::AsyncTask<bmalloc::Heap, void (bmalloc::Heap::)()>::threadRunLoop() + 172
5 JavaScriptCore 0x18ddb9e20 void std::__1::__thread_proxy<std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_deletestd::__1::__thread_struct >, void ()(bmalloc::AsyncTask<bmalloc::Heap, void (bmalloc::Heap::)()>), bmalloc::AsyncTask<bmalloc::Heap, void (bmalloc::Heap::)()>> >(void) + 44
6 libsystem_pthread.dylib 0x18677031c _pthread_body + 308
7 libsystem_pthread.dylib 0x1867701e8 _pthread_body + 310
8 libsystem_pthread.dylib 0x18676ec28 thread_start + 4
#10. WebThread
0 libsystem_kernel.dylib 0x18663cbc4 mach_msg_trap + 8
1 libsystem_kernel.dylib 0x18663ca3c mach_msg + 72
2 CoreFoundation 0x186aedc74 __CFRunLoopServiceMachPort + 196
3 CoreFoundation 0x186aeb840 __CFRunLoopRun + 1424
4 CoreFoundation 0x186a0bfb8 CFRunLoopRunSpecific + 436
5 WebCore 0x18e87fe04 RunWebThread(void*) + 456
6 libsystem_pthread.dylib 0x18677031c _pthread_body + 308
7 libsystem_pthread.dylib 0x1867701e8 _pthread_body + 310
8 libsystem_pthread.dylib 0x18676ec28 thread_start + 4
#11. com.apple.CoreMotion.MotionThread
0 libsystem_kernel.dylib 0x18663cbc4 mach_msg_trap + 8
1 libsystem_kernel.dylib 0x18663ca3c mach_msg + 72
2 CoreFoundation 0x186aedc74 __CFRunLoopServiceMachPort + 196
3 CoreFoundation 0x186aeb840 __CFRunLoopRun + 1424
4 CoreFoundation 0x186a0bfb8 CFRunLoopRunSpecific + 436
5 CoreFoundation 0x186a5b098 CFRunLoopRun + 116
6 CoreMotion 0x18be06298 (null) + 226408
7 libsystem_pthread.dylib 0x18677031c _pthread_body + 308
8 libsystem_pthread.dylib 0x1867701e8 _pthread_body + 310
9 libsystem_pthread.dylib 0x18676ec28 thread_start + 4
#12. Thread
0 libsystem_kernel.dylib 0x18665ddbc __workq_kernreturn + 8
1 libsystem_pthread.dylib 0x18676efa0 _pthread_wqthread + 884
2 libsystem_pthread.dylib 0x18676ec20 start_wqthread + 4
#13. Thread
0 libsystem_kernel.dylib 0x18665ddbc __workq_kernreturn + 8
1 libsystem_pthread.dylib 0x18676f134 _pthread_wqthread + 1288
2 libsystem_pthread.dylib 0x18676ec20 start_wqthread + 4
#14. Thread
0 libsystem_kernel.dylib 0x18665ddbc __workq_kernreturn + 8
1 libsystem_pthread.dylib 0x18676f134 _pthread_wqthread + 1288
2 libsystem_pthread.dylib 0x18676ec20 start_wqthread + 4
#15. Thread
0 libsystem_kernel.dylib 0x18665ddbc __workq_kernreturn + 8
1 libsystem_pthread.dylib 0x18676f134 _pthread_wqthread + 1288
2 libsystem_pthread.dylib 0x18676ec20 start_wqthread + 4
#16. com.apple.root.utility-qos.overcommit
0 libdispatch.dylib 0x1864d126c _dispatch_continuation_pop$VARIANT$mp + 68
1 libdispatch.dylib 0x1864daca4 _dispatch_source_invoke$VARIANT$mp + 1588
2 libdispatch.dylib 0x1864daca4 _dispatch_source_invoke$VARIANT$mp + 1588
3 libdispatch.dylib 0x1864d61c8 _dispatch_root_queue_drain + 596
4 libdispatch.dylib 0x1864d5f10 _dispatch_worker_thread3 + 120
5 libsystem_pthread.dylib 0x18676f120 _pthread_wqthread + 1268
6 libsystem_pthread.dylib 0x18676ec20 start_wqthread + 4
#17. Thread
0 libsystem_kernel.dylib 0x18665ddbc __workq_kernreturn + 8
1 libsystem_pthread.dylib 0x18676f134 _pthread_wqthread + 1288
2 libsystem_pthread.dylib 0x18676ec20 start_wqthread + 4
MMSProfileImagePicker to pick the first image taken and handle multiple shots taken after by the user just so the app don't crash
MMSProfileImagePicker is crashing when user clicks very fast multiple times to take a picture from camera.
Just initialize MMSProfileImagePicker for camera self.profilePicker?.select(fromCamera: self)
and click multiple times to take a camera shot in a small interval of time then the app app will crash.
a user should be able to toggle the flash and the camera's direction whenever they attempt to take a photo.
These can only be changed when the user initially takes a photo. Any other time and the buttons are inoperable
I believe this may be due to the status bar being set to hidden when the user is in the "crop image" view. The status bar disappears while the user is cropping the image, and returns in the camera but is unusable. Furthermore, when the user returns to the application that is using the pod, the status bar is hidden as well.
Dismiss ImagePickerController and use cropped image in mmsImagePickerController method.
After few try app crashes.
Terminating app due to uncaught exception 'NSRangeException', reason: 'Cannot remove an observer <MMSCameraViewController.MMSCameraViewController 0x10b20f310> for the key path "capturingStillImage" from <AVCaptureStillImageOutput 0x17043cd00> because it is not registered as an observer.'
Use ImagePickerController more than one and app crashes. It happen on first time sometimes.
Thanks, have a nice day.
I wish i could edit "Move and Scale", "Retake", "Use Photo" and other labels from MMSProfileImagePicker viewcontroller
UIImageOrientation' has been renamed to 'UIImage.Orientation'
Property is assigned as open and should be accruable within the MMSProfileImagePicker class.
Build error, on line 847 of MMSProfileImagePicker, noting that the delegate property cannot be found.
Build pod project within parent project.
I am utilizing the following code to call the profile picker in iOS 11 and Swift 4.0:
@IBAction func pickPhotoPress(_ sender: AnyObject) {
let optionMenu = UIAlertController(title: nil, message: "Choose Option", preferredStyle: .actionSheet)
let profilePicker = MMSProfileImagePicker.init()
profilePicker.delegate = self
let cameraAction = UIAlertAction(title: "Camera", style: .default, handler: {
(alert: UIAlertAction!) -> Void in
profilePicker.select(fromCamera: self)
})
let galleryAction = UIAlertAction(title: "Gallery", style: .default, handler: {
(alert: UIAlertAction!) -> Void in
profilePicker.select(fromPhotoLibrary: self)
})
optionMenu.addAction(cameraAction)
optionMenu.addAction(galleryAction)
self.present(optionMenu, animated: true, completion: nil)
}
The gallery appears correctly, but when I select an image the whole picker UI disappears and no UI to edit the image with a mask is ever called. didFinishPickingMediaWithInfo
is also never called.
Is there some way to fix this issue?
Hi,
Current version supports up to v1.2.1 of MMSCameraViewController as given in the podspec
s.dependency 'MMSCameraViewController', '~> 1.2.1'
The version should be updated because it's not possible to get the current updates of MMSCameraViewController if you are using cocoapods. (for example iPhoneX support fixes of MMSCameraViewController, etc...)
Thanks in advance.
Thread 1: Exception: "Your application has presented a UIAlertController (<UIAlertController: 0x7fd99b01b000>) of style UIAlertControllerStyleActionSheet from BaseFeatures.rootVC (<BaseFeatures.rootVC: 0x7fd99c02a400>). The modalPresentationStyle of a UIAlertController with this style iscUIModalPresentationPopover. You must provide location information for this popover through the alert controller's popoverPresentationController. You must provide either a sourceView and sourceRect or a barButtonItem. If this information is not known when you present the alert controller, you may provide it in the UIPopoverPresentationControllerDelegate method -prepareForPopoverPresentation."
test from Ipad ios 13+
Provides a way to customize the labels of the buttons and the title of the crop image view to be able to localize them in the languages the using app supports
Label texts are hard coded. Controls are private. No clean way to change them
What about Carthage support?
it should be possible to include the framework as a dependency via Carthage
Carthage cannot build MMSProfileImagePicker
Include
github "miller-ms/MMSProfileImagePicker" == 1.1.0
in a Cartfile. run carthage bootstrap
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.