Simplenote for iOS

Overview

Simplenote for iOS

A Simplenote client for iOS. Learn more about Simplenote at Simplenote.com.

Build Instructions

Download Xcode

At the moment Simplenote for iOS uses Swift 5 and requires Xcode 10.2 or newer. Xcode can be downloaded from Apple.*

Third party tools

We use a few tools to help with development. To install or update the required dependencies, run the follow command on the command line:

rake dependencies

CocoaPods

Simplenote for iOS uses CocoaPods to manage third party libraries. Third party libraries and resources managed by CocoaPods will be installed by the rake dependencies command above.

SwiftLint

We use SwiftLint to enforce a common style for Swift code. The app should build and work without it, but if you plan to write code, you are encouraged to install it. No commit should have lint warnings or errors.

You can set up a Git pre-commit hook to run SwiftLint automatically when committing by running:

rake git:install_hooks

This is the recommended way to include SwiftLint in your workflow, as it catches lint issues locally before your code makes its way to Github.

Alternately, a SwiftLint scheme is exposed within the project; Xcode will show a warning if you don't have SwiftLint installed.

Finally, you can also run SwiftLint manually from the command line with:

rake lint

If your code has any style violations, you can try to automatically correct them by running:

rake lint:autocorrect

Otherwise you have to fix them manually.

Open Xcode

Launch the workspace by running the following from the command line:

rake xcode

This will ensure any dependencies are ready before launching Xcode.

You can also open the project by double clicking on Simplenote.xcworkspace file, or launching Xcode and choose File > Open and browse to Simplenote.xcworkspace.

Setup Credentials

Simplenote is powered by the Simperium Sync'ing protocol. We distribute testing credentials that help us authenticate your application, and verify that the API calls being made are valid.

⚠️ Please note → We're not accepting any new Simperium accounts at this time.

After you've created your own Simperium application, copy the sample config. For example:

mkdir -p Simplenote/Credentials && cp Simplenote/SPCredentials-demo.swift Simplenote/Credentials/SPCredentials.swift

Then edit the new Simplenote/Credentials/SPCredentials.swift file and change the simperiumAppID and simperiumApiKey fields to the correct values for your new app.

This will allow you to compile and run the app on a device or a simulator.

Note: Simplenote API features such as sharing and publishing will not work with development builds.

Optional

If you want to try the screenshots generation locally, also create your own testing credentials for that target:

mkdir -p SimplenoteScreenshots/Credentials && cp SimplenoteScreenshots/ScreenshotsCredentials-demo.swift SimplenoteScreenshots/Credentials/ScreenshotsCredentials.swift

Style Guidelines

We follow the WordPress iOS Style Guidelines, and we're constantly improving / adopting latest techniques.

Contributing

Read our Contributing Guide to learn about reporting issues, contributing code, and more ways to contribute.

License

Simplenote for iOS is an Open Source project covered by the GNU General Public License version 2.

Happy noting!

