WordPress for iOS - Official repository

Overview

WordPress for iOS

CircleCI Reviewed by Hound

Build Instructions

Please refer to the sections below for more detailed information. The instructions assume the work is performed from a command line.

Please note – these setup instructions only apply to Intel-based machines. M1-based Mac support is coming, but isn't yet supported by our tooling.

Getting Started

  1. Download and install Xcode. WordPress for iOS requires Xcode 11.2.1 or newer.
  2. From a command line, run git clone [email protected]:wordpress-mobile/WordPress-iOS.git in the folder of your preference.
  3. Now, run cd WordPress-iOS to enter the working directory.

Create WordPress.com API Credentials

  1. Create a WordPress.com account at https://wordpress.com/start/user (if you don't already have one).
  2. Create an application at https://developer.wordpress.com/apps/.
  3. Set "Redirect URLs"= https://localhost and "Type" = Native and click "Create" then "Update".
  4. Copy the Client ID and Client Secret from the OAuth Information.

Configure Your WordPress App Development Environment

  1. Return to the command line and run rake init:oss to configure your computer and WordPress app to be able to run and login to WordPress.com
  2. Once completed, run rake xcode to open the project in Xcode.

If all went well you can now compile to your iOS device or simulator, and log into the WordPress app.

Note: You can only log in with the WordPress.com account that you used to create the WordPress application.

Configuration Details

The steps above will help you configure the WordPress app to run and compile. But you may sometimes need to update or re-run specific parts of the initial setup (like updating the dependencies.) To see how to do that, please check out the steps below.

Third party tools

We use a few tools to help with development. Running rake dependencies will configure or update them for you.

CocoaPods

WordPress 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 WordPress.xcworkspace file, or launching Xcode and choose File > Open and browse to WordPress.xcworkspace.

Setup Credentials

In order to login to WordPress.com with the app you need to create an account over at the WordPress.com Developer Portal.

After you create an account you can create an application on the WordPress.com applications manager.

When creating your application, select "Native client" for the application type. The applications manager currently requires a "redirect URL", but this isn't used for mobile apps. Just use "https://localhost".

Your new application will have an associated client ID and a client secret key. These are used to authenticate the API calls made by your application.

Next, run the command rake credentials:setup you will be prompted for your Client ID and your Client Secret. Once added you will be able to log into the WordPress app

Remember the only WordPress.com account you will be able to login in with is the one used to create your client ID and client secret.

Read more about OAuth2 and the WordPress.com REST endpoint.

Contributing

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

Security

If you happen to find a security vulnerability, we would appreciate you letting us know at https://hackerone.com/automattic and allowing us to respond before disclosing the issue publicly.

Getting in Touch

If you have questions about getting setup or just want to say hi, join the WordPress Slack and drop a message on the #mobile channel.

Resources

License

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

