<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://performiq.com/kb/index.php?action=history&amp;feed=atom&amp;title=IOS_10_Problems</id>
	<title>IOS 10 Problems - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://performiq.com/kb/index.php?action=history&amp;feed=atom&amp;title=IOS_10_Problems"/>
	<link rel="alternate" type="text/html" href="https://performiq.com/kb/index.php?title=IOS_10_Problems&amp;action=history"/>
	<updated>2026-05-18T17:26:23Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.37.1</generator>
	<entry>
		<id>https://performiq.com/kb/index.php?title=IOS_10_Problems&amp;diff=5141&amp;oldid=prev</id>
		<title>PeterHarding: Created page with &quot;=Some Notes on Problems I&#039;ve Encountered=  ==iOS 10: “&quot;[App] if we&#039;re in the real pre-commit handler we can&#039;t actually add any new fences due to CA restriction==  See - http...&quot;</title>
		<link rel="alternate" type="text/html" href="https://performiq.com/kb/index.php?title=IOS_10_Problems&amp;diff=5141&amp;oldid=prev"/>
		<updated>2021-10-16T10:31:15Z</updated>

		<summary type="html">&lt;p&gt;Created page with &amp;quot;=Some Notes on Problems I&amp;#039;ve Encountered=  ==iOS 10: “&amp;quot;[App] if we&amp;#039;re in the real pre-commit handler we can&amp;#039;t actually add any new fences due to CA restriction==  See - http...&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;=Some Notes on Problems I&amp;#039;ve Encountered=&lt;br /&gt;
