Date   

Re: To subclass or not to subclass, that is the question

Quincey Morris
 

On Oct 8, 2018, at 20:47 , Gerriet M. Denkmann <g@...> wrote:

“You should subclass UIActivity only if you want to provide custom services to the user. "

“This class must be subclassed before it can be used. "

So what? Kind of confusing.

It looks to me like the first quoted sentence is just poorly worded. I think it’s saying you should *use a UIActivity subclass* if you want to provide custom services.

Note that UIActivity is described in the documentation as an abstract class, so I doubt there’s any use-case where you’d instantiate one literally of that class.


Re: How to Delete AppID from Apple Developer Account

David Delmonte
 

From October 4, Apple has this new policy:

Managing apps in App Store Connect.

It's now easier to manage apps you no longer need in App Store Connect by removing them from your main view in My Apps, even if they haven't been submitted for approval. You must have the Legal or Admin role to remove apps. 

  1. From the homepage, click My Apps, then choose the app you want to remove.
  2. Scroll to the Additional Information section, then click Remove App.
  3. In the dialog that appears, click Remove.

You can restore a removed app at any time, as long as the app name is not currently in use by another developer.

  1. From the homepage, click My Apps.
  2. In the upper right-hand corner, click the arrow next to All Statuses.
  3. From the drop-down menu, choose Removed Apps.
  4. Choose the app you want to restore.
  5. Scroll to the Additional Information section, then click Restore App.
Hope this helps!

On Oct 4, 2018, at 12:56 PM, Dave <dave@...> wrote:

Hi,

On 4 Oct 2018, at 18:49, Peter Teeson via Groups.Io <peter.teeson@...> wrote:

are you perhaps logged in to the App store with this ID? 
If so would signing out and then trying to delete work?

I’m not sure what you mean by logged into the App Store with this ID, this is an App ID, you use a Developer/AppStore ID to log in store?

The app is question was just a test app, it has never been on the store, it was put into Test Flight, but it was just a test and I don’t think it was ever used.

All the Best
Dave


Re: To subclass or not to subclass, that is the question

Gerriet M. Denkmann
 

On 9 Oct 2018, at 10:47, Gerriet M. Denkmann <g@mdenkmann.de> wrote:

Documentation about UIActivity:

“You should subclass UIActivity only if you want to provide custom services to the user. "

“This class must be subclassed before it can be used. "

So what? Kind of confusing.

Maybe it works like this:

NSArray *activityItems = @[ someUrl ];
UIActivityViewController *vc = [ [UIActivityViewController alloc] initWithActivityItems: activityItems
applicationActivities: nil
];

// If (and only if) one wants to provide custom services to the user, then applicationActivities must *not* be nil, but contain one or more subclasses of UIActivity

vc.excludedActivityTypes = @[ everything except UIActivityTypeAirDrop ];
[ self presentViewController: vc …];


My current problem:
The UIActivityViewController has AirDrop (as it should) but it also has some other things, which do *not* make sense for my app at all:
One row with:
Copy to Documents
Copy to Files
Copy to PDF Expert
… More (Where one can switch on “Add to Notes”)
and another row with:
… More (Where one can switch on “Save to Files” and “Save in LINE Keep”)

I really just want AirDrop and nothing else.
How can this be accomplished?


One final point:

iOS → macOS:
My iOS device can copy “someUrl” to the Downloads folder of the recipient. Which is kind of ok.
But is there a way to specify a more specific destination?
Like the Application Support Folder of some app?

iOS → iOS
Here the AirDrop should only be done to another copy of my app.
Can this somehow be specified?

Gerriet.


To subclass or not to subclass, that is the question

Gerriet M. Denkmann
 

Documentation about UIActivity:

“You should subclass UIActivity only if you want to provide custom services to the user. "

“This class must be subclassed before it can be used. "

So what? Kind of confusing.

Gerriet.


Re: Designated initializers

Quincey Morris
 

On Oct 4, 2018, at 14:48 , James Walker <list2@...> wrote:

