Must have iOS libraries
Posted on 10 Eylül 2018 in Programlama by admin
https://medium.com/app-coder-io/27-ios-open-source-libraries-to-skyrocket-your-development-301b67d3124c
Especially I love https://github.com/dzenbot/DZNEmptyDataSet
Action sheet controller
https://github.com/xmartlabs/XLActionController?utm_source=mybridge&utm_medium=blog&utm_campaign=read_more
Expanding collection
https://github.com/Ramotion/expanding-collection?utm_source=mybridge&utm_medium=blog&utm_campaign=read_more
Swift algorithms
https://github.com/raywenderlich/swift-algorithm-club
IOS library collection
https://github.com/matteocrippa/awesome-swift
ios swift mvvm tutorials
Posted on 02 Ağustos 2018 in Programlama by admin
You can find useful mvvm tutorials below:
https://medium.com/flawless-app-stories/how-to-use-a-model-view-viewmodel-architecture-for-ios-46963c67be1b
https://medium.com/@azamsharp/mvvm-in-ios-from-net-perspective-580eb7f4f129
A good video from raywenderlich
Aes encryption
Posted on 29 Haziran 2018 in Programlama by admin
http://www.moserware.com/2009/09/stick-figure-guide-to-advanced.html
iOS check update
Posted on 26 Haziran 2018 in Programlama by admin
Following is a swift code to check if update available.
let plistUrl = "https://xyz.com/manifest.plist" let installationUrl = "itms-services://?action=download-manifest&url=https://xyz.com/manifest.plist"
func checkForUpdates() { DispatchQueue.main.async(execute: { if let url = URL(string: self.plistUrl), let updateDictionary = NSDictionary(contentsOf: url) { let items = updateDictionary["items"] let itemDict = (items as AnyObject).lastObject as! NSDictionary let metaData = itemDict["metadata"] as! NSDictionary let serverVersion = metaData["bundle-version"] as! String let localVersion = Bundle.main.infoDictionary!["CFBundleShortVersionString"] as! String let updateAvailable = serverVersion.compare(localVersion, options: NSString.CompareOptions.numeric) == .orderedDescending; if updateAvailable { self.showUpdateDialog(serverVersion: serverVersion) } } }) } func showUpdateDialog(serverVersion: String) { let alertController = UIAlertController(title: "New version of MSP available", message: "MSP \(serverVersion) has been released. Would you like to download it now?", preferredStyle: UIAlertControllerStyle.alert) alertController.addAction(UIAlertAction(title: "Not now", style: .cancel,handler: self.updateHandler)) alertController.addAction(UIAlertAction(title: "Update", style: .default, handler: self.updateHandler)) self.present(alertController, animated: true, completion: nil) } func updateHandler(alert: UIAlertAction){ switch alert.title { case "Update"?: UIApplication.shared.openURL(URL(string: self.installationUrl)!) exit(0) case "Not now"?: break default: break } }
git quick start guide
Posted on 14 Haziran 2018 in Programlama by admin
This tutorial guides starting git in a clear way:
https://git-scm.com/docs/gittutorial
IOS Notes
Posted on 17 Mayıs 2018 in Programlama by admin
To call a function when application becomes active
NotificationCenter.default.addObserver(self, selector: #selector(didBecomeActive), name: NSNotification.Name.UIApplicationDidBecomeActive, object: nil)
@objc func didBecomeActive() {
print(“did become active”)
//Do signaling offline works
}
—————
https://developer.apple.com/library/content/documentation/iPhone/Conceptual/iPhoneOSProgrammingGuide/StrategiesforHandlingAppStateTransitions/StrategiesforHandlingAppStateTransitions.html
Creation of temporary url path:
let destURL = URL(fileURLWithPath: NSTemporaryDirectory()).appendingPathComponent(“manifest.plist”)
Printing content of url
let contents = try String(contentsOf: destURL)
print(“!! contents:\(contents)”)
Must read iOS articles
Posted on 11 Mayıs 2018 in Programlama by admin
Debugging with xcode-8
https://www.raywenderlich.com/152276/intermediate-debugging-xcode-8
You can find pdf version of the page below
Intermediate Debugging with Xcode 8
Adaptive layout tutorial
https://www.raywenderlich.com/162311/adaptive-layout-tutorial-ios-11-getting-started
You can find pdf version of the page and necessary attachments below
Adaptive Layout Tutorial in iOS 11: Getting Started
cloud_images
xcode project
IOS Visual format language
https://developer.apple.com/library/content/documentation/UserExperience/Conceptual/AutolayoutPG/VisualFormatLanguage.html
https://code.tutsplus.com/tutorials/introduction-to-the-visual-format-language–cms-22715
You can find pdf version of the page below
Introduction to the Visual Format Language
How To: Pass Data Between View Controllers In Swift (Extended)
How to Use Xcode Targets to Manage Development and Production Builds
How to Use Xcode Targets to Manage Development and Production Builds
Closures
https://medium.com/@abhimuralidharan/functional-swift-all-about-closures-310bc8af31dd
Sending firebase requests over rest client
Posted on 08 Mayıs 2018 in Programlama by admin
First of all a rest client should be installed to pc. You may use “advanced rest client” extension for chrome browser for its simplicity or postman.
Following headers should be added:
Content-Type application/json Authorization key=your server key or legacy key
Fcm uses following url to accept http queries:
https://fcm.googleapis.com/fcm/send
And at this point header configuration ui should be like similar to one below:
Server key could be obtained from firebase console page. It is located at “project settings”>>”cloud messaging” path. Following screenshot is added for illustration:
Updating ios package on safari
Posted on 28 Mart 2018 in Programlama by admin
Just define a url as follows:
<a class=” btn-primary btn-lg” href=”itms-services://?action=download-manifest&url=https://abc.com.tr/manifest.plist“>Download App</a>
and manifest.plist file should look like as follows:
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>items</key> <array> <dict> <key>assets</key> <array> <dict> <key>kind</key> <string>software-package</string> <key>url</key> <string>https://abc.com.tr/xxx.ipa</string> </dict> </array> <key>metadata</key> <dict> <key>bundle-identifier</key> <string>com.def.abc</string> <key>bundle-version</key> <string>0.10.0</string> <key>kind</key> <string>software</string> <key>title</key> <string>XXX</string> </dict> </dict> </array> </dict> </plist>
As you can see ipa file path is defined in manifest file.
Java classpath usage
Posted on 20 Kasım 2016 in Programlama by admin
We will create following classes:
firstClass
\___ abc.java
secondClass
\___ xyz.java
Create a class with package name as p1.p2.p3 at firstClass directory
package p1.p2.p3; public class abc { public void printName(String name) { System.out.println("your name is "+name); } }
and compile it using following command:
javac abc.java -d .
lets add another class that uses abc class at secondClass directory
public class xyz extends p1.p2.p3.abc{ public static void main(String prm[]) { System.out.println("xyz class"); tt deneme = new tt(); deneme.printName("Trump"); } }
and following command is used to compile it:
javac -classpath ../firstClass/ xyz.java
To execute compiled binary use following command:
java -cp .:../firstClass xyz