{"id":13710300,"url":"https://github.com/DevsDNA/WhenTheAppWasBuilt","last_synced_at":"2025-05-06T19:30:51.321Z","repository":{"id":144187055,"uuid":"116812920","full_name":"DevsDNA/WhenTheAppWasBuilt","owner":"DevsDNA","description":"Strongly shake your device and we'll show you when the app was built. That simple.","archived":false,"fork":false,"pushed_at":"2018-01-25T15:13:26.000Z","size":8621,"stargazers_count":6,"open_issues_count":2,"forks_count":0,"subscribers_count":4,"default_branch":"master","last_synced_at":"2025-04-28T13:57:27.094Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/DevsDNA.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,"publiccode":null,"codemeta":null}},"created_at":"2018-01-09T12:24:05.000Z","updated_at":"2022-07-01T18:18:07.000Z","dependencies_parsed_at":"2024-05-13T00:14:00.375Z","dependency_job_id":"e34e4964-5d1b-4b6f-a718-74b43e06f3ce","html_url":"https://github.com/DevsDNA/WhenTheAppWasBuilt","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DevsDNA%2FWhenTheAppWasBuilt","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DevsDNA%2FWhenTheAppWasBuilt/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DevsDNA%2FWhenTheAppWasBuilt/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DevsDNA%2FWhenTheAppWasBuilt/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/DevsDNA","download_url":"https://codeload.github.com/DevsDNA/WhenTheAppWasBuilt/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":252753183,"owners_count":21798930,"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":[],"created_at":"2024-08-02T23:00:54.181Z","updated_at":"2025-05-06T19:30:47.171Z","avatar_url":"https://github.com/DevsDNA.png","language":"C#","funding_links":[],"categories":["Plugins"],"sub_categories":[],"readme":"# WhenTheAppWasBuilt\n\nHow many times have you said \"when was this app built\" or \"which version affects this bug\"? Forget those, from now on just strongly shake your device and we'll show you when the app was built. That simple. [![NuGet](https://img.shields.io/nuget/v/DevsDNA.WhenTheAppWasBuilt.svg?label=NuGet)](https://www.nuget.org/packages/DevsDNA.WhenTheAppWasBuilt)\n\nWith Xamarin.Forms in mind, it also works on classical Xamarin.Android or Xamarin.iOS projects which share a common library, .NET Standard included.\n\n![Android](Screenshots/Android.gif) ![iOS](Screenshots/iOS.gif)\n\n## How to use it\n\nJust four easy steps:\n\n❗️ In order to detect the correct date you must leave the compiler to autoincrement the `AssemblyVersion` Build and Revision numbers. Double check your AssemblyInfo.cs —it's usually placed here— contains the following line:\n\n```csharp\n[assembly: AssemblyVersion(\"1.0.*\")]\n```\n\nDoes your project target .NET Standard? No worries, just add the following two lines to your CSPROJ —so we can use wildcards as indicated above— and make sure `AssemblyVersion` attribute is placed, for instance, at your main App.xaml.cs:\n```xml\n  \u003cPropertyGroup\u003e\n    \u003cTargetFramework\u003enetstandard2.0\u003c/TargetFramework\u003e\n    \u003c!-- These! --\u003e\n    \u003cDeterministic\u003efalse\u003c/Deterministic\u003e\n    \u003cGenerateAssemblyInfo\u003efalse\u003c/GenerateAssemblyInfo\u003e\n  \u003c/PropertyGroup\u003e\n```\n\n1. Add [DevsDNA.WhenTheAppWasBuilt](https://www.nuget.org/packages/DevsDNA.WhenTheAppWasBuilt) NuGet to both your PCL and platform projects;\n\n2. In your Android's `MainActivity` class, add the following line just after Xamarin.Forms init. —pass whatever `Type` located at your core project (as the main `App` for instance), since such provides the actual date:\n\n```csharp\nglobal::Xamarin.Forms.Forms.Init(this, bundle);\n// This line!\nDevsDNA.WhenTheAppWasBuilt.TellMeWhenShaking(typeof(WhenTheAppWasBuiltExample.App));\n```\n\n3. The same goes for iOS' `AppDelegate` one:\n\n```csharp\nglobal::Xamarin.Forms.Forms.Init();\n// And this other one!\nDevsDNA.WhenTheAppWasBuilt.TellMeWhenShaking(typeof(WhenTheAppWasBuiltExample.App));\n```\n\n4. Strongly shake your devices!\n\n### Ahead-of-shake (AOS) support\n\nYou don't have to force customers to shake their devices if don't want to, simply call\n\n```csharp\nDevsDNA.WhenTheAppWasBuiltCore.DisplayBuildDateAlert();\n```\n\nfrom wherever you want.\n\n*Pst!* Have a look to the [Examples](Examples/) folder to quickly see it running!\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FDevsDNA%2FWhenTheAppWasBuilt","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FDevsDNA%2FWhenTheAppWasBuilt","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FDevsDNA%2FWhenTheAppWasBuilt/lists"}