But the rules say that a designated initializer must call a superclass designated initializer, while a convenience initializer must call some other initializer of my own class.  Since initWithWindowNibName: is not a designated initializer of NSWindowController, it seems that my initializer can’t be either kind of initializer.

Yes, this is kinda broken for NSWindowController subclasses because “init(windowNibName:owner:)” kinda oughta be a designated initializer but isn’t.

What you should be able to do is define “convenience init(parameter:)” but no other inits. That will let all superclass inits (both designated and convenience) get inherited, and your “init(parameter:)” is then allowed to call “across” to another convenience init — “init(windowNibName:owner:)” in this case. So, this compiles:

    convenience init(parameter: String) {
        self.init(windowNibName: ) // <— ’self’ not ’super’ because it’s been inherited
    }

    



Designated initializers

James Walker
 

I was looking at the Xcode operation Edit > Convert > To Modern Objective-C Syntax, and what it does with NS_DESIGNATED_INITIALIZER markup.  I know, I'm late to the party.

I often have a subclass of NSWindowController with one initializer, say

(instancetype) initWithParameter: (NSString*) name;

that is implemented using -[NSWindowController initWithWindowNibName:].  But the rules say that a designated initializer must call a superclass designated initializer, while a convenience initializer must call some other initializer of my own class.  Since initWithWindowNibName: is not a designated initializer of NSWindowController, it seems that my initializer can’t be either kind of initializer.  Do I need to override NSWindowController’s designated initializers, plus override initWithWindowNibName:, and then have my own initializer call my own initWithWindowNibName:?  Seems like a lot of trouble for little benefit.  Nobody should ever be calling any other initializer of my subclass.


Re: How to Delete AppID from Apple Developer Account

Dave
 

Hi,

On 4 Oct 2018, at 18:49, Peter Teeson via Groups.Io <peter.teeson@...> wrote:

are you perhaps logged in to the App store with this ID? 
If so would signing out and then trying to delete work?

I’m not sure what you mean by logged into the App Store with this ID, this is an App ID, you use a Developer/AppStore ID to log in store?

The app is question was just a test app, it has never been on the store, it was put into Test Flight, but it was just a test and I don’t think it was ever used.

All the Best
Dave


Re: Problem with Manual Layout in Test App

Dave
 

Hi,

I’ve added logging to the resizeWithOldSuperviewSize: method (see below). Notice that LTWWindowTrackerView:: resizeWithOldSuperviewSize is never called, not sure why, but if I remove the auto-resize mask from it, it calls it, still doesn’t work though.



The first logging Group is the window at its big size, I then quickly resize it to the window Minumum and last Group shows the rectangles as being ok, however on the screen it looks like the attached image.



Cheers
Dave

—————————————————————————————

Window at Big Size:

LTWSimpleBlueView: Superview Bounds: {{0, 0}, {1811, 1018}}  Frame {{20, 20}, {1771, 978}}
LTWSimpleGreenView: Superview Bounds: {{0, 0}, {1851, 1058}}  Frame {{20, 20}, {1811, 1018}}
LTWSimpleBaseView: Superview Bounds: {{0, 0}, {1851, 1058}}  Frame {{0, 0}, {1851, 1058}}

----------------------------------------------------------

LTWSimpleBlueView: Superview Bounds: {{0, 0}, {1788, 1018}}  Frame {{20, 20}, {1748, 978}}
LTWSimpleGreenView: Superview Bounds: {{0, 0}, {1828, 1058}}  Frame {{20, 20}, {1788, 1018}}
LTWSimpleBaseView: Superview Bounds: {{0, 0}, {1828, 1058}}  Frame {{0, 0}, {1828, 1058}}

----------------------------------------------------------

LTWSimpleBlueView: Superview Bounds: {{0, 0}, {1743, 980}}  Frame {{20, 20}, {1703, 940}}
LTWSimpleGreenView: Superview Bounds: {{0, 0}, {1783, 1020}}  Frame {{20, 20}, {1743, 980}}
LTWSimpleBaseView: Superview Bounds: {{0, 0}, {1783, 1020}}  Frame {{0, 0}, {1783, 1020}}

