diff --git a/Assets/app-demo.png b/Assets/app-demo.png new file mode 100644 index 0000000..7375fdf Binary files /dev/null and b/Assets/app-demo.png differ diff --git a/Assets/app-logo.png b/Assets/app-logo.png new file mode 100644 index 0000000..936b66b Binary files /dev/null and b/Assets/app-logo.png differ diff --git a/Memola.xcodeproj/project.pbxproj b/Memola.xcodeproj/project.pbxproj index 26a2b03..633a4bc 100644 --- a/Memola.xcodeproj/project.pbxproj +++ b/Memola.xcodeproj/project.pbxproj @@ -1383,14 +1383,19 @@ ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor; ASSETCATALOG_COMPILER_INCLUDE_ALL_APPICON_ASSETS = YES; CODE_SIGN_ENTITLEMENTS = Memola/Memola.entitlements; - "CODE_SIGN_IDENTITY[sdk=macosx*]" = "Apple Development"; - CODE_SIGN_STYLE = Automatic; - CURRENT_PROJECT_VERSION = 1; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; + "CODE_SIGN_IDENTITY[sdk=macosx*]" = "Mac Developer"; + CODE_SIGN_STYLE = Manual; + CURRENT_PROJECT_VERSION = 4; DEVELOPMENT_ASSET_PATHS = "\"Memola/Preview Content\""; - DEVELOPMENT_TEAM = 9TYSSFKV5U; + DEVELOPMENT_TEAM = ""; + "DEVELOPMENT_TEAM[sdk=iphoneos*]" = HQSP3Q2MC6; + "DEVELOPMENT_TEAM[sdk=macosx*]" = HQSP3Q2MC6; ENABLE_PREVIEWS = YES; GENERATE_INFOPLIST_FILE = NO; INFOPLIST_FILE = Memola/Config/Info.plist; + INFOPLIST_KEY_CFBundleDisplayName = Memola; + INFOPLIST_KEY_LSApplicationCategoryType = "public.app-category.productivity"; INFOPLIST_KEY_UIApplicationSceneManifest_Generation = YES; INFOPLIST_KEY_UIApplicationSupportsIndirectInputEvents = YES; INFOPLIST_KEY_UILaunchScreen_Generation = YES; @@ -1404,8 +1409,11 @@ MARKETING_VERSION = 1.0.0; MTLLINKER_FLAGS = ""; MTL_COMPILER_FLAGS = ""; - PRODUCT_BUNDLE_IDENTIFIER = com.example.Memola; + PRODUCT_BUNDLE_IDENTIFIER = com.dscyrescotti.memola.dev; PRODUCT_NAME = "$(TARGET_NAME)"; + PROVISIONING_PROFILE_SPECIFIER = ""; + "PROVISIONING_PROFILE_SPECIFIER[sdk=iphoneos*]" = "Memola Dev - iOS"; + "PROVISIONING_PROFILE_SPECIFIER[sdk=macosx*]" = "Memola Dev - macOS"; SUPPORTED_PLATFORMS = "iphoneos iphonesimulator macosx"; SUPPORTS_MACCATALYST = NO; SUPPORTS_MAC_DESIGNED_FOR_IPHONE_IPAD = NO; @@ -1422,14 +1430,19 @@ ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor; ASSETCATALOG_COMPILER_INCLUDE_ALL_APPICON_ASSETS = YES; CODE_SIGN_ENTITLEMENTS = Memola/Memola.entitlements; - "CODE_SIGN_IDENTITY[sdk=macosx*]" = "Apple Development"; - CODE_SIGN_STYLE = Automatic; - CURRENT_PROJECT_VERSION = 1; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Distribution"; + "CODE_SIGN_IDENTITY[sdk=macosx*]" = "3rd Party Mac Developer Application"; + CODE_SIGN_STYLE = Manual; + CURRENT_PROJECT_VERSION = 4; DEVELOPMENT_ASSET_PATHS = "\"Memola/Preview Content\""; - DEVELOPMENT_TEAM = 9TYSSFKV5U; + DEVELOPMENT_TEAM = ""; + "DEVELOPMENT_TEAM[sdk=iphoneos*]" = HQSP3Q2MC6; + "DEVELOPMENT_TEAM[sdk=macosx*]" = HQSP3Q2MC6; ENABLE_PREVIEWS = YES; GENERATE_INFOPLIST_FILE = NO; INFOPLIST_FILE = Memola/Config/Info.plist; + INFOPLIST_KEY_CFBundleDisplayName = Memola; + INFOPLIST_KEY_LSApplicationCategoryType = "public.app-category.productivity"; INFOPLIST_KEY_UIApplicationSceneManifest_Generation = YES; INFOPLIST_KEY_UIApplicationSupportsIndirectInputEvents = YES; INFOPLIST_KEY_UILaunchScreen_Generation = YES; @@ -1443,8 +1456,11 @@ MARKETING_VERSION = 1.0.0; MTLLINKER_FLAGS = ""; MTL_COMPILER_FLAGS = ""; - PRODUCT_BUNDLE_IDENTIFIER = com.example.Memola; + PRODUCT_BUNDLE_IDENTIFIER = com.dscyrescotti.memola; PRODUCT_NAME = "$(TARGET_NAME)"; + PROVISIONING_PROFILE_SPECIFIER = ""; + "PROVISIONING_PROFILE_SPECIFIER[sdk=iphoneos*]" = "Memola - iOS"; + "PROVISIONING_PROFILE_SPECIFIER[sdk=macosx*]" = "Memola - macOS"; SUPPORTED_PLATFORMS = "iphoneos iphonesimulator macosx"; SUPPORTS_MACCATALYST = NO; SUPPORTS_MAC_DESIGNED_FOR_IPHONE_IPAD = NO; diff --git a/Memola/Config/Info.plist b/Memola/Config/Info.plist index 619314a..433d765 100644 --- a/Memola/Config/Info.plist +++ b/Memola/Config/Info.plist @@ -2,6 +2,10 @@ + LSApplicationCategoryType + public.app-category.productivity + ITSAppUsesNonExemptEncryption + CFBundleDevelopmentRegion $(DEVELOPMENT_LANGUAGE) CFBundleExecutable @@ -34,7 +38,7 @@ NSCameraUsageDescription Memola requires access to the camera to capture photos. NSHumanReadableCopyright - Copyright © 2024 Memola. All rights reserved. + Copyright © 2024 Aye Chan. All rights reserved. UIApplicationSceneManifest UIApplicationSupportsMultipleScenes diff --git a/Memola/Features/Settings/About/AboutView.swift b/Memola/Features/Settings/About/AboutView.swift index 24682f0..cec9927 100644 --- a/Memola/Features/Settings/About/AboutView.swift +++ b/Memola/Features/Settings/About/AboutView.swift @@ -10,7 +10,7 @@ import SwiftUI struct AboutView: View { var body: some View { List { - Section { + Section("INFO") { HStack { Text("App Version") Spacer() @@ -20,6 +20,12 @@ struct AboutView: View { .listRowSeparator(.hidden) #endif } + Section("REPOSTORY") { + Text("https://github.com/dscyrescotti/Memola") + #if os(macOS) + .listRowSeparator(.hidden) + #endif + } Section("COPYRIGHT") { Text(Bundle.main.copyright) .font(.callout) diff --git a/Memola/Memola.entitlements b/Memola/Memola.entitlements index 0c67376..852fa1a 100644 --- a/Memola/Memola.entitlements +++ b/Memola/Memola.entitlements @@ -1,5 +1,8 @@ - + + com.apple.security.app-sandbox + + diff --git a/README.md b/README.md index 2055390..7af823e 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,34 @@ -# 📝 Memola +

+ +

-Memola is an application where you capture your thoughts, concepts, notes and moods. \ No newline at end of file +
+ +**Memola** is an open-source note-taking application that lets you jot down ideas and sketch your visions seamlessly on your iPhone, iPad, and MacBook. + +

+ +

+ +## 🎉 Motivation +Last year, I started reading Metal by Tutorials from Kodeco and was fascinated by GPU programming, particularly the process of building a graphic rendering engine. This led me to develop a note-taking app with a 2D render engine using Metal. There were a lot of challenges throughout, and I initially thought it would be a flop. However, I managed to figure out workarounds to get a functional render engine. I know it is not perfect yet and there are a lot of battles to be won in optimizing render efficiency and adding more writing tools. Regardless, I feel like it is ready to lauch the app and make the code open-source. + +## 👨‍💻 Contributions +**Memola** welcomes all developers to contribute if you have any idea to enhance and open an issue if you encounter any bug. + +## 🙇 Credits +- [BezierKit](https://github.com/hfutrell/BezierKit) +- [FastDraw](https://github.com/collinzrj/FastDraw) +- [hand-drawing-swift-metal](https://github.com/owengombas/hand-drawing-swift-metal) +- [ios_metal_bezier_renderer](https://github.com/eldade/ios_metal_bezier_renderer) +- [MaLiang](https://github.com/Harley-xk/MaLiang) +- [MetalPaint](https://github.com/rydermackay/MetalPaint) +- [MetalScroller](https://github.com/chunkyguy/MetalScroller) +- [Metal2DScrollable](https://github.com/codelynx/Metal2DScrollable) +- [rbush](https://github.com/mourner/rbush) +- [RTree](https://github.com/imbcmdth/RTree) +- [Sketch](https://github.com/daihase/Sketch) +- [THST](https://github.com/tuxalin/THST) + +## © License +**Memola** is available under the MIT license. See the [LICENSE](/LICENSE) file for more info. \ No newline at end of file