I am using MFMessageComposeViewController to share an mp3 file.
I would like to know if there is a way I can add a custom image to this file instead of the way it looks. If possible any other customizations like changing colors would be great also.
Please check the image for more of a visual explaining my question.
You are using an Apple-supplied Cocoa framework: MFMessageComposeViewController, and Apple doesn't give you a way to override or customize appearance-related functionality on most of these frameworks. This is usually done to enhance the end user's experience across all iOS apps.
In most cases, if you are not satisfied with the Apple-supplied functionality, you can write your own. However, in this case, since you are dealing with Messaging / SMS, you are stuck with what Apple gives you, for the sake of security.
Related
I know siri provides limited Intents and we have to add our app to domain to be able take input from siri.
But I would like to create my own intent for the users to access my app via siri.
I couldn't find much support for this anywhere ? any helpful pointers are welcome
Update
Now you can create custom intents and use them with Siri Shortcuts. Here is a simplified tutorial by Ray Wenderlich
https://www.raywenderlich.com/6462-siri-shortcuts-tutorial-in-ios-12
or you can prefer
This article for beginners
For more details, you should prefer Apple's official documentation.
https://developer.apple.com/documentation/sirikit
Outdated Answer
You can't create a custom intent for now. Maybe in later versions, they can add support for custom intents. Maybe they don't. With their current approach, Apple holds all the control over, intent(operation) types, data, privacy, etc. I'm not sure they will change that.
If you really need custom voice commands, you can implement it inside your application(not out of the app like Siri). There are alternatives like
Apple's AVSpeechSynthesizer
Apple's Speech
IBM's Watson
Nuance Speech Kit
You can create a custom intent as of iOS 12. It is quite a complicated process, but there are some tutorials available that can help you out.
I think Apple's WWDC example is a good starting point.
I would like to know if there is a way to enable action extension programmatically in containing app so that the user don't need to enable it manually.
It's been a long time since the question was asked, but FWIW here is the answer. Yes, I programmatically invoke an action extension by using undocumented NSExtension interface. I learned about this strategy from this post https://ianmcdowell.net/blog/nsextension/. This design is in fact very much usable and technically speaking it works perfectly for me, except for limitations imposed by extensions themselves, particularly memory limitations. For instance, my action extension is limited to 16 Mb, which in my case was very impactful.
Regarding the fact that NSExtension interface is not documented, I opened a source code level support case with Apple to help me implement my design and I asked them about the legitimacy of this interface. The answer was that it would be totally fine if I used it and it should not negatively affect Apple review.
The post I linked to above provided a very useful blueprint, but I had to put in quite a lot of additional code to come up with a working solution. If there is interest in how I did it, I can put together some shareable snippets and post them here.
I'm new to iOS development and was wanting to know how to efficiently locate which kit, class to use to achieve certain things.
For example, I'm planning to build an app that heavily makes use of calendar events and I found that I should be looking at using something like eventkit to build upon but it's not clear for me within this kit which class to instantiate and which method to use in what order.
Can someone please direct me to a place where I can see some code examples of using a range of different kits?
I think you can learn things as you described from 'Reference'.
Two ways to check Apple Official References in Xcode. One is clicking the function name, parameter or those colorful keywords while you pushing the 'option'. The second way is using three fingers to touch those "keywords" slightly on the touchPad.
Or you can check many kits references by visiting iOS Developer Library (website). I'm also new to iOS Development, I wish things I said can help you.
I know that recent versions of iOS have added support for easy customization of the look and feel of its components through its "appearance" functionality. However, I'm not exactly artistically inclined.
Does anyone know of a resource that provides pre-packaged user interface customization kits that are easy to plugin using the iOS appearance APIs? I'm looking for high-quality look & feel, but also would like to see sample code showing how to integrate it into an application. I don't really care if its for purchase or free. I just would like something that looks really slick and high quality. Thoughts?
UPDATE: Okay, I found a site that does offer what I was looking for. AppDesignVault.com has pre-packaged app templates (graphics, code, etc.) for iOS applications. However, I find it hard to believe they're the only ones that offer this. Has anyone come across similar resources or packages?
Not exactly a drop-in replacement, but you might want to take a look at NUI which is an open-source UI styling library with theme support (themes are written in a CSS styled markup language). Another great resource to look for ready UI components is cocoa controls, again, not exactly drop-in and forgot, but still better than implementing it yourself (although the quality of the stuff there varies a lot).
I'm not aware of any drop-in replacement which offers ready made styles, but I hope these two get you somehow started.
There are so many more, right here.
Once you have those designs, here's a tutorial to actually implement them in iOS 6.
This is objc custom libs I like and use: http://www.objclibs.com/# . Maybe one of those will strike your fancy?
I have a big question about how newsstand works.
When you have to create a new magazine(issue), how do you do it?
I mean, Do I have to implement new code for each magazine (with new views and new view controllers) which doesn't look the same as the others and has interactive content? In this case, how do I add/upload/integrate them to my newsstand app which is already in the market?
In the case that It doesn't work in this way, How does it work?
Thank you very much in advance.
Your question really goes to the heart of how Apple has chosen to implement Newsstand. Basically, there are three possibilities for using Newsstand: use image/pdf content, use HTML5 content, and use the CoreText native API.
I take it from what you are saying that you would like to use the CoreText API. This is difficult to do in the Newsstand framework for the reason you suggest: you really are not supposed to upload a whole new app with each edition.
There are two possible solutions. The first is simply not to use Newsstand. Instead you can publish your magazine as an app, and simply upload a new app for each edition. This means you miss out on things such as subscriptions and the "double-listing" promotion of Newsstand, but you can make high-quality, native, custom interfaces.
The second is to do what I am in the process of doing right now, which is to develop something like an XML encoding that when loaded into your base app will generate the kind of interface you want.
At least that is my analysis so far. I would be so pleased to be told I'm wrong, really. But I do think this is one of those cases where Apple hasn't really thought through what they are offering. Maybe next year it will get better!
If you use the Baker framework you can download the interface elements (html, images) as "issues" and the code part (Baker framework) will stay the same.
To add a new issue you do the same as you do with downloading the PDFs using NKAssetDownload. If you're using Baker you will want to extract the whole "book" into the documents directory.