----------------------------------------------------------

LTWSimpleBlueView: Superview Bounds: {{0, 0}, {1618, 925}}  Frame {{20, 20}, {1578, 885}}
LTWSimpleGreenView: Superview Bounds: {{0, 0}, {1658, 965}}  Frame {{20, 20}, {1618, 925}}
LTWSimpleBaseView: Superview Bounds: {{0, 0}, {1658, 965}}  Frame {{0, 0}, {1658, 965}}

----------------------------------------------------------

LTWSimpleBlueView: Superview Bounds: {{0, 0}, {1405, 819}}  Frame {{20, 20}, {1365, 779}}
LTWSimpleGreenView: Superview Bounds: {{0, 0}, {1445, 859}}  Frame {{20, 20}, {1405, 819}}
LTWSimpleBaseView: Superview Bounds: {{0, 0}, {1445, 859}}  Frame {{0, 0}, {1445, 859}}

----------------------------------------------------------

LTWSimpleBlueView: Superview Bounds: {{0, 0}, {1159, 691}}  Frame {{20, 20}, {1119, 651}}
LTWSimpleGreenView: Superview Bounds: {{0, 0}, {1199, 731}}  Frame {{20, 20}, {1159, 691}}
LTWSimpleBaseView: Superview Bounds: {{0, 0}, {1199, 731}}  Frame {{0, 0}, {1199, 731}}

----------------------------------------------------------

LTWSimpleBlueView: Superview Bounds: {{0, 0}, {187, 136}}  Frame {{20, 20}, {147, 96}}
LTWSimpleGreenView: Superview Bounds: {{0, 0}, {227, 176}}  Frame {{20, 20}, {187, 136}}
LTWSimpleBaseView: Superview Bounds: {{0, 0}, {227, 176}}  Frame {{0, 0}, {227, 176}}

—————————————————————————————
Window at Smallest Size:

LTWSimpleBlueView: Superview Bounds: {{0, 0}, {60, 60}}  Frame {{20, 20}, {20, 20}}
LTWSimpleGreenView: Superview Bounds: {{0, 0}, {100, 100}}  Frame {{20, 20}, {60, 60}}
LTWSimpleBaseView: Superview Bounds: {{0, 0}, {100, 100}}  Frame {{0, 0}, {100, 100}}






Re: How to Delete AppID from Apple Developer Account

Peter Teeson
 

are you perhaps logged in to the App store with this ID? 
If so would signing out and then trying to delete work?

On Oct 4, 2018, at 12:38 PM, Dave <dave@...> wrote:

Hi,

OMG! You’re not serious! You can’t delete it? Could someone please confirm or deny this?

If you can’t then I’m speechless! In fact I’m laughing my head off, have Apple really gotten so bad that they can’t be bothered to provide a delete button?

All the Best
Dave


On 4 Oct 2018, at 18:33, David Delmonte via Groups.Io <ddelmonte@...> wrote:

Over time, I had built up a lot of unneeded AppIds. They started to cause me problems, especially as my sight has deteriorated. I contacted the AppConnect team  and asked them to help. They made a one-time exception for me. I cant say that they would do that for others, but until this process is improved — where we can delete AppIds, Certs etc, it’s worth asking...

On Oct 4, 2018, at 12:08 PM, Dave <dave@...> wrote:

Hi,

I have an AppID that I want to delete from my Apple Developer account. I select it and Click Edit, Scroll down to the bottom and Click Delete, I then get this message:

The App ID ‘xxxxxxxxx.com.looktowindward.LTWTester' appears to be in use by the App Store, so it can not be removed at this time.

I don’t have this App on the App Store, so not sure what to do now, I just want rid of it! How can I delete the App.

I also have the same problem with the App inside TestFlight, but I’m hoping that it will be removed automatically if I can just delete the App ID!

Any help greatly appreciated
All the Best
Dave





Re: How to Delete AppID from Apple Developer Account

Dave
 

Hi,

OMG! You’re not serious! You can’t delete it? Could someone please confirm or deny this?

