I'm building a Social App where users can post a blog with content of type NSAttributedString (supporting Text-color, Bold, Italic,..). How should I send this NSAttributedString content to Server, so that when I receive it, I can populate it to the UITextview without any lost in decoration (Text-color, Bold, Italic, ..).
I tried sending an NSStringto server, but no luck, the text I received back is something unreadable when using [UITextView setAttributedString].
I guess there should be some kinds of encode and decode right?
NSAttributedString conforms to NSCoding, so you can convert an NSAttributedString back and forth to NSData. It's been a while since I've used AFNetworking, but doesn't it have a way to transfer binary data? That seems like your best bet.
(NSAttributedString also has the ability to read from .rtf files on both Mac and iOS >= 7.0.
According to this thread on SO it's also possible to export the contents of an attributed string to rtf format, so that's another possibility.
Related
I am able to send plain text from mt4 to telegram in my MQL4 code. But I'm having trouble adding telegram emojis to my code.
Since this is not possible in mql4, I managed to pass the data to php and add the necessary emojis to telegram.
I want to open my iOS application using a URL but my url appears to be too long? Is there a limit on the length of the URL? I've searched the web all day on this and it looks like there is no definitive answer. My url contains a base64EncodedString of an object and is about 1,500 bytes.
It looks like this:
MyApp://favorite?Class=eyJzZXR0aW5ncyI6eyJzY2FsZSI6WzAsNCwxMiwxOSwyMF0sImZyZXEiOjIyMCwidHVuaW5nIjoiZXlKelkyRnNZU0k2SWlGY2JpRWdjSFJ2YkdWdGVTNXpZMnhjYmlGY2JsQjBiMnhsYlhrZ01USWdibTkwWlNCelkyRnNaVnh1SURFeVhHNGhYRzRnTVRkY0x6RTJYRzRnT1Z3dk9GeHVJREU1WEM4eE5seHVJRFZjTHpSY2JpQTBYQzh6WEc0Z01URmNMemhjYmlBelhDOHlYRzRnTVROY0x6aGNiaUExWEM4elhHNGdOMXd2TkZ4dUlERTFYQzg0WEc0Z01sd3ZNVnh1SW4wPSIsInNvdW5kIjoiZXlKaGRIUnlhV0oxZEdWeklqcGJleUpoZEhSaFkyc2lPakl1TXprd01EQXdNREF3TURBd01EQXlMQ0prWldOaGVTSTZNQzR6TkRrNU9UazVPVGs1T1RrNU9UazVMQ0pwYzAxMWRHVmtJanBtWVd4elpTd2ljbVZzWldGelpTSTZNQzR6TlRJMU1EQXdNREF3TURBd01EQXhMQ0p3WVhKMGFXRnNJam93TGpVeExDSmhiWEFpT2pBdU1qTXpOelV3TURBd01EQXdNREF3TVN3aWMzVnpkR0ZwYmlJNk1IMHNleUpoZEhSaFkyc2lPakF1TWpVc0ltUmxZMkY1SWpvd0xqRXpOU3dpYVhOTmRYUmxaQ0k2Wm1Gc2MyVXNJbkpsYkdWaGMyVWlPakVzSW5CaGNuUnBZV3dpT2pFc0ltRnRjQ0k2TUM0M05Td2ljM1Z6ZEdGcGJpSTZNSDBzZXlKaGRIUmhZMnNpT2pBdU9URTFNREF3TURBd01EQXdNREF4TXl3aVpHVmpZWGtpT2pBdU5URXlOVEF3TURBd01EQXdNREF3TXl3aWFYTk5kWFJsWkNJNlptRnNjMlVzSW5KbGJHVmhjMlVpT2pBdU1qWXlOU3dpY0dGeWRHbGhiQ0k2TWk0eU5EazVPVGs1T1RrNU9UazVPVGdzSW1GdGNDSTZNQzR3T0RFNU9UazVPVGs1T1RrNU9UazVPU3dpYzNWemRHRnBiaUk2TUgwc2V5SmhkSFJoWTJzaU9qQXNJbVJsWTJGNUlqb3dMakkwTlN3aWFYTk5kWFJsWkNJNlptRnNjMlVzSW5KbGJHVmhjMlVpT2pBdU16Y3lOVEF3TURBd01EQXdNREF3TVN3aWNHRnlkR2xoYkNJNk5TNDNOREl3TURBd01EQXdNREF3TURFc0ltRnRjQ0k2TUM0d05UY3NJbk4xYzNSaGFXNGlPakI5WFN3aWJtRnRaU0k2SWtOc1pXRnlJRUpsYkd3aUxDSmtaWE5qSWpvaVNuVnpkQ0JoYm05MGFHVnlJR0psYkd3Z2MyOTFibVF1SW4wPSIsInRvbmUiOiJBIiwibXV0ZWQiOmZhbHNlfSwibmFtZSI6IlB0b2xlbXkgaW4gQSIsImRlc2MiOiJDbGVhciBCZWxsIn0=
I want to text or email this URL and then have the recipient tap on the link to open my app on their device.
The trouble is the link is wrapped in the mail and messages application and only the "MyApp://favorite?" part is marked in blue as a link. The remainder of the text is not part of the link.
Is there any way to send data like this via a URL?
This doesn't sound like it has anything to do with the URL itself or Swift. The problem you're describing is with "the mail and messages application." It sounds like you're sending the message in plaintext and relying on the data detector to find it. That's asking too much of the data detector, which is a heuristic guessing process. If you want to make it as a link, you should send it as an HTML mail, and mark it with <a href>.
Some notes on the format, though:
This data is double-base64-encoded, which is very wasteful. If you only encoded one time, this would be:
MyApp://favorite?Class=eyJzZXR0aW5ncyI6eyJzY2FsZSI6WzAsNCwxMiwxOSwyMF0sImZyZXEiOjIyMCwidHVuaW5nIjp7InNjYWxhIjoiIVxuISBwdG9sZW15LnNjbFxuIVxuUHRvbGVteSAxMiBub3RlIHNjYWxlXG4gMTJcbiFcbiAxNy8xNlxuIDkvOFxuIDE5LzE2XG4gNS80XG4gNC8zXG4gMTEvOFxuIDMvMlxuIDEzLzhcbiA1LzNcbiA3LzRcbiAxNS84XG4gMi8xXG4ifSwic291bmQiOnsiYXR0cmlidXRlcyI6W3siYXR0YWNrIjoyLjM5MDAwMDAwMDAwMDAwMiwiZGVjYXkiOjAuMzQ5OTk5OTk5OTk5OTk5OSwiaXNNdXRlZCI6ZmFsc2UsInJlbGVhc2UiOjAuMzUyNTAwMDAwMDAwMDAwMSwicGFydGlhbCI6MC41MSwiYW1wIjowLjIzMzc1MDAwMDAwMDAwMDEsInN1c3RhaW4iOjB9LHsiYXR0YWNrIjowLjI1LCJkZWNheSI6MC4xMzUsImlzTXV0ZWQiOmZhbHNlLCJyZWxlYXNlIjoxLCJwYXJ0aWFsIjoxLCJhbXAiOjAuNzUsInN1c3RhaW4iOjB9LHsiYXR0YWNrIjowLjkxNTAwMDAwMDAwMDAwMTMsImRlY2F5IjowLjUxMjUwMDAwMDAwMDAwMDMsImlzTXV0ZWQiOmZhbHNlLCJyZWxlYXNlIjowLjI2MjUsInBhcnRpYWwiOjIuMjQ5OTk5OTk5OTk5OTk4LCJhbXAiOjAuMDgxOTk5OTk5OTk5OTk5OTksInN1c3RhaW4iOjB9LHsiYXR0YWNrIjowLCJkZWNheSI6MC4yNDUsImlzTXV0ZWQiOmZhbHNlLCJyZWxlYXNlIjowLjM3MjUwMDAwMDAwMDAwMDEsInBhcnRpYWwiOjUuNzQyMDAwMDAwMDAwMDAxLCJhbXAiOjAuMDU3LCJzdXN0YWluIjowfV0sIm5hbWUiOiJDbGVhciBCZWxsIiwiZGVzYyI6Ikp1c3QgYW5vdGhlciBiZWxsIHNvdW5kLiJ9LCJ0b25lIjoiQSIsIm11dGVkIjpmYWxzZX0sIm5hbWUiOiJQdG9sZW15IGluIEEiLCJkZXNjIjoiQ2xlYXIgQmVsbCJ9
which saves over 350 bytes over your current approach.
If you run this through gzip before Base64-encoding it, it'd be a third of this size (~550 bytes). And using a binary format, you could probably get this down to ~200 bytes (after base64-encoding) without even getting clever.
That said, URLs are perfectly capable of handling data of this size. I suspect your problem is just asking heuristic systems to detect the URL rather than marking exactly where it is with HTML.
I have a logic app which successfully calls a SOAP api and gets an XML string.
The XML encoding is flawed and in original form cannot be decoded by the built in Transform XML.
If I replace ‘xmlns=‘ with ‘xmlns:foo=‘ then the decoder works. My problem is implementing the replace function.
I tried dynamic content in the logic app input and it successfully replaced the required text but also made undesired changes:
• added an ‘x’ at beginning
• \r and \n all over the place
How can replace the text cleanly?
#daniel - As #johns-305 suggested, first thing to take care of should probably be fixing that encoding issue so that your Transform XML can work properly.
Here's great blog post by Logic Apps engineer on how to solve this type of issues:
Support non-UTF payloads in Logic App with a conversion Azure Function
I'd like to give users the chance to import data into my app. The app uses core data and my idea would be that the user prepares a text file and send it as email. In the "Open in..." dialog I like my app to be listed.
The file will be a text file but the content must follow certain rules, so that I'm able to extract the data I need to populate core data entities.
Must I define a custom UTI for that?? (I don't want my app listed for every text file)
Yes you can define a UTI, as well as a MIME type for your format. Give it a unique file extension and the fact that's it's encoded in plain text is not important (HTML, XML, etc. all fall into this category).
You don't specify how complex your text format will be, but if it's complex then you might want to consider using a language parser tool to process it, utilizing bison/flex (yacc/lex), or ANTLR.
I've encountered an interesting solution to importing/exporting data through email. This particular solution doesn't involve attaching any files and also "encrypts" the information, such that it's not easy to decipher.
I'd like to know if anyone has an idea about how this is done.
Basically, this app allows you to export a custom-selected set of data by emailing you a link. The link is a URL scheme that opens the app and asks if you want to import the data. The data looks like it's encrypted, but I'm not sure. Below is an example of a link that the app generates. Does anyone know how this is accomplished?
Thank you!:
appofinterest://#;;bmFtZQ==;TmV3IFByb2ZpbGU=;;cHJvZmlsZVBob3Rv;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;;c3R5bGU=;MA==;;dXNlc1NJVW5pdHM=;MA==;;QXBwb2ludG1lbnQ=;;ZGF0ZU9m;MjAxMi0wMS0xNSAxMDowMA==;;TGFiUmVzdWx0;;cmVzdWx0;NTY=;;dGVzdFR5cGU=;VGVtcGVyYXR1cmU=;;ZGF0ZU9mVGVzdA==;MjAxMS0xMi0xMyAwMDowMA==;;TGFiUmVzdWx0;;cmVzdWx0;NzQ=;;dGVzdFR5cGU=;VGVtcGVyYXR1cmU=;;ZGF0ZU9mVGVzdA==;MjAxMS0xMi0yOSAwMDowMA==;;TGFiUmVzdWx0;;cmVzdWx0;MzUgwrBD;;dGVzdFR5cGU=;VGVtcGVyYXR1cmU=;;ZGF0ZU9mVGVzdA==;MjAxMS0xMS0xMCAwMDowMA==;;TGFiUmVzdWx0;;cmVzdWx0;ODU=;;dGVzdFR5cGU=;VGVtcGVyYXR1cmU=;;ZGF0ZU9mVGVzdA==;MjAxMi0wMS0wMyAwMDowMA==;;TGFiUmVzdWx0;;cmVzdWx0;NjQ=;;dGVzdFR5cGU=;VGVtcGVyYXR1cmU=;;ZGF0ZU9mVGVzdA==;MjAxMS0xMS0xMCAwMDowMA==;;TGFiUmVzdWx0;;cmVzdWx0;NDYgbmcvbWw=;;dGVzdFR5cGU=;UHJvc3RhdGUgU3BlY2lmaWMgQW50aWdlbiAoUFNBKQ==;;ZGF0ZU9mVGVzdA==;MjAxMS0xMC0xMCAwMDowMA==;;TGFiUmVzdWx0;;cmVzdWx0;NjM=;;dGVzdFR5cGU=;VGVtcGVyYXR1cmU=;;ZGF0ZU9mVGVzdA==;MjAxMi0wMS0wNiAwMDowMA==;;TGFiUmVzdWx0;;cmVzdWx0;NTg=;;dGVzdFR5cGU=;VGVtcGVyYXR1cmU=;;ZGF0ZU9mVGVzdA==;MjAxMS0xMi0xMyAwMDowMA==;;TGFiUmVzdWx0;;cmVzdWx0;OTQ=;;dGVzdFR5cGU=;VGVtcGVyYXR1cmU=;;ZGF0ZU9mVGVzdA==;MjAxMS0xMi0yMiAwMDowMA==;;TGFiUmVzdWx0;;cmVzdWx0;NTk=;;dGVzdFR5cGU=;VGVtcGVyYXR1cmU=;;ZGF0ZU9mVGVzdA==;MjAxMS0xMC0xMCAwMDowMA==;;TGFiUmVzdWx0;;cmVzdWx0;OTkuOCDCsEY=;;dGVzdFR5cGU=;VGVtcGVyYXR1cmU=;;ZGF0ZU9mVGVzdA==;MjAxMS0xMi0xMCAwMDowMA==;;TGFiUmVzdWx0;;cmVzdWx0;NjU=;;dGVzdFR5cGU=;VGVtcGVyYXR1cmU=;;ZGF0ZU9mVGVzdA==;MjAxMS0wNy0xMCAwMDowMA==;;TGFiUmVzdWx0;;cmVzdWx0;OTc=;;dGVzdFR5cGU=;VGVtcGVyYXR1cmU=;;ZGF0ZU9mVGVzdA==;MjAxMS0wNy0xNSAwMDowMA==;;TGFiUmVzdWx0;;cmVzdWx0;MzIgwrBD;;dGVzdFR5cGU=;VGVtcGVyYXR1cmU=;;ZGF0ZU9mVGVzdA==;MjAxMi0wMS0wNSAwMDowMA==;;TWVkaWNhdGlvbg==;;ZnJlcXVlbmN5;b25jZSBwZXIgZGF5IChxLmQuKQ==;;cm91dGU=;SW50cmF2ZW5vdXMgKEkuVi4p;;ZHJ1Z05hbWU=;TXR4;;aXNDaGVtb0RydWc=;WWVz;;dG90YWxMaWZldGltZURvc2U=;ODUgbWc=;;c3RhcnREYXRl;MjAxMi0wMS0xNSAwMDowMA==;;c3RvcERhdGU=;MjAxMi0wNS0xMCAwMDowMA==
You could just convert your data to base64 (which is the case here*). Remember that URI are not (practically) unlimited in length and might, like the link you posted, be a little meaningless for your users.
(*) in the case you posted, the data is separated by semi-columns, for example "TmV3IFByb2ZpbGU=" is base64 for New Profile, and the big chunk in the middle is a base64 encoded PNG. Absolutely not secure - since it's not encrypted in any way, but could be fairly easily