&lt;br /&gt;
==iOS 10: “&amp;quot;[App] if we&amp;#039;re in the real pre-commit handler we can&amp;#039;t actually add any new fences due to CA restriction==&lt;br /&gt;
&lt;br /&gt;
See - http://stackoverflow.com/questions/38458170/ios-10-app-if-were-in-the-real-pre-commit-handler-we-cant-actually-add-any&lt;br /&gt;
&lt;br /&gt;
This fixed it -	In your Xcode UI:&lt;br /&gt;
&lt;br /&gt;
* Click on your active scheme name right next to the Stop button&lt;br /&gt;
* Click on Edit Scheme....&lt;br /&gt;
* in Run (Debug) select the Arguments tab&lt;br /&gt;
* in Environment Variables click &amp;#039;+&amp;#039;&lt;br /&gt;
* add the variable: OS_ACTIVITY_MODE with Value: disable&lt;br /&gt;
&lt;br /&gt;
=How do I Add an ActivityIndicator?=&lt;br /&gt;
&lt;br /&gt;
I found this a useful reference - http://stackoverflow.com/questions/2638120/can-i-change-the-size-of-uiactivityindicator&lt;br /&gt;
&lt;br /&gt;
Added the following to my (TableView)ViewController to get an ActivityIndicator which data was requested (over the Internet) and loaded into the TableView&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    var activityIndicator: UIActivityIndicatorView?&lt;br /&gt;
   &lt;br /&gt;
    private var data = [Data]()&lt;br /&gt;
    {&lt;br /&gt;
        didSet {&lt;br /&gt;
            tableView.reloadData()&lt;br /&gt;
            activityIndicator?.stopAnimating()    &lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
...&lt;br /&gt;
&lt;br /&gt;
    func startActivityIndicator(_ scale: CGFloat) -&amp;gt; UIActivityIndicatorView?&lt;br /&gt;
    {&lt;br /&gt;
        let ai = UIActivityIndicatorView(activityIndicatorStyle: UIActivityIndicatorViewStyle.gray)&lt;br /&gt;
&lt;br /&gt;
        ai.frame = CGRect(x: 0, y: 0, width: 50, height: 50)&lt;br /&gt;
        &lt;br /&gt;
        ai.scale(factor: 2.0)&lt;br /&gt;
        &lt;br /&gt;
        // let transform: CGAffineTransform = CGAffineTransform(scaleX: scale, y: scale)&lt;br /&gt;
        &lt;br /&gt;
        // ai.transform = transform&lt;br /&gt;
        &lt;br /&gt;
        ai.center = self.view.center&lt;br /&gt;
        &lt;br /&gt;
        ai.startAnimating()&lt;br /&gt;
        &lt;br /&gt;
        self.view.addSubview(ai)&lt;br /&gt;
        &lt;br /&gt;
        return ai&lt;br /&gt;
        &lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
...&lt;br /&gt;
&lt;br /&gt;
    private func loadData()&lt;br /&gt;
    {  &lt;br /&gt;
        activityIndicator = startActivityIndicator(2.0)&lt;br /&gt;
&lt;br /&gt;
        let request = DataRequest()&lt;br /&gt;
&lt;br /&gt;
        request.fetchData { [weak self] newData in&lt;br /&gt;
            self?.data = newData&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==How do I Scale It?==&lt;br /&gt;
&lt;br /&gt;
Nice solution from StackOverflow link was to add an extension to the ViewController source file:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
extension UIActivityIndicatorView {&lt;br /&gt;
    func scale(factor: CGFloat) {&lt;br /&gt;
        guard factor &amp;gt; 0.0 else { return }&lt;br /&gt;
        &lt;br /&gt;
        transform = CGAffineTransform(scaleX: factor, y: factor)&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Waltzing with the Software Keyboard=&lt;br /&gt;
&lt;br /&gt;
I have a TextField in a Navigation Bar which I want to use to enter some search text.  When I give focus to the TextField the keyboard appears.  I am still working on getting this to close the keyboard once it is shown:&lt;br /&gt;
&lt;br /&gt;
A Google search turned up this - http://stackoverflow.com/questions/18755410/how-to-dismiss-keyboard-ios-programmatically&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    @IBOutlet weak var searchTextField: UITextField!&lt;br /&gt;
    &lt;br /&gt;
...&lt;br /&gt;
&lt;br /&gt;
    override func viewDidLoad()&lt;br /&gt;
    {&lt;br /&gt;
        super.viewDidLoad()&lt;br /&gt;
&lt;br /&gt;
        ...&lt;br /&gt;
&lt;br /&gt;
        let tap = UITapGestureRecognizer(target: self, action: #selector(onTouchGesture))&lt;br /&gt;
        &lt;br /&gt;
        self.view.addGestureRecognizer(tap)&lt;br /&gt;
        &lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    func textFieldShouldReturn(textField: UITextField) -&amp;gt; Bool&lt;br /&gt;
    {&lt;br /&gt;
        if (textField.returnKeyType == UIReturnKeyType.default)&lt;br /&gt;
        {&lt;br /&gt;
            if let next = textField.superview?.viewWithTag(textField.tag+1) as? UITextField&lt;br /&gt;
            {&lt;br /&gt;
                next.becomeFirstResponder()&lt;br /&gt;
                return false&lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
        &lt;br /&gt;
        textField.resignFirstResponder()&lt;br /&gt;
        &lt;br /&gt;
        return false&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    func onTouchGesture()&lt;br /&gt;
    {&lt;br /&gt;
        searchTextField?.resignFirstResponder()&lt;br /&gt;
    &lt;br /&gt;
        self.view.endEditing(true)&lt;br /&gt;
    }&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The Tap recognizer works.  But I haven&amp;#039;t managed to do a resignFirstResponder() on the TextField.&lt;br /&gt;
&lt;br /&gt;
Added an IBOutlet to reference the TextField and used this to send a resignFirstResponder() message when I tap outside the keyboard.  This much works but isn&amp;#039;t the final solution.&lt;br /&gt;
&lt;br /&gt;
Sending an endEditing message to the searchTextField works and seems cleaner:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    func onTouchGesture()&lt;br /&gt;
    {&lt;br /&gt;
        // searchTextField?.resignFirstResponder()&lt;br /&gt;
    &lt;br /&gt;
        searchTextField?.endEditing(true)&lt;br /&gt;
    }&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
These look useful:&lt;br /&gt;
&lt;br /&gt;
* https://grokswift.com/uitextfield/&lt;br /&gt;
* https://developer.apple.com/library/content/documentation/StringsTextFonts/Conceptual/TextAndWebiPhoneOS/ManageTextFieldTextViews/ManageTextFieldTextViews.html&lt;br /&gt;
&lt;br /&gt;
[[Category:IOS]]&lt;/div&gt;</summary>
		<author><name>PeterHarding</name></author>
	</entry>
</feed>