If you can’t then I’m speechless! In fact I’m laughing my head off, have Apple really gotten so bad that they can’t be bothered to provide a delete button?

All the Best
Dave


On 4 Oct 2018, at 18:33, David Delmonte via Groups.Io <ddelmonte@...> wrote:

Over time, I had built up a lot of unneeded AppIds. They started to cause me problems, especially as my sight has deteriorated. I contacted the AppConnect team  and asked them to help. They made a one-time exception for me. I cant say that they would do that for others, but until this process is improved — where we can delete AppIds, Certs etc, it’s worth asking...

On Oct 4, 2018, at 12:08 PM, Dave <dave@...> wrote:

Hi,

I have an AppID that I want to delete from my Apple Developer account. I select it and Click Edit, Scroll down to the bottom and Click Delete, I then get this message:

The App ID ‘xxxxxxxxx.com.looktowindward.LTWTester' appears to be in use by the App Store, so it can not be removed at this time.

I don’t have this App on the App Store, so not sure what to do now, I just want rid of it! How can I delete the App.

I also have the same problem with the App inside TestFlight, but I’m hoping that it will be removed automatically if I can just delete the App ID!

Any help greatly appreciated
All the Best
Dave




Re: How to Delete AppID from Apple Developer Account

David Delmonte
 

Over time, I had built up a lot of unneeded AppIds. They started to cause me problems, especially as my sight has deteriorated. I contacted the AppConnect team  and asked them to help. They made a one-time exception for me. I cant say that they would do that for others, but until this process is improved — where we can delete AppIds, Certs etc, it’s worth asking...

On Oct 4, 2018, at 12:08 PM, Dave <dave@...> wrote:

Hi,

I have an AppID that I want to delete from my Apple Developer account. I select it and Click Edit, Scroll down to the bottom and Click Delete, I then get this message:

The App ID ‘xxxxxxxxx.com.looktowindward.LTWTester' appears to be in use by the App Store, so it can not be removed at this time.

I don’t have this App on the App Store, so not sure what to do now, I just want rid of it! How can I delete the App.

I also have the same problem with the App inside TestFlight, but I’m hoping that it will be removed automatically if I can just delete the App ID!

Any help greatly appreciated
All the Best
Dave



How to Delete AppID from Apple Developer Account

Dave
 

Hi,

I have an AppID that I want to delete from my Apple Developer account. I select it and Click Edit, Scroll down to the bottom and Click Delete, I then get this message:

The App ID ‘xxxxxxxxx.com.looktowindward.LTWTester' appears to be in use by the App Store, so it can not be removed at this time.

I don’t have this App on the App Store, so not sure what to do now, I just want rid of it! How can I delete the App.

I also have the same problem with the App inside TestFlight, but I’m hoping that it will be removed automatically if I can just delete the App ID!

Any help greatly appreciated
All the Best
Dave


Re: Problem with Manual Layout in Test App

Dave
 

Hi Keary,

Thanks for taking the time to look at this.

On 4 Oct 2018, at 16:49, Keary Suska <cocoa-dev@esoteritech.com> wrote:

I am not sure if you are just trying a test case here, but what you are shooting for can be done with just autoresize mask. Comment out all the code and add the vertical and horizontal resizing options (the inner “cross”). Set these for all views (i.e. all masks on). You see in IB that you can resize the view at any speed and all views retain their spacing.
Yes, just a test case here, in the real app, it does a lot of elaborate things.


Other notes: I wouldn’t set autoresizesSubviews or translatesAutoresizingMaskIntoConstraints in code. Set it in IB and it is done. Setting them might cause unintended side effects. Also, do you call super? I wouldn’t if you want to control resizing all by yourself. Do you log before/after frame sizes both in super view and subview, to make sure they look like values you expect? You might also want to compare these values with just using autoresize mask to see if there are any differences.
I’ve tried various combinations of settings on this, but not found the magic one yet.

I will look at your project if you like.
Sent offline.

Thanks a lot
All the Best
Dave



Keary Suska
Esoteritech, Inc.
"Demystifying technology for your home or business"

