Skip to main content

Fixed : URL(string :"url string with white space") will return nil

Space contained in any URL will give you nil value if you try to user URL(string: "")

When you try to convert below string into URL it will throw you nil value because URL(string: "") will not able to handle white spaces and this is why it return you nil value 

let imageURL = "https://s3.amazonaws.com/images.goodtime.city/Profile/4e1d7331-78df-11e7-ba2f-9e34d39fd224-10/5/2018 12:19:09 PM.png"

let url = URL(string: escapedURL!)


to fix this issue you need to use :

let escapedURL = imageURL.addingPercentEncoding(withAllowedCharacters: CharacterSet.urlQueryAllowed)



To fix this issue you need to use below code :


let imageURL = "https://s3.amazonaws.com/images.goodtime.city/Profile/4e1d7331-78df-11e7-ba2f-9e34d39fd224-10/5/2018 12:19:09 PM.png"

let escapedURL = imageURL.addingPercentEncoding(
            withAllowedCharacters: CharacterSet.urlQueryAllowed)

let url = URL(string: escapedURL!)

Comments

Popular posts from this blog

iOS9 iTune Upload Error : Invalid Bundle. iPad Multitasking support requires launch story board in bundle

1. Add the UIRequiresFullScreen key to your Xcode project’s Info.plist file and apply the Boolean value YES 2. This will fix one more issue that is coming at the time of iTune upload Invalid Bundle. iPad Multitasking support requires these orientations: 'UIInterfaceOrientationPortrait,UIInterfaceOrientationPortraitUpsideDown,UIInterfaceOrientationLandscapeLeft,UIInterfaceOrientationLandscapeRight'. If your application only using single orientation then use the above keyword in info.plist

Convert Date into ISO formate

Call below function like : [self toStringFromDateTime:[NSDate date]]; - (NSString*)toStringFromDateTime:(NSDate*)datetime {     // Purpose: Return a string of the specified date-time in UTC (Zulu) time zone in ISO 8601 format.     // Example: 2013-10-25T06:59:43.431Z     NSDateFormatter* dateFormatter = [[NSDateFormatter alloc] init];     //ISO DateFormatter     [dateFormatter setTimeZone:[NSTimeZone timeZoneWithAbbreviation:@" UTC "]];     [dateFormatter setDateFormat:@" yyyy-MM-dd'T'HH:mm:SS.SSS'Z' "];     NSString* dateTimeInIsoFormatForZuluTimeZone = [dateFormatter stringFromDate:datetime];     return dateTimeInIsoFormatForZuluTimeZone; }