Comments
  • Crash on startup after updating iOS

    Crash on startup after updating iOS

    Reported on 2284689-zen

    After updating WordPress for iOS, the app can no longer be started.
    If you delete it and install it again, it will be forcibly terminated after 
    login, and it will no longer be able to start.
    

    Similar cases in the forums:

    • https://ios.forums.wordpress.org/topic/wordpress-app-crashing
    • https://ios.forums.wordpress.org/topic/app-crashing-after-update

    This was reproduced in iPhone X with version 13.0, and iPhone 7. We could not reproduce it on 5s (iOS 12.4) or 6s . Here's a video of what @chaitanyamsv is experiencing on his phone:

    https://cld.wthms.co/8FL1PD Tested with iPhone 7 on iOS 12.2 right after upgrading to WPiOS 13.0.

    (EDIT) Crash details: https://github.com/wordpress-mobile/WordPress-iOS/issues/12338#issuecomment-535896537

    [Type] Crash [Pri] Medium General 
    opened by iamgabrielma 90
  • [Issue Fix] Task: Remove Site Switcher in the Editor

    [Issue Fix] Task: Remove Site Switcher in the Editor

    Fixes

    • Fixes #14744

    Description

    We have decided to remove Site Switcher in the Editor after collecting the Analytics Data as it's not a widely used feature & more importantly it was a source of few inconsistencies as captured on this (link on Internal References Section) proposal. This PR addresses that.

    Testing instructions

    • Start a new post in Gutenberg or Aztec Editor
    • We shouldn't have Site Switcher
    • Instead we should have the Site Title as the ViewController Title
    • During intermediate states like Generating Preview & Media Uploading, when we show left bar button item(s), Site Title should hide

    Screenshots

    |Before|After (Gutenberg)|After (Aztec)|After (Intermediate state of Generating Preview in Gutenberg)| |---|---|---|---| |Before|After new Gutenberg|After new Aztec|Simulator Screen Shot - iPhone 12 Pro Max 14 1 - 2021-04-01 at 16 22 59|

    Screen Recording

    Before

    https://user-images.githubusercontent.com/16770566/112341452-726cd080-8ce7-11eb-9b52-51e0617e8e5e.mov

    After

    https://user-images.githubusercontent.com/16770566/112641457-6e1bf100-8e68-11eb-9638-7872b9e95c75.mov

    After (Intermediate state of Generating Preview)

    https://user-images.githubusercontent.com/16770566/113284507-5e3c5b00-9307-11eb-88ad-646bbff96af1.mov

    PR submission checklist

    • [x] I have considered adding unit tests where possible.

    N/A

    • [x] I have considered adding accessibility improvements for my changes.

    |Before|After| |---|---| |Before Accessibility|Screenshot 2021-03-26 at 7 24 39 PM|

    Note: Pringles in the after image is the Site Title

    • [x] I have considered if this change warrants user-facing release notes and have added them to RELEASE-NOTES.txt if necessary.

    Note

    • Big shoutout 💯 🥳 to @ceyhun, my trial buddy for helping me out throughout. Please have a 👀, add the label & milestone, give some ❤️ if you like it 🤝

    Internal References

    For more details, please checkout

    • proposal (p9ugOq-1fv-p2)
    • my Trial plan (pbMoDN-2et-p2)
    Posting/Editing 
    opened by shahrukhalam 40
  • Dark Mode Master Issue

    Dark Mode Master Issue

    Goals

    dark-mode-i2

    Tasks

    Global

    • [x] Add XCODE11 build flag to support parallel development between Xcode 10 & 11 (#12120)
    • [x] Create initial set of preview screenshots
    • [x] First-pass at dark mode support on main tab bar screens
    • [x] Dark mode versions for badged state of tab bar images
    • [x] Fancy alerts have white backgrounds
    • [x] Revisions section has white backgrounds
    • [x] QuickStart has some white background
    • [x] Add new site flow has some white background
    • [ ] Update fancy button border style (https://github.com/wordpress-mobile/WordPress-iOS/issues/12320#issuecomment-527646730) #12592
    • [x] Change textPlaceholder Muriel color to use tertiaryLabel on iOS 13.
    • [x] Register domain has white backgrounds
    • [x] Edit comment is white text on white background.
    • [x] Pending comments have a white background.
    • [x] Gravatar cropping screen has a white background

    Regressions

    • [x] Reader tag area shows visible side gradients: https://github.com/wordpress-mobile/WordPress-iOS/issues/12457
    • [x] Web preview has blue toolbar on iOS 12

    NUX

    • [x] Dark mode for NUX
    • [x] Login NUX button has black spinner while signing in
    • [x] Header text on sign up bottom sheet isn't readable
    • [x] Header and footer on signup epilogue are white and should be listForeground
    • [ ] New account epilogue has a different color behind 'new account' which shouldn't be there https://github.com/wordpress-mobile/WordPress-iOS/issues/12593
    • [ ] Modal HUD shown after hitting Continue on New Account screen should use system grey background. https://github.com/wordpress-mobile/WordPress-iOS/issues/12595
    • [ ] Activity indicator on secondary NUX buttons appears white-on-white in light mode. #140

    Editor

    • [x] Dark mode for editor
    • [x] Dark text on dark background in Aztec HTML mode
    • [ ] Post Settings: Tags screen has white to the left and right of the tags field https://github.com/wordpress-mobile/WordPress-iOS/issues/12596
    • [ ] Post Settings: After setting a featured image, tapping on the featured image (e.g. to remove it) shows a white background https://github.com/wordpress-mobile/WordPress-iOS/issues/12597
    • [ ] Block editor: Bullet overlaps placeholder when adding a new list block (dark mode only) #1391 Gutenberg

    Stats

    • [x] Some areas in Stats Insights still have white backgrounds
    • [x] Dark countries map can be too dark to read

    My Sites

    • [x] Posts cells (expanded view) have white backgrounds for some labels
    • [x] Post / pages tab bar style should match Stats
    • [x] Themes support icon isn't being tinted correctly
    • [x] Ghost view in posts / pages has a white background
    • [x] Activity logs (in help and support) have white text on white background
    • [x] Plans are still light colored
    • [x] Activity screen is still light colored
    • [x] Reverse text and textSubtle colors in Activity Log list.
    • [x] Remove divider below 'free plan' footer in Activity Log list
    • [x] Plans list 'Best for...' text should use textSubtle
    • [x] Menus: Down arrows and reorder handles should use textTertiary (via textPlaceholder?) Page icon beside 'new item' should use listIcon color.
    • [x] Menus: When editing a menu name, use tertiarySystemBackground / gray80 for the background color. Text should be text and X icon should be listIcon.
    • [x] Sharing > Sharing Buttons / Manage > Edit sharing buttons – icons should use listIcon. "share this" and "official buttons" should use textSubtle.
    • [ ] Posts list: After trashing a post, the "undo" cell has a white background https://github.com/wordpress-mobile/WordPress-iOS/issues/12598
    • [ ] Settings: Time Zone & Tags screens have a white background when you pull to refresh https://github.com/wordpress-mobile/WordPress-iOS/issues/12599
    • [ ] Settings: Pickers have white text on white background (Posts per page & Discussion settings: Close commenting, Paging, Links in comments) https://github.com/wordpress-mobile/WordPress-iOS/issues/12600

    Reader

    • [ ] Tapping "Reply" on a reader comment shows a white background around the comment https://github.com/wordpress-mobile/WordPress-iOS/issues/12601
    • [ ] Followed Sites: Tapping Manage and then back leaves the "Manage" cell highlighted (white background) https://github.com/wordpress-mobile/WordPress-iOS/issues/12602
    • [ ] When liking a post, the star icon has a black background during the animation https://github.com/wordpress-mobile/WordPress-iOS/issues/12603

    Extensions

    • [x] Update widget
    • [x] Update share extension
    • [x] Update notifications rich content extension

    V2

    • [ ] Make tab bar translucent

    Switching between dark and light mode #12441

    • [ ] Reader Detail
    • [ ] Fancy button
    • [ ] SearchBar strokes

    Notifications

    • [x] Comment moderation has incorrect background on the comment cell, screenshot added to the thread.

    Analytics

    There are no analytics events for this project.

    Related issues

    This will finally close #6373 🎉

    [Type] Beta OS Dark mode 
    opened by nheagy 36
  • Reader: readability, autosizing and performance.

    Reader: readability, autosizing and performance.

    Welcome to the Reader readability, autosizing and scrolling performance PR. The bulk of this PR is geared towards improving our Reader experience on iPad and preparing the way for Reader split-view support. However, many many changes had to be made to support this and keep the experience optimal on both iPhone and iPad:

    • Removed a ton of technical debt/code.
    • Removed all of the previous manual cell height and layout calculation code.
    • Restructured all of our Reader cells for autosizing.
    • Additionally restructured our cells with UIStackViews for ease of layout and future adaptability.
    • Following Apple's ordained readable margins on all of our cell's content for both iPhone and iPad.
    • Took a step toward the upcoming Reader card refresh design by extending our borders to the edges of the screen rather than the boxes we've had before. This is also a far less complicated layout == better scrolling performance.
    • Paid very close attention to scrolling performance on all devices, including iPhone 4S, attempting to improve performance where we can.
    • Improved refresh, appearance and back-navigation performance.

    Note: The ReaderDetailViewController was only minimally touched for this PR and will await the upcoming detail view refresh to receive a needed layout overhaul.

    Note: The ReaderCommentsViewController was barely touched on this PR and will need its own revamp to properly support readability, autosizing and iPad. For now, we present Reader comments as a modal on iPad.

    Bonus: Fixes: #5994 Fixes: #5981

    iPhone and iPad

    1. Ensure Reader cards render as expected on all Reader menu streams.
    2. Ensure Reader stream scrolling performance is as expected and at least as good as before on older devices, such as iPhone 4S.
    3. Ensure Reader cards are following readable margins on iPhone, iPhone Plus landscape, and iPad.
    4. Test that all buttons on Reader cards work as expected.

    iPad

    1. Check that comments open in a modal view controller for Reader streams and from Reader detail.
    2. Check that #5082 doesn't reproduce.
    3. Test transitioning from iPad split-multitasking transitions nicely and correctly for readable margins.

    iPhone

    1. Check that Reader comments open as a push onto the navigation stack.
    2. Check that #5082 doesn't reproduce on iPhone Plus landscape orientation.

    Review

    • @frosty are you willing to take a long stroll through some Reader code? I promise most of the +- are from nibs. 😅 We can add additional code reviewers if you'd like.
    • @aerych can you take a look at the changes made in WPTableViewHandler as those are particular to the many discussions we've had.

    Also, @aerych it would be amazing if you could spend some time testing throughout the Reader experience on both iPhone and iPad to ensure I haven't missed any gotchas or other historical Reader issues that you would be familiar with.

    Design Review

    @jancavan and/or @mattmiklic can you take a stroll through this build or screenshots? We've made some scrolling performance-dependent design decisions in sync with the upcoming cards refresh. I opted not to go too far into the new refresh design or into what is requested on #5769 as those are better suited for a separate PR. Let me know if anything stands out for this round that we should address now.

    Screenshots

    simulator screen shot oct 14 2016 5 25 12 pm

    simulator screen shot oct 14 2016 5 26 36 pm

    Reader hide-from-daily-report 
    opened by kurzee 36
  • Some uploaded images have device path for src, not the image URL on the blog.

    Some uploaded images have device path for src, not the image URL on the blog.

    Reported in the forums:

    Using the current iOS (iPad) Wordpress app to post to a self-hosted (absolutely up-to-date) WordPress Install
    
    Images are uploading 100% AOK but the links in the posts are wrong/nonsense - likely the file on the iPad and not the site?
    
    They looking like
    
    <img data-wpid="2BD088EC-EAC7-4879-8B26-ABDAE30C4261" src="/var/mobile/Containers/Data/Application/9EB99EF4-F0D2-4F4E-850B-4A6F493AC6F5/Documents/Media/img_1230-thumbnail.jpeg" alt="">
    

    Opening this issue to track.

    [Type] Bug Media 
    opened by aerych 36
  • Issues/3506 refresh post page list ui

    Issues/3506 refresh post page list ui

    This pull requests introduces a new style post list and a number of new features.

    • Posts are now displayed as a card view.
    • A post can be displayed in one of three styles depending on whether it is text only, includes images, or has a featured image.
    • The list can be searched locally.
    • The list can be filtered.
    • The trash folder is now supported and posts can be restored from the trash.
    • Multi-author blogs have the option to show posts from all authors or just the signed in user.
    • You can view status for a specific post.

    To accommodate the new features there were changes to:

    • core data, we have a new model revision
    • service and network layers to support new and modified calls
    • how the app handles post status
    • NUX and Me for synching user details (like ID)
    • miscellaneous changes to related functionality

    This is a very significant (and sizable) change and I’d like to have at least a couple of reviewers to help vet all the things, but I'd like to ping a few folks for some specifics : For the storyboards, xibs and layout: @jleandroperez or @astralbodies For changes to core data, networking, and service layers @astralbodies or @koke For changes that impact the editor: @bummytime or @diegoreymendez

    Thank you all very much in advance. I will owe you many :beers: for this one.

    Refs #3506

    opened by aerych 34
  • Menus: MenuItem editing view controllers and views

    Menus: MenuItem editing view controllers and views

    This is a continuation of https://github.com/wordpress-mobile/WordPress-iOS/pull/5268 in which we decided to refactor the previous implementation. This PR includes the refactor of nested view controllers as well as including the complete MenuItemEditingViewController and supplemental editing views.

    Note: The addition numbers are bloated here since I renamed the files to reflect the refactor of nested view controllers. The MenuItemSourceXXXX view controller are largely untouched from their previous implementation as standalone views once reviewed in https://github.com/wordpress-mobile/WordPress-iOS/pull/5268

    To test:

    1. Build and run the staging branch feature/menus-views to load the complete Menus implementation.
    2. Select a .com site with admin rights.
    3. Select "Menus" under the site options.
    4. Select a MenuItem to edit its source, such as "Home", "About", "Blog", etc.
    5. Source views are loaded as Pages, Posts, Link, Categories, Tags or Posts using custom content types.
    6. You can select different types by hitting the header area with the left chevron, which loads the corresponding sources in the correct source view.

    Pages

    • [ ] Test that pages load as expected for a site.
    • [ ] Test that searching loads both local and remote pages.
    • [ ] Test that selecting a page and pressing the "OK" button dismisses the view and updated the item on the starting Menus screen.

    Posts

    • [ ] Test that posts load as expected for a site.
    • [ ] Test that searching loads both local and remote posts.
    • [ ] Test that posts continue loading via paging when scrolling to the bottom for a site with many posts.
    • [ ] Test that selecting a post and pressing the "OK" button dismisses the view and updated the item on the starting Menus screen.

    Link

    • [ ] Test that the "LINK ADDRESS (URL)" field accepts text as expected.
    • [ ] Test that the "Open new link" checkbox checks and un-checks as expected.

    Categories

    • [ ] Test that the categories load as expected for a site.
    • [ ] Ensure the parent/child nesting is as expected for a site.
    • [ ] Test that selecting a category and pressing the "OK" button dismisses the view and updated the item on the starting Menus screen.

    Tags

    • [ ] Test that the tags load as expected for a site.
    • [ ] Test that searching tags loads both local and remote tags for a site as expected.
    • [ ] Test that paging a long list of tags loads as expected for a site.
    • [ ] Test that selecting a tag and pressing the "OK" button dismisses the view and updated the item on the starting Menus screen.

    Custom Posts

    • [ ] Load some custom post types for a site/theme as noted in https://jetpack.com/support/custom-content-types/
    • [ ] Create posts using these types on the site.
    • [ ] Load the associated custom type with the app Menus editing.
    • [ ] Test that the custom posts load as expected for the site.
    • [ ] Test that selecting a post and pressing the "OK" button dismisses the view and updated the item on the starting Menus screen.

    Title Editing

    • [ ] Test that updating the title text in the top header text area updates the title of the item by hitting
    • [ ] "OK" to save the change and it is reflected on the starting Menus view.

    Cancel Button

    • [ ] Test that making changes to the item and hitting the "Cancel" button indeed cancels the changes the MenuItem is unchanged on the starting Menus view.

    Trash Button

    • [ ] Test that pressing the trash icon button dismisses the view and deletes the item from the starting Menus view.

    Needs review: @aerych 🎉🎉🎉 (let me know if I'm crazy)

    Menus 
    opened by kurzee 31
  • NSInternalInconsistencyException: Invalid update: invalid number of rows in section 0. The number of rows contained in an existing ...

    NSInternalInconsistencyException: Invalid update: invalid number of rows in section 0. The number of rows contained in an existing ...

    Sentry Issue: WORDPRESS-IOS-1FZ2

    NSInternalInconsistencyException: Invalid update: invalid number of rows in section 0. The number of rows contained in an existing section after the update (10) must be equal to the number of rows contained in that section before the update (10), plus or minus the number of rows inserted or deleted from that section (1 inserted, 0 deleted) and plus or minus the number of rows moved into or out of that section (0 moved in, 0 moved out). ?, in <redacted> ?, in <redacted> ... (26 additional frame(s) were not displayed)

    [Type] Crash [Pri] High Posting/Editing Beta Request iOS 13 
    opened by sentry-io[bot] 30
  • Issues/reader comments

    Issues/reader comments

    This PR refreshes the reader comment table view cells UI, updating the style to match what is currently in the Calypso reader and replacing the DTCoreText backed WPRichTextView with our new WPRichContentView.

    Fixes: #4034 Fixes: #4710 Fixes: #4641 Fixes: #6083 Refs: #5594

    To test: Take the ReaderCommentViewController for a test drive and confirm that all the following work as expected:

    • Comments still load :)
    • Threaded comments are properly nested up to 4 levels deep.
    • You can like a comment. A liked comment correctly shows its status.
    • You can reply to a comment.
    • The comment author can be tapped to view the author's blog when the author's URL is available.
    • Comments still load more as expected.
    • The post header and the reply text view are resized when changing orientation, and when multitasking on the iPad.
    • Links in comments are opened correctly.
    • Images in comments display correctly and can be previewed.
    • Videos in comments display correctly and can be played.

    Needs review: @kurzee would you be game for the code review?
    cc @jleandroperez

    Once this one lands, there will be a final PR to remove DT and the last of its dependencies. :)

    Before:

    simulator screen shot nov 30 2016 4 56 49 pm

    After:

    simulator screen shot nov 30 2016 4 55 15 pm

    Reader 
    opened by aerych 29
  • Comments: new posts published with the app have comments disabled even though the site discussion setting for new posts is to enable comments by default

    Comments: new posts published with the app have comments disabled even though the site discussion setting for new posts is to enable comments by default

    Posts published via the app have “Allow Comments” off even though the My Sites > Settings > Discussion > Allow Comments option is toggled on.

    The problem in a nutshell: up until the next to last update I was able to post from the app with comments enabled by default. Now comments posted from the app have comments disabled by default and I have to manually fix that every day.

    • WPiOS 13.7
    • iOS 12.3.1
    • Type of site: WordPress.com Personal Plan

    (internal references: 14015487-hc, 2185450-zen // originally reported 2019-07-17)

    Noting part of a discussion we had about this case earlier which may be helpful:

    Took a quick look at the code for the v1.1 and v1.2 REST endpoints to create and update a post. A discussion parameter can be passed to enable or disable comments (among other things) but if it isn’t specified nothing specific is done. I’d assume that whatever the default is for the site would apply? I double checked the WPiOS post service and post service remote code and it doesn't look like discussion is one of the passed parameters.

    (internal reference: p4a5px-2q4-p2#comment-10284 /hat tip @aerych)

    Note: a few of us have tried a few times to replicate this bug but have not been able to so far.

    [Type] Bug [Pri] High Site Settings Comments 
    opened by designsimply 28
  • Extract filterable categories class and use for layouts and site designs

    Extract filterable categories class and use for layouts and site designs

    Fixes https://github.com/wordpress-mobile/gutenberg-mobile/issues/3125

    Related PR:

    WordPressKit-iOS: https://github.com/wordpress-mobile/WordPressKit-iOS/pull/352

    Description

    This PR extracts a FilterableCategoriesViewController class from the implementation previously used in the modal layout picker so that the site design collection screen can use the same filterable categories view controller.

    Since there are differences in the sibling subclasses (and the types used to represent their data), I've also introduced a CategorySection protocol which allows each subclass to continue to benefit from the strong type bindings, but also utilize the more general implementations of the superclass they inherit from for most of the filtering and display logic.

    :construction: Device Mode Selection

    Since the device mode selection feature has not yet been added to the modal layout picker, the extracted class does not support this yet. This will need to be implemented in the superclass to retain the feature for the site design screen (and it will subsequently be enabled for the modal layout screen as well).

    Update: This has been updated to re-enable device mode selection on the site design screen. The feature can be enabled for the modal layout picker in a subsequent PR.

    Testing steps

    The steps to test are mostly the same as flows we've already tested, e.g. the category filters should work the same way in the site design screen as they do in the layout picker. To be thorough, I've enumerated many of the flows below.

    :desert: Sandbox

    In order to test this PR, the API will need to be sandboxed until the API changes are deployed.

    Update: The API changes have been deployed. This PR can now be tested without sandboxing :tada:

    Modal Layout Picker

    The layout picker for new pages should behave the same as before. Test to make sure no regressions were introduced during the refactoring.

    Create / preview a page tests

    Create a Blank Page

    1. Create a new page for a Gutenberg site.
    2. Select "Create a Blank Page"
      • Expect to see the Editor Load and not present the old Starter Page Template Picker Bar

    Create a Page from a layout

    1. Create a new page for a Gutenberg site.
    2. Select a layout
    3. Select "Create Page"
      • Expect to see the Editor Load with the contents of the layout

    Preview a layout

    1. Create a new page for a Gutenberg site.
    2. Select a layout
    3. Select "Preview"
      • Expect to see a Read-Only Editor load with the contents of the layout
    4. Select "Create Page"
      • Expect to see the Editor load with the contents of the layout
    Filter bar tests

    Select a Category

    1. Select a category
      • Expect to see the sections condensed to be only the selected category filter
    2. Deselect the category
      • Expect to see the other categories return

    Select Multiple-Categories

    1. Select a category
      • Expect to see the sections condensed to be only the selected category filter
    2. Select a different category
      • Expect to see the new section added to the list
    3. Deselect a category
      • Expect the list to update again to be only the selected categories
    4. Deselect the rest of the categories
      • Expect the all of the categories to return

    Selecting a Layout then filter on the same category

    1. Select a layout in a category such as Blog
    2. Select the category in the filter bar that matches the category of the selected layout
      • Expect to see the section updated to only show the selected category, and for the selected layout to still be selected.
    3. Deselect the category in the filter
      • Expect to see the other categories return, and for the selected layout to still be selected.

    Selecting a Layout then filter on the same category deselect layout

    1. Select a layout in a category such as Blog
    2. Select the category in the filter bar that matches the category of the selected layout
      • Expect to see the section updated to only show the selected category, and for the selected layout to still be selected.
    3. Deselect the layout
      • Expect the bottom bar to revert to "Create a Blank Page"
    4. Deselect the category in the filter
      • Expect to see the other categories return, and for no layout to be selected

    Selecting a Layout then filter on a different category

    1. Select a layout in a category such as Blog
    2. Select a category in the filter bar that does not match the category of the selected layout
      • Expect to see the section updated to only show the selected category, and for the bottom bar to remain as "Preview" and "Create Page"
    3. Deselect the category in the filter
      • Expect to see the other categories return, and for the selected layout to still be selected.

    Selecting a Layout then filter on a different category select a different layout

    1. Select a layout in a category such as Blog
    2. Select a category in the filter bar that does not match the category of the selected layout
      • Expect to see the section updated to only show the selected category, and for the bottom bar to remain as "Preview" and "Create Page"
    3. Select a different layout
    4. Deselect the category in the filter
      • Expect to see the other categories return, and for the selected layout from step 3 to still be selected.

    Site Design Picker

    Navigate to the Create WordPress.com site - My Sites > ➕ > Create WordPress.com site

    Create / preview site tests

    Create a Site - Selecting a Design

    Steps
    1. Select a design
    2. Expect
      • To see the footer slide in from the bottom
      • To see a border and checkmark animate in place on the selected design.
    3. Select Choose
    4. Expect
      • To see the analytics event enhanced_site_creation_site_design_selected with the property template populated with the selected layout's slug
    5. Search for and select a domain
    6. Select Create Site
    7. Expect
      • To see a temporary screen as the site is being created
      • To see the site confirmation screen.

    Preview then Create a Site

    Steps
    1. Select a design
    2. Select Preview
    3. Expect the preview to show for the selected design
    4. Select Choose
    5. Expect to see the preview modal dismiss and for the Choose a Domain screen to be "pushed" on to the navigation flow.
    6. Search for and select a domain
    7. Select Create Site
    8. Expect
      • To see a temporary screen as the site is being created
      • To see the site confirmation screen.
    Categories

    The site design collection screen should now show a category filter bar that functions the same as that used in the layout picker.

    Filter bar tests

    Select a Category

    1. Select a category
      • Expect to see the sections condensed to be only the selected category filter
    2. Deselect the category
      • Expect to see the other categories return

    Select Multiple-Categories

    1. Select a category
      • Expect to see the sections condensed to be only the selected category filter
    2. Select a different category
      • Expect to see the new section added to the list
    3. Deselect a category
      • Expect the list to update again to be only the selected categories
    4. Deselect the rest of the categories
      • Expect the all of the categories to return

    Selecting a design then filter on the same category

    1. Select a design in a category such as Blog
    2. Select the category in the filter bar that matches the category of the selected design
      • Expect to see the section updated to only show the selected category, and for the selected design to still be selected.
    3. Deselect the category in the filter
      • Expect to see the other categories return, and for the selected design to still be selected.

    Selecting a design then filter on the same category deselect design

    1. Select a design in a category such as Blog
    2. Select the category in the filter bar that matches the category of the selected design
      • Expect to see the section updated to only show the selected category, and for the selected design to still be selected.
    3. Deselect the design
      • Expect the bottom bar to revert to "Create a Blank Page"
    4. Deselect the category in the filter
      • Expect to see the other categories return, and for no design to be selected

    Selecting a design then filter on a different category

    1. Select a design in a category such as Blog
    2. Select a category in the filter bar that does not match the category of the selected design
      • Expect to see the section updated to only show the selected category, and for the bottom bar to remain as "Preview" and "Create Page"
    3. Deselect the category in the filter
      • Expect to see the other categories return, and for the selected design to still be selected.

    Selecting a design then filter on a different category select a different design

    1. Select a design in a category such as Blog
    2. Select a category in the filter bar that does not match the category of the selected design
      • Expect to see the section updated to only show the selected category, and for the bottom bar to remain as "Preview" and "Create Page"
    3. Select a different design
    4. Deselect the category in the filter
      • Expect to see the other categories return, and for the selected design from step 3 to still be selected.

    Preview Device Mode Selection

    Site design thumbnails

    Tests

    Initial Mode on a Phone

    1. Start the Home Page Picker on a phone
    2. Verify that mobile thumbnails are displayed

    Initial Mode on a Tablet

    1. Start the Home Page Picker on a tablet
    2. Verify that tablet thumbnails are displayed

    Thumbnail options availability

    1. Start the Home Page Picker on a phone
    2. Verify that there is a thumbnail button at the left of skip
    3. Press the thumbnail button
    4. Verify that three options are displayed: Mobile, Tablet, Desktop

    Change to Tablet

    1. Start the Home Page Picker on a phone
    2. Press the thumbnail button (at the left of skip)
    3. Select Tablet
    4. Verify that tablet thumbnails are displayed

    Change to Desktop

    1. Start the Home Page Picker on a phone
    2. Press the thumbnail button (at the left of skip)
    3. Select Desktop
    4. Verify that desktop thumbnails are displayed

    Change to Mobile

    1. Start the Home Page Picker on a phone
    2. Change to Desktop as above
    3. Press the thumbnail button (at the left of skip)
    4. Select Mobile
    5. Verify that mobile thumbnails are displayed

    Site design previews

    Tests

    Preview options availability

    1. Start the Home Page Picker
    2. Select a design
    3. Press the Preview button
    4. Verify that there is a preview mode button at the top right of the screen
    5. Press the preview mode button
    6. Verify that three options are displayed: Mobile, Tablet, Desktop

    Mobile preview

    1. Start the Home Page Picker
    2. Select a design
    3. Press the Preview button
    4. Press the preview mode button
    5. Select Mobile
    6. Verify that a mobile preview is displayed

    Tablet preview

    1. Start the Home Page Picker
    2. Select a design
    3. Press the Preview button
    4. Press the preview mode button
    5. Select Tablet
    6. Verify that a tablet preview is displayed

    Desktop preview

    1. Start the Home Page Picker
    2. Select a design
    3. Press the Preview button
    4. Press the preview mode button
    5. Select Desktop
    6. Verify that a desktop preview is displayed

    Mode between steps

    Tests

    Change mode on the preview screen

    1. Start the Home Page Picker on a phone
    2. Select a design
    3. Press the Preview button
    4. Press the preview mode button
    5. Select Desktop
    6. Verify that desktop mode is displayed
    7. Close the preview screen (back or swipe down)
    8. Verify that desktop thumbnails are displayed

    Change mode from the design screen

    1. Start the Home Page Picker on a phone
    2. Press the preview mode button
    3. Select Desktop
    4. Select a design
    5. Press the Preview button
    6. Verify that a desktop preview is displayed

    PR submission checklist:

    • [x] I have considered adding unit tests where possible.
    • [x] I have considered adding accessibility improvements for my changes.
    • [x] I have considered if this change warrants user-facing release notes and have added them to RELEASE-NOTES.txt if necessary.
    [Type] Enhancement Site Creation 
    opened by mkevins 27
  • Jetpack Focus: Features are removed before the UI is reloaded

    Jetpack Focus: Features are removed before the UI is reloaded

    Expected behavior

    Hold off on removing features, until we have a change to reload the UI and remove all features at one go.

    Steps to reproduce

    Launch the app Enable Phase 4 flag from the debug menu Return to My Site Pull to refresh Notice that JP features are removed from the menu but the tab bar and dashboard are still accessible.

    [Type] Bug Jetpack Focus 
    opened by hassaanelgarem 0
  • Add note about updating `.xcode-version` in Buildkite pipelines

    Add note about updating `.xcode-version` in Buildkite pipelines

    See conversation at https://github.com/wordpress-mobile/WordPress-iOS/pull/19793/files#r1052892161

    To test

    This change does not affect either the codebase or the automation. Green CI will suffice.

    Regression Notes

    1. Potential unintended areas of impact – N.A.
    2. What I did to test those areas of impact (or what existing automated tests I relied on) – N.A.
    3. What automated tests I added (or what prevented me from doing so) – N.A.

    • [x] I have completed the Regression Notes.
    • [x] I have considered adding unit tests for my changes. N.A.
    • [x] I have considered adding accessibility improvements for my changes. N.A.
    • [x] I have considered if this change warrants user-facing release notes and have added them to RELEASE-NOTES.txt if necessary. N.A.
    Tooling 
    opened by mokagio 1
  • Jetpack Focus: Add switch card to the menu in phase 4

    Jetpack Focus: Add switch card to the menu in phase 4

    Closes #19813 Design ref: qk5s4q4mZsXknwhMWo2vIY-fi-439%3A5242

    Description

    This PR adds a "Switch to Jetpack" button to the bottom of the menu in phase 4. The card from phase 3 is reused here with a few modifications to match the design of the phase 4 card.

    Screenshots

    | Light Mode | Dark Mode | | - | - | |light|dark|

    Testing Instructions

    1. Go to JetpackBrandingMenuCardPresenter.swift line 173
    2. Change the value of secondsInDay to any small value, 10, for example
    3. Launch the app
    4. Open the debug menu and enable "Jetpack Features Removal Phase Three"
    5. Kill and relaunch the app
    6. Make sure the menu card is displayed as the first menu item
    7. Make sure the card matches the design
    8. Make sure tapping the card displays the overlay
    9. Tap the ellipsis and tap on "Hide this"
    10. The card should be removed
    11. Open the debug menu and enable "Jetpack Features Removal Phase Four"
    12. Kill and relaunch the app
    13. Make sure the menu card is displayed as the last menu item
    14. Make sure the card is compact and matches the design
    15. Make sure tapping the card displays the overlay
    16. Tap the ellipsis and tap on "Remind me later"
    17. The card should be removed
    18. Wait for the duration to pass (If you set secondsInDay to 10, then wait for 40 seconds)
    19. Pull to refresh the menu
    20. Make sure the menu card is displayed

    Regression Notes

    1. Potential unintended areas of impact Phase 3 card

    2. What I did to test those areas of impact (or what existing automated tests I relied on) Manual testing and JetpackBrandingMenuCardPresenterTests

    3. What automated tests I added (or what prevented me from doing so) N/A

    PR submission checklist:

    • [x] I have completed the Regression Notes.
    • [x] I have considered adding unit tests for my changes.
    • [x] I have considered adding accessibility improvements for my changes.
    • [x] I have considered if this change warrants user-facing release notes and have added them to RELEASE-NOTES.txt if necessary.
    [Type] Task Jetpack Focus 
    opened by hassaanelgarem 0
  • [Stats Revamp]: Remove " button from Views & Visitors card in details">

    [Stats Revamp]: Remove "Week >" button from Views & Visitors card in details

    Description

    "Views and Visitors" card in details view has "Week >" button which leads nowhere.

    It's a regression from Rebuild Views & Visitors card when selected segment changes since I expanded siteStatsInsightDetailsDelegate with viewsAndVisitorsSegmentChanged and started using in both details and insights tab. However, StatsBaseCell uses siteStatsInsightDetailsDelegate != nil to determine whether to show the "Week >" button.

    Move viewsAndVisitorsSegmentChanged to a separate delegate to avoid breaking siteStatsInsightDetailsDelegate != nil shouldShowDetailsButton() mechanism in StatsBaseCell

    Testing instructions

    Enable "New Appearance for Stats" and "New Cards for Stats Insights" feature flag

    Case 1:

    1. Open Stats
    2. Add Views & Visitors card
    3. Click "Week"
    4. Confirm that Views & Visitors in details view does not have "Week button"

    Regression Notes

    1. Potential unintended areas of impact

    Breaking changes in https://github.com/wordpress-mobile/WordPress-iOS/pull/19818

    1. What I did to test those areas of impact (or what existing automated tests I relied on)

    Retesting

    1. What automated tests I added (or what prevented me from doing so)

    None

    PR submission checklist:

    • [x] I have completed the Regression Notes.
    • [x] I have considered adding unit tests for my changes.
    • [x] I have considered adding accessibility improvements for my changes.
    • [x] I have considered if this change warrants user-facing release notes and have added them to RELEASE-NOTES.txt if necessary.

    Images & Videos

    Before the fix

    https://user-images.githubusercontent.com/4062343/210357851-34dc0954-57dc-4c1c-b77f-dbc4d7dbc22a.MP4

    After the fix

    https://user-images.githubusercontent.com/4062343/210358982-5b861b1c-364a-4799-a45c-37626d5774e3.mp4

    [Type] Bug Stats Stats Revamp 
    opened by staskus 3
Releases(21.4.0.2)
  • 21.4.0.2(Jan 4, 2023)

    • [*] Fixed an issue where publishing Posts and Pages could fail under certain conditions. [#19717]
    • [*] Share extension navigation bar is no longer transparent [#19700]
    • [***] You can now migrate your site content to the Jetpack app without a hitch. [#19759]
    • [**] [internal] Upgrade React Native from 0.66.2 to 0.69.4 [wordpress-mobile/gutenberg-mobile#5193]
    • [*] [internal] When a user migrates to the Jetpack app and allows notifications, WordPress app notifications are disabled. [#19616, #19611, #19590]
    • [*] Reader now scrolls to the top if the tab bar button is tapped. [#19769]
    Source code(tar.gz)
    Source code(zip)
    WordPress.xarchive.zip(220.84 MB)
  • 21.4.0.1(Dec 30, 2022)

    • [*] Fixed an issue where publishing Posts and Pages could fail under certain conditions. [#19717]
    • [*] Share extension navigation bar is no longer transparent [#19700]
    • [***] You can now migrate your site content to the Jetpack app without a hitch. [#19759]
    • [**] [internal] Upgrade React Native from 0.66.2 to 0.69.4 [wordpress-mobile/gutenberg-mobile#5193]
    • [*] [internal] When a user migrates to the Jetpack app and allows notifications, WordPress app notifications are disabled. [#19616, #19611, #19590]
    • [*] Reader now scrolls to the top if the tab bar button is tapped. [#19769]
    Source code(tar.gz)
    Source code(zip)
    WordPress.xarchive.zip(220.86 MB)
  • 21.4.0.0(Dec 16, 2022)

    • [*] Fixed an issue where publishing Posts and Pages could fail under certain conditions. [#19717]
    • [*] Share extension navigation bar is no longer transparent [#19700]
    • [***] [Jetpack-only] Adds a smooth, opt-in transition to the Jetpack app for users migrating from the WordPress app. [#19759]
    • [***] You can now migrate your site content to the Jetpack app without a hitch. [#19759]
    • [**] [internal] Upgrade React Native from 0.66.2 to 0.69.4 [wordpress-mobile/gutenberg-mobile#5193]
    • [*] [internal] When a user migrates to the Jetpack app and allows notifications, WordPress app notifications are disabled. [#19616, #19611, #19590]
    • [*] Reader now scrolls to the top if the tab bar button is tapped. [#19769]
    Source code(tar.gz)
    Source code(zip)
    WordPress.xarchive.zip(220.79 MB)
  • 21.3.0.3(Dec 7, 2022)

  • 21.3.0.2(Dec 6, 2022)

    ~~You can now migrate your site content to the Jetpack app without a hitch.~~

    We fixed a small visual issue with the Home and Menu control in the My Site dashboard.

    We also squashed a bug in My Site. The "Disconnect from WordPress.com” button now disconnects when tapped and will refresh the app.

    Source code(tar.gz)
    Source code(zip)
    WordPress.xarchive.zip(220.86 MB)
  • 21.3.0.1(Dec 2, 2022)

  • 21.2(Dec 2, 2022)

  • 21.3.0.0(Nov 28, 2022)

    • [*] [internal] When a user migrates to the Jetpack app and allows notifications, WordPress app notifications are disabled. This is released disabled and is behind a feature flag. [#19616, #19611, #19590]
    • [*] Fixed a minor UI issue where the segmented control under My SIte was being clipped when "Home" is selected. [#19595]
    • [*] Fixed an issue where the site wasn't removed and the app wasn't refreshed after disconnecting the site from WordPress.com. [#19634]
    • [*] [internal] Fixed an issue where Jetpack extensions were conflicting with WordPress extensions. [#19665]
    Source code(tar.gz)
    Source code(zip)
    WordPress.xarchive.zip(220.76 MB)
  • 21.2.0.2(Nov 24, 2022)

  • 21.2.0.1(Nov 18, 2022)

  • 21.2.0.0(Nov 14, 2022)

  • 21.1(Nov 14, 2022)

  • 21.1.0.1(Nov 9, 2022)

  • 21.1.0.0(Oct 31, 2022)

    • [*] [internal] Database access change: the 'new Core Data context structure' feature flag is turned on by default. [#19433]
    • [*] Block Editor: Fixed iOS Voice Control support within Image block captions. [WordPress/gutenberg#44850]
    • [***] Dropped support for iOS 13. Now supporting iOS 14.0 and above. [#19509]
    Source code(tar.gz)
    Source code(zip)
    WordPress.xarchive.zip(220.54 MB)
  • 21.0(Oct 31, 2022)

    Welcome to version 21! We updated the app’s launch screen with a simple, sleek design and made some user-friendly design upgrades to the Comment Details view.

    We also fixed a handful of bugs.

    • Publish text won’t appear when you’re working on a Post or Page in landscape mode, only portrait. No more keyboard overlap.
    • Cached notifications no longer appear on screen after you log out of your WordPress.com account.
    • We investigated the case of the vanishing navigation bar during the Login process. It now stays visible from start to finish. Mystery solved.
    Source code(tar.gz)
    Source code(zip)
    WordPress.xarchive.zip(234.76 MB)
  • 21.0.0.1(Oct 26, 2022)

    Welcome to version 21! We updated the app’s launch screen with a simple, sleek design and made some user-friendly design upgrades to the Comment Details view.

    We also fixed a handful of bugs.

    • Publish text won’t appear when you’re working on a Post or Page in landscape mode, only portrait. No more keyboard overlap.
    • Cached notifications no longer appear on screen after you log out of your WordPress.com account.
    • We investigated the case of the vanishing navigation bar during the Login process. It now stays visible from start to finish. Mystery solved.
    Source code(tar.gz)
    Source code(zip)
    WordPress.xarchive.zip(234.78 MB)
  • 21.0.0.0(Oct 17, 2022)

    • [*] Fixed an issue where the cached notifications are retained after logging out of WordPress.com account [#19360]
    • [*] Update launch screen. [#19341]
    • [*] Reader: Comment Details have been redesigned. [#19387]
    • [*] [internal] A refactor in weekly roundup notification scheduler. [#19422]
    • [*] [internal] A low level database refactor around fetching cards in the Reader tab. [#19427]
    • [*] Stories: Fixed an issue where the keyboard would overlap with the publish dialog in landscape. [#19350]
    • [*] [internal] A refactor in fetch Reader posts and their comments. [#19458]
    • [*] Fixed an issue where the navigation bar becomes invisible when swiping back to Login Prologue screen. [#19461]
    Source code(tar.gz)
    Source code(zip)
    WordPress.xarchive.zip(234.77 MB)
  • 20.9(Oct 16, 2022)

    You can now cancel a WordPress.com login while you’re already logged in to a self-hosted site—no more getting stuck on the login screen if you change your mind.

    We also squashed several bugs in this latest update.

    • Once upon a time, we fixed an issue where deleting one image in a Story Post draft would prevent the next image in the story from loading. And everyone lived happily ever after.
    • On iPad displays, the “Turn on notifications” button no longer sits overtop the instructions for turning on push notifications. The “No result” side menu text now fits on screen, too.
    • Content above the Powered by Jetpack banner now stays visible and responsive while you’re scrolling. Up, up, and away.
    Source code(tar.gz)
    Source code(zip)
    WordPress.xarchive.zip(235.18 MB)
  • 20.9.0.1(Oct 12, 2022)

    You can now cancel a WordPress.com login while you’re already logged in to a self-hosted site—no more getting stuck on the login screen if you change your mind.

    We also squashed several bugs in this latest update.

    • Once upon a time, we fixed an issue where deleting one image in a Story Post draft would prevent the next image in the story from loading. And everyone lived happily ever after.
    • On iPad displays, the “Turn on notifications” button no longer sits overtop the instructions for turning on push notifications. The “No result” side menu text now fits on screen, too.
    • Content above the Powered by Jetpack banner now stays visible and responsive while you’re scrolling. Up, up, and away.
    Source code(tar.gz)
    Source code(zip)
    WordPress.xarchive.zip(235.17 MB)
  • 20.9.0.0(Oct 3, 2022)

    • [*] Login Flow: Provide ability for user to cancel login WP.com flow when already logged in to a self-hosted site [#19349]
    • [*] Powered by Jetpack banner: Fixed an edge case where some scroll views could momentarily become unresponsive to touch. [#19369]
    • [*] Fixed an issue where the push notifications prompt button would overlap on iPad. [#19304]
    • [*] Story Post: Fixed an issue where deleting one image in a story draft would cause the following image not to load. [#16966]
    • [*] Fixed an issue where the no result label on the side menu is oversize on iPad. [#19305]
    • [*] [internal] Various low level database refactors around posts, pages, and comments. [#19353, #19363, #19386]
    Source code(tar.gz)
    Source code(zip)
    WordPress.xarchive.zip(235.19 MB)
  • 20.8(Oct 2, 2022)

    We made some changes to user mentions. When you reply to a post or comment and tag another user, your list of suggested users will begin with names that start with your search query. The list will then continue alphabetically after that. We also fixed a problem where the list of suggested users would vanish after expanding or collapsing the field for reply content. Presto, no more disappearing act.

    Source code(tar.gz)
    Source code(zip)
    WordPress.xarchive.zip(273.50 MB)
  • 20.8.0.1(Sep 28, 2022)

    We made some changes to user mentions. When you reply to a post or comment and tag another user, your list of suggested users will begin with names that start with your search query. The list will then continue alphabetically after that. We also fixed a problem where the list of suggested users would vanish after expanding or collapsing the field for reply content. Presto, no more disappearing act.

    Source code(tar.gz)
    Source code(zip)
    WordPress.xarchive.zip(273.51 MB)
  • 20.8.0.0(Sep 19, 2022)

    • [*] User Mention: When replying to a post or a comment, sort user-mentions suggestions by prefix first then alphabetically. [#19218]
    • [*] User Mention: Fixed an issue where the user-mentions suggestions were disappearing after expanding/collapsing the reply field. [#19248]
    • [***] [internal] Update Sentry, our crash monitoring tool, to its latest major version [#19315]
    Source code(tar.gz)
    Source code(zip)
    WordPress.xarchive.zip(273.50 MB)
  • 20.7(Sep 19, 2022)

  • 20.7.0.3(Sep 16, 2022)

  • 20.7.0.2(Sep 9, 2022)

  • 20.7.0.1(Sep 9, 2022)

  • 20.6.1(Sep 8, 2022)

  • 20.7.0.0(Sep 5, 2022)

  • 20.6(Sep 5, 2022)

Owner
WordPress Mobile
WordPress Mobile
VLC for iOS and tvOS official mirror

This is the official mirror repository of VLC for iOS and tvOS application. You can find the official repository here. It's currently written in Objec

VideoLAN 798 Dec 28, 2022
Firefox for iOS, branch works with Xcode 12.5.1, Swift 5.4.2 and supports iOS 11.4 and above.

Firefox for iOS Download on the App Store. This branch (main) This branch works with Xcode 12.5.1, Swift 5.4.2 and supports iOS 11.4 and above. Please

Mozilla Mobile 11.2k Jan 7, 2023
An iOS widget-based HN reader

Benuse, an iOS widget-based HN reader Why did you build this app? There already exist some great native Hacker News clients for iOS. I would recommend

Jordan Mann 8 Jul 21, 2022
iOS app to record how much things cost using various data persistence implementations.

how-much iOS app to record how much things cost using various data persistence implementations. The basic data unit is an item, a simple dictionary: {

null 22 Aug 15, 2022
The (second) best iOS app for GitHub.

GitHawk is the second-highest rated iOS app for GitHub. Features 0️⃣ Inbox Zero your notifications ?? Comment even faster than on GitHub desktop ?? Th

GitHawk 2.8k Dec 23, 2022
Fully open source text editor for iOS written in Swift.

Edhita Fully open source text editor for iOS written in Swift. http://edhita.bornneet.com/ What Edhita means? Edhita (Romaji) == エディタ (Katakana) == Ed

Tatsuya Tobioka 1.2k Jan 7, 2023
iOS app for 5calls.org

5Calls iOS App This is the repository for the iOS app for 5Calls.org. Requirements Xcode 10.2.1 iOS 10.2 Getting Started Install the dependencies: bun

5 Calls 129 Dec 25, 2022
iOS Money Manager for Board Games

Warning! This is an old project. It does contain a lot of bad code I wrote when I started out with iOS Development. I am not mantaining this project a

Richard 164 Sep 27, 2022
Development of the TUM Campus App for iOS devices - for and from students at Technical University of Munich.

Tum Campus App - An Unofficial Guide Through University Life The TUM Campus App (TCA) is an open source project, developed by volunteers and available

TUM Developers 93 Dec 16, 2022
Turning on a VPN is always a painful experience on an iOS device due to the deep nested menus.

VPN On Turning on a VPN is always a painful experience on an iOS device due to the deep nested menus. This App installs a Today Widget into Notificati

Lex Tang 4.4k Dec 26, 2022
Lightweight iOS Photo Blur App

Blurry Blurry is the go-to image blurring tool to help you apply beautiful blurs for your photos. It is perfect for creating wallpapers, backgrounds,

Andy 17 Nov 22, 2022
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 8k Jan 6, 2023
Alfresco iOS App - Alfresco is the open platform for business-critical content management and collaboration.

Welcome to the Alfresco iOS App Alfresco is the open platform for business-critical content management and collaboration. Alfresco Mobile was designed

Alfresco Software 42 Sep 26, 2022
Discover, download, compile & launch different image processing & style transfer CoreML models on iOS.

⚠️ ⚠️ ⚠️ IMPORTANT: I'm no longer maintaining Awesome-ML. Awesome ML is an iOS app that is made to demonstrate different image processing CoreML model

eugene 171 Nov 8, 2022
📱 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.4k Dec 30, 2022
Kommunicate iOS SDK for customer support

Kommunicate iOS Chat SDK for Customer Support An Open Source iOS Live Chat SDK for Customer Support Overview Kommunicate provides open source live cha

Kommunicate 39 Dec 14, 2022
Simple sample of using the VIP (Clean Swift) architecture for iOS

MyAnimeList Simple sample of using the VIP (Clean Swift) architecture for iOS. ViewController: controls the event handling, view life cycle and displa

null 24 Oct 12, 2022
📱 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.2k Jan 8, 2023
Swift audio synthesis, processing, & analysis platform for iOS, macOS and tvOS

AudioKit AudioKit is an audio synthesis, processing, and analysis platform for iOS, macOS (including Catalyst), and tvOS. Installation To add AudioKit

AudioKit 9.5k Jan 5, 2023