On Oct 4, 2018, at 7:07 AM, Dave <dave@looktowindward.com> wrote:

Manual Layout on Mac using the “resizeWithOldSuperviewSize” way of doing things.

Hi,

I have a simple app which works 99% of the time, however every now and then it screws up. The app just has 4 views, all with a different background colour. All I want to happen for one view to track the bounds of the Window as the user resizes it and for all the other views to be inset within their superview by 20,20 pixels.

The storyboard file (Main.storyboard) has Auto Layout tuned off in IB.

The App has a View Hierarchy as follows:

LTWSimpleWindowController
LTWSimpleWindow

LTWSimpleViewController
LTWWindowTrackerView .view property
LTWSimpleBaseView
LTWSimpleGreenView
LTWSimpleBlueView

The above are Class names in the project.

LTWSimpleWindow
Has ContentSize and MinSize set to 100,100 in IB.


LTWSimpleViewController
Has no real code, but logs the viewDidLoad method.


LTWWindowTrackerView
This view is set as the root view of the view controller (e.g. the .view property).
Has background color set to Red.


LTWSimpleBaseView
Has background color set to Black.
This view just sets its Frame Rect to the superview bounds Rect -
self.frame = self.superview.bounds
self.autoresizesSubviews = YES;
self.translatesAutoresizingMaskIntoConstraints = NO;


LTWSimpleGreenView
Has background color set to Green.
This view just sets its Frame Rect to the an inset of the superview bounds -
self.frame = NSInsetRect(self.superview.bounds,20,20);
self.autoresizesSubviews = YES;
self.translatesAutoresizingMaskIntoConstraints = NO;

LTWSimpleBlueView
Has background color set to Blue.
This view just sets its Frame Rect to the an inset of the superview bounds -
self.frame = NSInsetRect(self.superview.bounds,20,20);
self.autoresizesSubviews = YES;
self.translatesAutoresizingMaskIntoConstraints = NO;


The initWithCoder: method is overridden and the autoresizesSubviews and translatesAutoresizingMaskIntoConstraints properties are set here.
The resizeWithOldSuperviewSize: method is overridden and the frame is set here.
The isFlipped method is overridden and returns YES,

Super is called in both methods.

The NIB is set with the views initially in place, e.g. inset my 20,20 in their parent views.

I’m really confused as to what to set as the auto-resizing mask of all the views, at present its set as follows:

LTWWindowTrackerView has the markers on the outside edge of the view are set (Top, Left, Bottom, Right) and the ones on the inside of the view are off. in IB

All the other views have their autoresize masks off, e.g. no marks set in IB.

Is this correct?

When I run the App, the Window displays ok initially, if I resize the window *slowly* then it works ok. If however I make the window really big and then close it up to the minimum size *very-quickly* then LTWSimpleBlueView and LTWSimpleGreenView are not positioned correctly.

I’ve attached 3 images (not sure if they will get through), showing the initial window, the big window and the result of making it small again very quickly.

I’ve more or less got everything else working but just want to sort out this last problem and its driving me nuts! I can’t seem to find any working example of using the “resizeWithOldSuperviewSize” way of doing things.

I can send the Test app if anyone wants to take a look.

All the Best
Dave


<PastedGraphic-1.png>

<PastedGraphic-2.png>

<PastedGraphic-3.png>






























Re: Problem with Manual Layout in Test App

Keary Suska
 

I am not sure if you are just trying a test case here, but what you are shooting for can be done with just autoresize mask. Comment out all the code and add the vertical and horizontal resizing options (the inner “cross”). Set these for all views (i.e. all masks on). You see in IB that you can resize the view at any speed and all views retain their spacing.

Other notes: I wouldn’t set autoresizesSubviews or translatesAutoresizingMaskIntoConstraints in code. Set it in IB and it is done. Setting them might cause unintended side effects. Also, do you call super? I wouldn’t if you want to control resizing all by yourself. Do you log before/after frame sizes both in super view and subview, to make sure they look like values you expect? You might also want to compare these values with just using autoresize mask to see if there are any differences.