Issues
  • Users can access notes without entering passcode

    Users can access notes without entering passcode

    With the latest update, it is possible to open Simplenote and access notes without entering a passcode or using Touch ID even when these options are enabled.

    Steps to reproduce:

    1. Setup a passcode and Touch ID on the app.
    2. Leave the app on the main notes list and close the app.
    3. Reopen the app and notice you're prompted for the passcode or Touch ID.
    4. Once you're back in the app, open a specific note. Then, press the home button to return to the homescreen.
    5. Click on Simplenote again to open it. You will not be prompted for a passcode or Touch ID.

    Here's a video of the issue: https://cloudup.com/cB6kVLzpyVw

    This was reported in 2816916-t and confirmed through testing.

    cannot reproduce 
    opened by jeremeylduvall 27
  • iOS Widgets Final PR

    iOS Widgets Final PR

    Fix

    After many months, this PR encompasses the entire iOS widgets feature. Fixes #1289

    All of the changes in this branch have been tested before, but never hurts to do a final pass. There are a few things to check here.

    Widgets: There are three widgets. New note widget, Note Widget, and List Widget. The new note widget creates a button that gives you a quick home screen button to create a new note

    The note widget displays a preview of the content from a selected note

    The list widget shows the top few notes from a given tag (or all notes)

    Test

    New Note Widget (for more details about this widget check out #1293 ):

    1. create a new note widget
    2. tap on the button to make sure a new note is created.

    Note Widget (for more details about this widget check out #1375 ):

    1. add the note widget. By default the note at the top of your notes list should appear
    2. choose a note to display, make sure it is showing the same content (checkboxes will not render yet #1388 )
    3. tap on the widget and you will be taken into the app and that note will load

    List Widget (for more details about this widget check out #1389 ):

    1. add the list widget. by default all notes will be the tag that is selceted
    2. choose a tag to display, once selected tap on the title of the tag to load into the app showing the tag list
    3. return to the home screen and tap on one of the note titles, the note will load
    4. tap on the new note button and see that a note is created tagged with the note the widget is displaying

    Review

    (Required) Add instructions for reviewers. For example:

    Only one developer is are required to review these changes, but anyone can perform the review.

    Release

    (Required) Add a concise statement to RELEASE-NOTES.txt if the changes should be included in release notes. Include details about updating the notes in this section. For example:

    RELEASE-NOTES.txt was updated in 646382 with:

    • Added home screen widgets #1416
    [feature] Widgets 
    opened by charliescheer 21
  • Navigating/Scrolling issue on iOS14

    Navigating/Scrolling issue on iOS14

    Expected

    (Required)

    Be able to scroll and select where I want to position myself.

    Observed

    (Required)

    When the cursor is somewhere and scrolling few pages then select where to position next, it does not, instead it position somewhere in between (which is undesired)

    Reproduced

    (Required)

    1.make a few pages text on a note on iOS 14 2. Navigate to first page 3.scroll down 2 pages and position somewhere in the page 4. It should not position there but somewhere in between

    (Optional) If applicable, add screenshots, animations, or videos to help illustrate your problem.

    (Optional) If you reproduced the bug on a specific device, please replace DEVICE_MAKE, DEVICE_MODEL, IOS_VERSION, and APP_VERSION below with the details for that device. If you reproduced the bug on multiple devices, please add a row for each device.

    Make|Model|iOS Version|App Version -|-|-|- IPhone |8 plus|IOS 14| 4.23

    opened by jgwill 19
  • Update Intents

    Update Intents "Distribution AppStore" configuration to match other extensions

    Fix

    While checking what discussed here, I noticed that the entitlements for the "Distribution AppStore" build configuration was pointing to the Alpha build. That was inconsistent with the other apps, but most importantly incorrect: "Distribution AppStore" is the build configuration we use to App Store builds and needs to point to a valid app group (the Alpha one exists only in the Enterprise account).

    Test

    In Xcode, verify the "Signing & Capabilities > App Groups" are consistent between extensions

    Share

    Screen Shot 2021-08-25 at 3 10 49 pm

    Widgets

    Screen Shot 2021-08-25 at 3 18 23 pm

    Intents

    Screen Shot 2021-08-25 at 3 11 06 pm

    Review

    Only one developer required to review these changes, but anyone can perform the review.

    Release

    These changes do not require release notes.

    tooling 
    opened by mokagio 19
  • Feature/in app notifications

    Feature/in app notifications

    Fix

    This PR is to merge the In App Notifications feature into develop!! The different components of this change have been tested along the way but here is a chance to test them all together again before moving into develop.

    In app notifications builds a tool that allows us to send simple messages to users about the activity in the app, such as copying a link or publishing a note. Some of these messages have actions associated with them like undoing the previous change. They look like this:

    Test

    Here are some things to test with these notifications:

    1. copy a link (internal or public) you should see a notice
    2. Copy a link from the options view, you should see a notice and the options view will be dismissed
    3. Delete a note from the options view, a notice will be presented and the options view will be dismissed
    4. delete a note from the notes list. Tap on the undo button to make sure the note restores
    5. In the options menu publish a note. You should see two notices "Publishing..." and then "Publish Successful" Make sure to tap the copy link button on the "Publish successful" notice
    6. Unpublish a note and you should see two notices "unpublishing..." and "Unpublish Successful" with an undo action
    7. Make sure that the notices stay aligned correctly if you rotate the device

    Review

    Only one developer and one designer are required to review these changes, but anyone can perform the review.

    Release

    Added in app notifications to alert users of different activities in the app

    beta-tested In App Notifications 
    opened by charliescheer 18
  • Simplenote Always Opens to a Tag List Instead of All Notes

    Simplenote Always Opens to a Tag List Instead of All Notes

    Expected

    Switching to All Notes before closing the app should force the app to open to All Notes again when reopening.

    Observed

    If you force quit the app, when relaunching the app, it will always launch to a tag list.

    Reproduced

    1. Open a note from All Notes.
    2. Add a tag to the note.
    3. Go back to All Notes
    4. Tap on Menu then tap on a tag from the list.
    5. Force quit the app.
    6. Relaunch Simplenote.
    7. Switch to the All Notes view.
    8. Force quit the app.

    It will now always open to the tag view, even if the tag is removed from the note and the tag is deleted from the tag list.

    Make|Model|iOS Version|App Version -|-|-|- Apple|iPhone 11 Pro|14.4.1|4.33.0.0

    bug 
    opened by mdrockwell 18
  • Add monospace font

    Add monospace font

    Please, add font selection in settings menu. I do realy need monospace font for formatting of the notes.

    opened by rnsi-4 16
  • Edit mode/Action Bar updates

    Edit mode/Action Bar updates

    Fix

    Fixes #1326

    This PR removes the Action bar from Simplenote iOS. This has affects the new note button and edit mode.

    Edit mode has been moved into the long press context menu

    when in edit mode the new note button is replaced with the Cancel button. When edit mode is exited the new note button returns.

    This also puts the new note button back in the top navigation bar

    Test

    1. Load the app and confirm that in the note list and the editor you don't see the bottom bar and that the new note button is in the top right navigation toolbar
    2. Long press on a note from the note list to see the select option
    3. tap on the select option. Notice the new note button changes to cancel.
    4. Try canceling and select/deleting to make sure the new note button returns after edit mode is exited

    Review

    (Required) Add instructions for reviewers. For example:

    Only one developer and one designer are required to review these changes, but anyone can perform the review.

    Release

    RELEASE-NOTES.txt was updated in 4e5ad8 with:

    • Moved edit mode into a long press action and removed the new note bar #1328
    spring cleaning 
    opened by charliescheer 15
  • Dismiss notice on external tap

    Dismiss notice on external tap

    Fix

    This PR Fixes #1229

    Currently it is possible to make a series of changes in simplenote iOS that would create more notices, however because you can't queue several of the same notices at once, the subsequent actions receive no notification. This could be problematic in the case that a user deletes multiple notes really quickly. In that case the "restore" button on the trashed notice would refer to the first note trashed, not the last note trashed.

    In this PR, I have made a change so that if the passthru view that the notice is contained in is interacted with, the notice will be dismissed. That way you would never be able to create multiple notices at once, as they are dismissed once you interact with the rest of the app in anyway.

    ### Test 1. From the note list try to delete a note using the contextual actions, a note will appear 2. now delete a another note, you will see the first notice is dismissed before the second one can be trashed.

    Review

    Only one developer and one designer are required to review these changes, but anyone can perform the review.

    Release

    These changes do not require release notes.

    In App Notifications 
    opened by charliescheer 15
  • Nü Onboarding: Mark III

    Nü Onboarding: Mark III

    Details:

    This PR implements the new Authentication Interface, along with a new class, in charge of wrapping Simperium and OnePassword interactions.

    cc @bummytime cc @SylvesterWilmott This one definitely could use your feedback sir!!

    Ref. #359


    Scenario: UX

    • [ ] Verify rotations are disabled in every screen.
    • [ ] Verify the Input Text Views's outer border (in both SignIn and SignUp screens) is slightly different when they become the first responder.
    • [ ] Verify the Keyboard always matches the kind of input text we're expecting.
    • [ ] Verify the Reveal Password button effectively displays the (hidden) text. Upon release, the password should get hidden again.
    • [ ] Verify that the Primary Action Button (SignIn / SignUp) is grayed out whenever the input is actually invalid.
    • [ ] Verify the Authentication UI is not dismissable in iOS 13.
    • [ ] Verify that both SignUp / SignIn display a spinner during activity.
    • [ ] Verify the new UI reacts well in iPhone / iPad devices (including multitasking).
    • [ ] Verify that no matter what the System Theme is, both Onboarding and Authentication UI's will be in light mode (with the statusBar visible, and navigation title in black, when applicable)

    Scenario: Login

    1. Launch Simplenote
    2. Press over the LogIn Button
    3. Enter a set of valid credentials
    4. Verify you're shortly after into the app

    Please: Repeat with 1Password fill-in

    Scenario: SignUp

    1. Launch Simplenote
    2. Press over the SignUp Button
    3. Enter a set of valid credentials
    4. Verify you're shortly after into the app, and that a new user was effectively created

    Please: Repeat with 1Password fill-in

    Scenario: 1Password Availability

    1. Launch the app in the Simulator
    2. Verify 1P is unavailable
    3. Launch the app in a device with 1P installed
    4. Verify the 1P button becomes visible, in both, SignIn and SignUp screens

    Scenario: Signup fallback to Login

    1. Launch Simplenote and open the Signup Screen
    2. Enter a set of valid credentials and press Signup
    3. Verify that an Alert shows up, offering to Login Instead
    4. Press over the Sign In button
    5. Verify the Login UI shows up onScreen, and shortly after, you're into the app

    Scenario: Warnings

    1. Launch Simplenote and open the Login Screen
    2. Press over the Username field and press Next
    3. Verify a warning shows up onscreen
    4. Type a valid username
    5. Verify that the second the username is valid, the warning goes away on its own
    6. Repeat the same steps for the Password field

    Screenshot Time!

    Simulator Screen Shot - iPhone 8 - 2019-08-06 at 12 57 42 Simulator Screen Shot - iPhone 8 - 2019-08-06 at 12 57 45 Simulator Screen Shot - iPhone 8 - 2019-08-06 at 12 57 50

    enhancement 
    opened by jleandroperez 15
  • `Too Many Login Attempts` alert header contains no `Many` word.

    `Too Many Login Attempts` alert header contains no `Many` word.

    Expected

    Too Many Login Attempts alert header contains Many word.

    Observed

    Many word is missing:

    photo_2021-10-07 11 40 25

    Reproduced

    1. Log out
    2. Try logging in with incorrect credentials enough times to see the mentioned alert.

    Make|Model|iOS Version|App Version -|-|-|- iPhone|XR|14.7.1|4.46.0.0

    bug 
    opened by pachlava 2
  • Use Xcode 13 image in CircleCI

    Use Xcode 13 image in CircleCI

    Fix

    Use Xcode 13 image in CircleCI, to hopefully help with UI tests failing due to infrastructure issues.

    I targeted the release branch to avoid issues in the next builds there, as I don't think there'll be any movement on develop for a while.

    Test

    Nothing to do on the reviewer end, if all CI tasks are green, we're good to merge.

    Review

    Only one developer required to review these changes, but anyone can perform the review.

    Release

    These changes do not require release notes.

    tooling 
    opened by mokagio 2
  • Using `New Note` via widget will create and save an empty note if user was stopped by passcode

    Using `New Note` via widget will create and save an empty note if user was stopped by passcode

    Expected

    Since this is a use case which wasn't possible before, it's hard to come up with an expected result. I can think of two options:

    • New empty notes should go directly to trash if user did not get to note editor
    • Note should be created once user sees the editor, not once they click New Note button

    Observed

    If the device has a passcode activated, and the user taps New Note (no matter if via New Note or Note List widget), but does not enter the passcode and closes it, the note will still be created and saved into All notes:

    https://user-images.githubusercontent.com/73365754/134309027-e26849df-677e-41ee-bad6-f8a43273adb4.MP4

    Reproduced

    1. Make sure you have either a New Note or Note List (with All Notes selected for display) widget added
    2. Activate passcode in the app
    3. Kill the app and tap New Note button ~> you will see passcode
    4. Close the passcode ~> new empty note will be placed in All Notes

    Make|Model|iOS Version|App Version -|-|-|- iPhone|XR|14.7.1|4.45.0.0

    bug [feature] Widgets 
    opened by pachlava 0
  • iOS Analytics is not defaulting to opt out for new accounts

    iOS Analytics is not defaulting to opt out for new accounts

    Expected

    On Simplenote, currently we should not be syncing the privacy settings around analytics to Simperium, and it should be defaulting to opt out for a new user.

    Observed

    The analytics setting for SNiOS is currently being fetched from Simperium and not being stored locally. This process is causing the analytics to get set to enabled without the user being asked. This is different from our other platforms which are opt out by default and store the setting locally.

    Reproduced

    1. Create a new account
    2. check the analytics setting by going to Menu > privacy (you should see it enabled)
    3. create an account on another client and check the privacy (you should see it disabled)

    ###References iOS privacy setting: https://github.com/Automattic/simplenote-ios/blob/bfa530c86e3cbd4fe89c01666de9f39351e83221/Simplenote/SPPrivacyViewController.swift#L28-L35

    MacOS privacy setting: https://github.com/Automattic/simplenote-macos/blob/57e013379603f7ea7e811709e290f3f5ac56ca5e/Simplenote/PrivacyViewController.swift#L46-L48

    bug analytics 
    opened by charliescheer 3
  • De-duplicate note properties in widget extension

    De-duplicate note properties in widget extension

    What

    Currently to make the widgets work we have copied some code from the main app into the widgets extension. This was done as a convenience to avoid having to import a bunch of different files into the widgets extension to simply gain a few methods that were not needed to run the widgets.

    We should assess the methods that are needed in both the widgets extension and the main app and find a way to share them that does not involve duplication but is more minimal than adding all of the note+properties file

    Why

    For now this is working fine, but as with all DRY problems as we make changes in the future it could create issues because the updating would need to be in multiple locations. It would potentially make keeping these files synced difficult

    How

    My thought is a new file that extends note in the main app, containing the methods needed for both extensions, but this could make the methods harder to find, so that may not be the best option. Will need to think about it some 🤔

    enhancement [feature] Widgets 
    opened by charliescheer 0
  • Update quick actions to not tag a new note

    Update quick actions to not tag a new note

    What

    As discussed in this comment https://github.com/Automattic/simplenote-ios/pull/1416#issuecomment-909135307 currently there is an inconsistency in how new notes from different quick actions.

    We should update the new note quick action to not tag a note.

    Why

    There is no visual information that hints that the new note will be tag

    How

    Current flow:

    Screen%20Capture%20on%202021-09-01%20at%2011-58-26

    The note should not be tagged

    enhancement 
    opened by charliescheer 2
  • Disable `LeftArrowKey` shortcut when in multiselect mode

    Disable `LeftArrowKey` shortcut when in multiselect mode

    What

    When in multiselect mote (in note list), it's impossible to open sidebar with taps. But it's still possible to do this via Left Arrow Key if there's an external keyboard connected. It should be disabled for consistency.

    UPD: after some thought, and keeping in mind that most users with external keyboards will be on iPad, and split view is planned for an iPad, another option is aborting multiselect once focus is moved to the sidebar.

    Why

    To avoid weird cases like this:

    https://user-images.githubusercontent.com/73365754/131404637-f4e38141-932d-43c9-9cfe-9cc2a3e16c13.MP4

    enhancement [feature] note list 
    opened by pachlava 0
  • Crash when searching for notes with keywords

    Crash when searching for notes with keywords "poe" or "poE"

    The user reported in 4228972-zd-woothemes for crashes that happened on the iOS app when they performed a search using keywords "poe" or "poE". The crash happened when they tried different variations of the "e" characters like é.

    Expected

    It was expected that the app doesn't crash when searching for notes.

    Observed

    (Based on the details shared by the user since we're not able to reproduce this)

    When I type "p","o", then "e" in the search box, the app clashes.
    "p","o", then "E", it clashes too.
    "p","o", then other every characters, it does not clash.
    

    Reproduced

    1. On the app's search box at the top, type "p", "o", and then "e".
    2. The app crashed and returned to the device's home screen.

    The user's screen recording with testing using different keyword variations can be downloaded in the ticket.

    Make|Model|iOS Version|App Version -|-|-|- iPhone|iPhone 11|14.7.1|4.41

    Note: The user's device language is in Japanese.

    bug crash 
    opened by reginabally 5
  • Impossible to change capitalization of the tags

    Impossible to change capitalization of the tags

    Expected

    Tags can be renamed, unless the new name contains forbidden characters.

    Observed

    It's impossible to change a capitalization of a letter in a tag. E.g. country can't be renamed to Country:

    https://user-images.githubusercontent.com/73365754/130058761-cd31613e-abca-40c4-9b1e-7eb1fdc7912f.MP4

    Reproduced

    1. Open a note
    2. Add a new tag to the note
    3. Open Settings
    4. Change the casing of any letter in this tag ~> this is not possible.

    Make|Model|iOS Version|App Version -|-|-|- iPhone|XR|14.7.1|4.42.0.0

    bug [feature] tags 
    opened by pachlava 0
  • Missing content on nested lists with more than 5 levels

    Missing content on nested lists with more than 5 levels

    In preview mode, nested list with more than 5 levels are missing all content starting on the 6th level.

    Expected

    To see all lists as I do on the web app version:

    Captura de Tela 2021-08-17 às 17 35 51

    Observed

    Nothing past the 5th level is visible:

    • 6th level: bullet points are preserved but there lines are empty
    • 7th level and further: missing

    Reproduced

    1. Add a markdown list with more than 5 levels
    2. Preview the note

    • Simplenote 4.41
    • User report: 4225592-zen
    bug [feature] markdown 
    opened by eduardozulian 0
Releases(4.47)
Owner
Automattic
We are passionate about making the web a better place.
Automattic
A better way to handle gestures on iOS

Tactile is a safer and more idiomatic way to respond to gestures and control events. It lets you catch bugs at compile time and write more expressive

Damien 711 Nov 16, 2021
String (and more) validation for iOS

Swift Validators ?? String validation for iOS. Contents Installation Walkthrough Usage Available validators License ReactiveSwift + SwiftValidators Wa

George Kaimakas 233 Oct 27, 2021
CODING iOS 客户端源代码

Coding_iOS客户端项目介绍 编译环境:Xcode-Version 8.0 (8A218a) 让项目跑起来先 项目里用到了 CocoaPods 和 Carthage,如果没有安装的话,需要先自行安装。 Clone 代码后,初次执行前,需要双击运行根目录下的bootstrap脚本。这个过程涉及到

CODING 3.8k Nov 25, 2021
DuckDuckGo iOS Application

DuckDuckGo iOS We are excited to engage the community in development! We are hiring! DuckDuckGo is growing fast and we continue to expand our fully di

DuckDuckGo 1.2k Nov 23, 2021
Firefox for iOS

Firefox for iOS Download on the App Store. This branch (main) This branch works with Xcode 12.4, Swift 5.3 and supports iOS 12.4 and above. Please not

Mozilla Mobile 10.6k Nov 26, 2021
Legacy Ghostery Browser for iOS

DEPRECATED - Ghostery for iOS version 2.x This project is no longer active. Please see our current iOS browser project for Ghostery iOS v3+. Ghostery

Ghostery 15 Oct 28, 2021
Kickstarter for iOS. Bring new ideas to life, anywhere.

Welcome to Kickstarter’s open source iOS app! Come on in, take your shoes off, stay a while—explore how Kickstarter’s native squad has built and conti

Kickstarter 7.8k Dec 3, 2021
Team Kodi 13.1k Nov 29, 2021
📱 Nextcloud iOS app

Nextcloud iOS app Check out https://nextcloud.com and follow us on twitter.com/nextclouders or twitter.com/NextcloudiOS How to contribute If you want

Nextcloud 1.1k Nov 26, 2021
📱😀 Video & audio calls through Nextcloud on iOS

Nextcloud Talk iOS app Video & audio calls and chat through Nextcloud on iOS Nextcloud Talk is a fully on-premises audio/video and chat communication

Nextcloud 92 Nov 26, 2021
Our new iOS portfolio app for WWDCScholars

WWDCScholars iOS App WWDCScholars is a community of Apple WWDC Scholarship winners. Every year bright minds from all around the world compete against

WWDCScholars 61 Sep 21, 2021
📱The official Wikipedia iOS app.

Wikipedia iOS The official Wikipedia iOS app. License: MIT License Source repo: https://github.com/wikimedia/wikipedia-ios Planning (bugs & features):

Wikimedia 2.4k Nov 27, 2021
📱 Wire for iOS (iPhone and iPad)

Wire™ This repository is part of the source code of Wire. You can find more information at wire.com or by contacting [email protected] You can find

Wire Swiss GmbH 3.1k Nov 29, 2021
WordPress for iOS - Official repository

WordPress for iOS Build Instructions Please refer to the sections below for more detailed information. The instructions assume the work is performed f

WordPress Mobile 3.2k Nov 28, 2021
A charting library to visualize and interact with a vector map on iOS. It's like Geochart but for iOS!

FSInteractiveMap A charting library to visualize data on a map. It's like geochart but for iOS! The idea behind this library is to load a SVG file of

Arthur 543 Nov 22, 2021
[Deprecated] iOS's Stocks App clone written in React Native for demo purpose (available both iOS and Android).

FinanceReactNative iOS's Stocks App clone written in React Native for demo purpose (available both iOS and Android). Data is pulled from Yahoo Finance

kf 1.9k Nov 17, 2021
iOS tool that helps with profiling iOS Memory usage.

FBMemoryProfiler An iOS library providing developer tools for browsing objects in memory over time, using FBAllocationTracker and FBRetainCycleDetecto

Facebook 3.4k Nov 25, 2021
Review Time is an open source app for iOS written in Swift that show the average review times for iOS and the Mac Apps using data crowdsourced from AppReviewTime (http://appreviewtimes.com/).

ReviewTime Review Time is an open source app for iOS written in Swift that show the average review times for iOS and the Mac Apps using data crowdsour

Nathan Hegedus 147 Oct 15, 2021
A full-featured App (iOS 、Android、miniapp、Flutter) development assistant. You deserve it. 简称 "DoKit" 。一款功能齐全的客户端( iOS 、Android、微信小程序、Flutter )研发助手,你值得拥有。https://www.dokit.cn/

简介 领域生态 使用手册 更新日志 社区活动 开发背景 功能模块 一、平台工具(www.dokit.cn) 二、常用工具 三、性能检测 四、视觉工具 五、Weex专项工具(CML专项工具) 六、支持自定义的业务工具集成到面板中 七、微信小程序专项工具 相关文档 微信交流群 QQ 交流群 微信公众号

DiDi 18.2k Nov 27, 2021
iOS app that detects LaTeX symbols from drawings. Built using PencilKit, SwiftUI, Combine and CoreML for iOS 14 and macOS 11.

DeTeXt Finding the symbol you want to use in LaTeX can be hard since you can't memorize all the possible commands and packages for every symbol you mi

Venkat 33 Nov 6, 2021
Library for iOS Camera API. Massively increase performance and ease of use within your next iOS Project.

CameraKit helps you add reliable camera to your app quickly. Our open source camera platform provides consistent capture results, service that scales,

CameraKit 601 Dec 3, 2021
Proxitee iOS SDK to enable iOS apps to use the Proxitee platform with iBeacon and GeoFencing

Proxitee iOS SDK Introduction The Proxitee iOS SDK allows you to enable your iOS devices to use the Proxitee platform with iBeacons and GeoFences, for

Proxitee 16 Sep 19, 2020
A Location Manager for easily implementing location services & geofencing in iOS. Ready for iOS 11.

A Location Manager for easily implementing location services & geofencing in iOS, written in Objective-C. Ready for iOS 11. Features Get current/conti

Benzamin Basher 108 Sep 18, 2021
Will Powell 1.2k Nov 25, 2021
Unofficial Dribbble iOS wrapper allows you to integrate Dribble API into iOS application (Designer, Shot, Comment, User Story, Like, Follow)

DribbbleSDK DribbbleSDK is easy-to-use iOS wrapper for Dribbble SDK. We're working hard to complete the full coverage of available methods and make th

Agilie Team 74 Dec 2, 2020
(Animate CSS) animations for iOS. An easy to use library of iOS animations. As easy to use as an easy thing.

wobbly See Wobbly in action (examples) Add a drop of honey ?? to your project wobbly has a bunch of cool, fun, and easy to use iOS animations for you

Sagaya Abdulhafeez 151 Nov 16, 2021
AlertView, Ios popup window, A pop-up framework, Can be simple and convenient to join your project. IOS 提示框,IOS弹框,IOS弹窗

RAlertView AlertView A pop-up framework, Can be simple and convenient to join your project. Warning content Installation Depend on the project Masonry

杜耀辉 70 Sep 1, 2021
The Unofficial Apple iOS Swift Calendar View. Swift calendar Library. iOS calendar Control. 100% Customizable

Q: How will my calendar dateCells look with this library? A: However you want them to look. More Images Features Range selection - select dates in a r

PatchTheCode 7.1k Nov 21, 2021