{"id":20389705,"url":"https://github.com/flipkart/now-you-see-react","last_synced_at":"2025-04-12T10:52:24.428Z","repository":{"id":41815464,"uuid":"297629670","full_name":"Flipkart/now-you-see-react","owner":"Flipkart","description":"View tracking framework for React Native on iOS","archived":false,"fork":false,"pushed_at":"2024-04-10T10:28:10.000Z","size":2315,"stargazers_count":7,"open_issues_count":1,"forks_count":4,"subscribers_count":4,"default_branch":"master","last_synced_at":"2025-03-26T05:51:07.258Z","etag":null,"topics":["ios","react","react-native","swift","tracking","viewability"],"latest_commit_sha":null,"homepage":"","language":"Swift","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Flipkart.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null}},"created_at":"2020-09-22T11:38:07.000Z","updated_at":"2024-11-29T11:28:59.000Z","dependencies_parsed_at":"2024-04-10T11:30:50.795Z","dependency_job_id":"ed11bd35-1589-4b7b-a43f-bc90a0399a96","html_url":"https://github.com/Flipkart/now-you-see-react","commit_stats":null,"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Flipkart%2Fnow-you-see-react","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Flipkart%2Fnow-you-see-react/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Flipkart%2Fnow-you-see-react/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Flipkart%2Fnow-you-see-react/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Flipkart","download_url":"https://codeload.github.com/Flipkart/now-you-see-react/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248557844,"owners_count":21124165,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ios","react","react-native","swift","tracking","viewability"],"created_at":"2024-11-15T03:19:12.177Z","updated_at":"2025-04-12T10:52:24.408Z","avatar_url":"https://github.com/Flipkart.png","language":"Swift","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003ch1 align=\"center\"\u003e\n \u003cimg src=\"https://raw.githubusercontent.com/Flipkart/now-you-see-react/master/NowYouSeeReact.png\" width=\"200\" alt=\"Logo\"/\u003e \n \u003cbr/\u003e\n \u003cbr/\u003e\n Now You See Me\n\u003c/h1\u003e\n\n[![Platform](https://img.shields.io/badge/platform-ios-lightgrey)](https://github.com/Flipkart/now-you-see-react)\n[![Swift](https://img.shields.io/badge/swift-5-orange)](https://developer.apple.com/swift/)\n[![License](https://img.shields.io/badge/license-Apache%2C%20Version%202.0-purple)](https://github.com/Flipkart/now-you-see-me/blob/master/LICENSE)\n\u003cbr/\u003e\n\u003cbr/\u003e\nNowYouSeeReact adds support for react native views on top of the iOS tracking framework [NowYouSeeMe](https://github.com/Flipkart/now-you-see-me).\n\n## Need\n\n*There is no Cell class in React Native equivalent to ```UIKit```'s ```UITableViewCell``` or ```UICollectionViewCell```.*\n\nHence, it becomes difficult to identify when a react native view (```RCTView```) is recycled as we do not have access to the actual recycled view (cell) which in turn causes problems in calculating the absolute frame and viewability of the view and its subviews once recycled.\n\nHence, as a solution to the problem, we have enabled tracking for all the react native views by default, so that we can get hold of the recycled react native view (cell) and successfully update the viewability of all of its children.\n\n## Usage\nTo enable the framework you need to call the following method before the UI is created:\n\n~~~swift\nNowYou.seeReact()  // didFinishLaunchingWithOptions is a good place to initialise the framework\n~~~\n\nThe method internally calls ```NowYou.seeMe()``` to enable the parent framework\n\nFor all other usage details, please refer [NowYouSeeMe](https://github.com/Flipkart/now-you-see-me).\n\n## Demo project\nThere is a demo project present in the Example directory.\nThe demo project contains a react native app which consists of a recyler list view, and each item in the recyler list view is a native view component with viewability conditions attached to it.\nDemo is created using [react-native-cli](https://www.npmjs.com/package/react-native-cli)\n\n#### Steps to run demo project\n* Clone the repo\n* ```cd``` into Example/ios folder\n* ```pod install```\n* open NowYouSeeReact.xcworkspace\n* Build and run\n* In case port 8081 is already occupied and you get an error, replace all occurrences of 8081 with some other port number and run ```npm start --port={port number}``` in terminal, post which you can build and run the demo app\n\n#### Running demo\n![NowYouSeeReact-Demo](https://raw.githubusercontent.com/Flipkart/now-you-see-react/master/Demo.gif)\n\n\n## Installation\n\nTo integrate NowYouSeeMe into your Xcode project using CocoaPods, specify it in your ```Podfile```:\n\n```ruby\npod 'NowYouSeeReact', :git =\u003e 'https://github.com/Flipkart/now-you-see-react.git', :tag =\u003e '1.0.0'\n\n# Not able to push to cocoapods due to React dependency\n```\n\nThen, run the following command:\n\n```bash\n$ pod install\n```\n\n## Dependencies\n* [NowYouSeeMe](https://github.com/Flipkart/now-you-see-me)\n* [React Native](https://github.com/facebook/react-native)\n\n## Requirements\n* iOS 10.0+\n* Swift 5\n\n---\n\n[![Readme Score](http://readme-score-api.herokuapp.com/score.svg?url=flipkart/now-you-see-react)](http://clayallsopp.github.io/readme-score/?url=flipkart/now-you-see-react)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fflipkart%2Fnow-you-see-react","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fflipkart%2Fnow-you-see-react","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fflipkart%2Fnow-you-see-react/lists"}