I will look at your project if you like.

Keary Suska
Esoteritech, Inc.
"Demystifying technology for your home or business"

On Oct 4, 2018, at 7:07 AM, Dave <dave@looktowindward.com> wrote:

Manual Layout on Mac using the “resizeWithOldSuperviewSize” way of doing things.

Hi,

I have a simple app which works 99% of the time, however every now and then it screws up. The app just has 4 views, all with a different background colour. All I want to happen for one view to track the bounds of the Window as the user resizes it and for all the other views to be inset within their superview by 20,20 pixels.

The storyboard file (Main.storyboard) has Auto Layout tuned off in IB.

The App has a View Hierarchy as follows:

LTWSimpleWindowController
LTWSimpleWindow

LTWSimpleViewController
LTWWindowTrackerView .view property
LTWSimpleBaseView
LTWSimpleGreenView
LTWSimpleBlueView

The above are Class names in the project.

LTWSimpleWindow
Has ContentSize and MinSize set to 100,100 in IB.


LTWSimpleViewController
Has no real code, but logs the viewDidLoad method.


LTWWindowTrackerView
This view is set as the root view of the view controller (e.g. the .view property).
Has background color set to Red.


LTWSimpleBaseView
Has background color set to Black.
This view just sets its Frame Rect to the superview bounds Rect -
self.frame = self.superview.bounds
self.autoresizesSubviews = YES;
self.translatesAutoresizingMaskIntoConstraints = NO;


LTWSimpleGreenView
Has background color set to Green.
This view just sets its Frame Rect to the an inset of the superview bounds -
self.frame = NSInsetRect(self.superview.bounds,20,20);
self.autoresizesSubviews = YES;
self.translatesAutoresizingMaskIntoConstraints = NO;

LTWSimpleBlueView
Has background color set to Blue.
This view just sets its Frame Rect to the an inset of the superview bounds -
self.frame = NSInsetRect(self.superview.bounds,20,20);
self.autoresizesSubviews = YES;
self.translatesAutoresizingMaskIntoConstraints = NO;


The initWithCoder: method is overridden and the autoresizesSubviews and translatesAutoresizingMaskIntoConstraints properties are set here.
The resizeWithOldSuperviewSize: method is overridden and the frame is set here.
The isFlipped method is overridden and returns YES,

Super is called in both methods.

The NIB is set with the views initially in place, e.g. inset my 20,20 in their parent views.

I’m really confused as to what to set as the auto-resizing mask of all the views, at present its set as follows:

LTWWindowTrackerView has the markers on the outside edge of the view are set (Top, Left, Bottom, Right) and the ones on the inside of the view are off. in IB

All the other views have their autoresize masks off, e.g. no marks set in IB.

Is this correct?

When I run the App, the Window displays ok initially, if I resize the window *slowly* then it works ok. If however I make the window really big and then close it up to the minimum size *very-quickly* then LTWSimpleBlueView and LTWSimpleGreenView are not positioned correctly.

I’ve attached 3 images (not sure if they will get through), showing the initial window, the big window and the result of making it small again very quickly.

I’ve more or less got everything else working but just want to sort out this last problem and its driving me nuts! I can’t seem to find any working example of using the “resizeWithOldSuperviewSize” way of doing things.

I can send the Test app if anyone wants to take a look.

All the Best
Dave


<PastedGraphic-1.png>

<PastedGraphic-2.png>

<PastedGraphic-3.png>




























Re: Assigning a Tester for an iOS app???

Dave
 

I’ve logged into the App Store Connect page and under “MyApps” I see an old Application that I want to delete, however I can’t find a way to get rid of it! Any ideas? 

On 4 Oct 2018, at 15:42, Dave <dave@...> wrote:

Thanks a million Alex, Test Flight looks like the way to go!

Cheers
Dave

On 4 Oct 2018, at 15:11, Alex Zavatone via Groups.Io <zav@...> wrote:

And you can also add the UDID of the tester’s device to a provisioning profile, and email the app to them.  I’ve used Configurator to add the app to the device now that iTunes isn’t the easiest way to add an app to a tester’s device.

On Oct 4, 2018, at 6:41 AM, Dave <dave@...> wrote:

Hi All,

I’m a but rusty on this since I haven’t had to worry about it for a while as I’ve been working on Mac.

I have an active Apple Developer account.

I have an iOS app that I’d like to send to someone for testing. How do I go about doing this, the last time I had to do something like this you assigned someone as a Tester which allowed them to run a copy of the App for 30 days or some such.

Is this still possible? If someone could point to the right tool or documentation for this I’d be really grateful.

Thanks in advance.

All the Best
Dave










Re: Assigning a Tester for an iOS app???

Dave
 

Thanks a million Alex, Test Flight looks like the way to go!

Cheers
Dave

On 4 Oct 2018, at 15:11, Alex Zavatone via Groups.Io <zav=mac.com@groups.io> wrote:

And you can also add the UDID of the tester’s device to a provisioning profile, and email the app to them. I’ve used Configurator to add the app to the device now that iTunes isn’t the easiest way to add an app to a tester’s device.

On Oct 4, 2018, at 6:41 AM, Dave <dave@looktowindward.com> wrote:

Hi All,

I’m a but rusty on this since I haven’t had to worry about it for a while as I’ve been working on Mac.

I have an active Apple Developer account.

I have an iOS app that I’d like to send to someone for testing. How do I go about doing this, the last time I had to do something like this you assigned someone as a Tester which allowed them to run a copy of the App for 30 days or some such.

Is this still possible? If someone could point to the right tool or documentation for this I’d be really grateful.

Thanks in advance.

All the Best
Dave




Re: Assigning a Tester for an iOS app???

Alex Zavatone
 

And you can also add the UDID of the tester’s device to a provisioning profile, and email the app to them. I’ve used Configurator to add the app to the device now that iTunes isn’t the easiest way to add an app to a tester’s device.

On Oct 4, 2018, at 6:41 AM, Dave <dave@looktowindward.com> wrote:

Hi All,

I’m a but rusty on this since I haven’t had to worry about it for a while as I’ve been working on Mac.

I have an active Apple Developer account.

I have an iOS app that I’d like to send to someone for testing. How do I go about doing this, the last time I had to do something like this you assigned someone as a Tester which allowed them to run a copy of the App for 30 days or some such.

Is this still possible? If someone could point to the right tool or documentation for this I’d be really grateful.

Thanks in advance.

All the Best
Dave


Re: Assigning a Tester for an iOS app???

Alex Zavatone
 

Using TestFlight, you can do this. There are videos you can search for on Apple’s site that show you how to do it.

On Oct 4, 2018, at 6:41 AM, Dave <dave@looktowindward.com> wrote:

Hi All,

I’m a but rusty on this since I haven’t had to worry about it for a while as I’ve been working on Mac.

I have an active Apple Developer account.

I have an iOS app that I’d like to send to someone for testing. How do I go about doing this, the last time I had to do something like this you assigned someone as a Tester which allowed them to run a copy of the App for 30 days or some such.

Is this still possible? If someone could point to the right tool or documentation for this I’d be really grateful.

Thanks in advance.

All the Best
Dave


Problem with Manual Layout in Test App

Dave
 

Manual Layout on Mac using the “resizeWithOldSuperviewSize” way of doing things.

Hi,

I have a simple app which works 99% of the time, however every now and then it screws up. The app just has 4 views, all with a different background colour. All I want to happen for one view to track the bounds of the Window as the user resizes it and for all the other views to be inset within their superview by 20,20 pixels. 

The storyboard file (Main.storyboard) has Auto Layout tuned off in IB.

The App has a View Hierarchy as follows:

LTWSimpleWindowController
LTWSimpleWindow

LTWSimpleViewController
LTWWindowTrackerView .view property
LTWSimpleBaseView
LTWSimpleGreenView
LTWSimpleBlueView

The above are Class names in the project.

LTWSimpleWindow
Has ContentSize and MinSize set to 100,100 in IB.


LTWSimpleViewController
Has no real code, but logs the viewDidLoad method.


LTWWindowTrackerView
This view is set as the root view of the view controller (e.g. the .view property).
Has background color set to Red.


LTWSimpleBaseView
Has background color set to Black.
This view just sets its Frame Rect to the superview bounds Rect - 
self.frame = self.superview.bounds 
self.autoresizesSubviews = YES;
self.translatesAutoresizingMaskIntoConstraints = NO;


LTWSimpleGreenView
Has background color set to Green.
This view just sets its Frame Rect to the an inset of the superview bounds - 
self.frame = NSInsetRect(self.superview.bounds,20,20);
self.autoresizesSubviews = YES;
self.translatesAutoresizingMaskIntoConstraints = NO;

LTWSimpleBlueView
Has background color set to Blue.
This view just sets its Frame Rect to the an inset of the superview bounds - 
self.frame = NSInsetRect(self.superview.bounds,20,20);
self.autoresizesSubviews = YES;
self.translatesAutoresizingMaskIntoConstraints = NO;
 

The initWithCoder: method is overridden and the autoresizesSubviews and translatesAutoresizingMaskIntoConstraints properties are set here.
The resizeWithOldSuperviewSize: method is overridden and the frame is set here.
The isFlipped method is overridden and returns YES,

Super is called in both methods.

The NIB is set with the views initially in place, e.g. inset my 20,20 in their parent views.

I’m really confused as to what to set as the auto-resizing mask of all the views, at present its set as follows:

LTWWindowTrackerView has the markers on the outside edge of the view are set (Top, Left, Bottom, Right) and the ones on the inside of the view are off. in IB

All the other views have their autoresize masks off, e.g. no marks set in IB.

Is this correct?

When I run the App, the Window displays ok initially, if I resize the window *slowly* then it works ok. If however I make the window really big and then close it up to the minimum size *very-quickly* then  LTWSimpleBlueView and LTWSimpleGreenView are not positioned correctly. 

I’ve attached 3 images (not sure if they will get through), showing the initial window, the big window and the result of making it small again very quickly.

I’ve more or less got everything else working but just want to sort out this last problem and its driving me nuts! I can’t seem to find any working example of using the  “resizeWithOldSuperviewSize” way of doing things.

I can send the Test app if anyone wants to take a look.

All the Best
Dave
































Re: Segue

Dave
 

Hi,

I think you misunderstood what I meant, of course there maybe complex situations where using Storyboard/Segues/Auto-layout are a good idea, and one you describe maybe the best (or only) way to do it.

What I meant is that if you have a very simple case (on the Mac) whereby you just want a Splash Screen to display for a few seconds and then another window to appear (think a board game), then really what is the point of using a Storyboard (apart from the fact that this is the default action in XCode if you create a new single window App)? I’m asking if there are any benefits or if you *have* to use storyboards in order to make it work correctly.

The reason I ask, is because as an experiment (in a Test App) I broke the components of the Storyboard XCode generated into separate NIBs and the App that worked using a Storyboard began to behave differently and I’m trying to figure out if somehow a Storyboard is *needed* to make Manual Layout work.
By this I mean something that uses the:

-(void) resizeWithOldSuperviewSize:(NSSize) theOldSuperViewSize;

way of doing things, rather than “layout” and constraints.

This is dangerously close to an insult — I don't intend one, this is for the archive — but make sure it's not just a matter of sentiment. You still run into people who won't use Instruments (except at release minus one week) or even a debugger, because they feel moment-to-moment pressure telling them they don't have time to learn.
I really can’t see what could be construed at an insult! But why would you run instruments unless they is a problem? I used to run it quite often in order to check for leaks, but since ARC has been around I’ve not found the need. Especially since I “Analyse” quite often. As for the using the debugger, I don’t know any developer that doesn’t use it, however, if you sprinkle Logging about the place, this can be quicker at identifying where the problem lies than stepping through with the debugger. I’ve found a combination of the two to be the most effective tool in debugging.

All the Best
Dave

621 - 640 of 1454